Posts Tagged ‘XML’

Playr 2.0 is coming!

Published by Ronny on November 12th, 2008 in Actionscript, Flash, General, Open-source, Projects. No comments

I just wanted to update you guys on how the update for the next version of Playr is progressing.

In the past week, I’ve been pretty busy adding the finishing  touches to the features and fixing the last few bugs that popped up. Most of the last-minute changes are a result of using the class in one of my own projects.

It’s then when I realized I’m missing some key features like adding the music directory, and some properties of the PlayrEvents. I also added some ear candy like fadeIn() and fadeOut() methods.

On a more functional note: I’ve abstracted the playlist to an independent class. So now you’re provided with lots and lots of ways to customize and manage your playlists.

The shuffle mode is now smart. In English that means the playlist remembers what songs have played and which ones haven’t.

Finally I’m happy to tell you guys won’t ever have to write an XML playlist file yourself. I’ve got a PHP4 and PHP5 version of PlayrDiscovr which reads a directory and returns the corresponding XML listing the tracks and their properties.
On top of that, I’ve got some help from other people (I still need to contact you guys) who are willing to help me out with building PlayrDiscover in ASP, Ruby and Python.

Even though I’m listing all of the new features, the Playr class is still the easiest way of implementing any kind of sound-feature in any Flash/Flex/AIR application. But the simplicity shouldn’t be a limitation, which it isn’t: you’re still able to build full-feature media-playing applications.

One of the little challenges I still have to tackle is the Tween problem. I’ve implemented fadeIn() and fadeOut() methods. Those methods actually tween the volume property of the Playr instance. The problem with that is when using the Playr class in a Flex project, you get a cool error message telling you it can’t import fl.transitions (which is the class package for the Tween class and the easing package).
I still haven’t figured out how to work around this problem. If any of you have any suggestion on this problem, feel free to tell me about it.

I plan on releasing Playr 2.0 in the coming week (or 2) depending on PlayrDiscovr impementations, final changes, demo’s and site development (yes, I’m building a dedicated site for Playr ;) ) Feel free to suggest other implementations you’d like :)

Flash Lite en basic HTTP auth

Published by Ronny on September 21st, 2008 in Actionscript, Flash, Tutorial. No comments

Ik ben de laatste dagen erg druk bezig geweest met een (erg cool) Flash Lite project (waar ik binnenkort eindelijk over zal schrijven). Hoewel deze post over mijn ervaring in Flash Lite gaat is het in Actionscript 2 voor Flash Player ook van toepassing. Voor Actionscript 3 zal de werkwijze vrijwel analoog zijn.

Tijdens het ontwikkelen van de applicatie ben ik op het probleem gestoten dat ik data moest inladen die gebruikersspecifiek waren. Daarenboven zat er ook gevoelige data bij, die dus beveiligd moest verstuurd worden.

Mijn collega (die de server-side van het project ontwikkelt) stelde een aantal mogelijkheden voor waaronder basic HTTP authentication. Dit leek me een goede manier om het te proberen. Jammer genoeg bleven mijn zoektochten op Google naar duidelijke uitleg onbeantwoord. Door het samenrapen van een 3 tutorials en bronbestanden had ik het eindelijk door.

In feite is basic HTTP auth in Flash (Lite) echt doodsimpel. (Ik versta niet waarom iedereen daar altijd zo’n rond-de-pot-gedraai aan toevoegd.)

To the point: Stel ik wil XML inladen (mbv Actionscript 2). Dat doen we over het algemeen zo:

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xmlComplete;
xml.load('http://example.com/somepage.php');

function xmlComplete(success){
	if(success){
		//logica komt hier
	}
}

Heel basic, zonder authentication. Niets nieuws, dus. Maar wat als somepage.php je om een gebruikersnaam en wachtwoord vraagt?

Voorbeeld van een Basic HTTP authentication venster

Dit kan blijkbaar heel makkelijk opgelost worden, door gebruik te maken van de addRequestHeaders method (die zowel voor de XML class, de webservice class, alsook voor LoadVars class beschikbaar is), en de Base64 class (download hier).

Je code ziet er dan als volgt uit.

var auth:String = Base64.Encode("myUsername:myPassword");
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = xmlComplete;
xml.addRequestHeader("Authorization","Basic "+auth);
xml.sendAndLoad('http://example.com/somepage.php',xml);

function xmlComplete(success) {
	if(success){
		//logica komt hier
	}
}

Er zijn 2 grote verschillen. In dit voorbeeld gebruiken we de addRequestHeaders method om de gebruikernaam en het wachtwoord aan de requestHeaders van het XML object toe te voegen. Deze moeten wel eerst via Base64 geëncode worden alvorens dat de basic HTTP auth deze ontvangt. Daarnaast gebruiken we ook de sendAndLoad method zodat de headers meegestuurd worden naar de server.

Het is dus op zich erg simpel, maar je zou bijna niet geloven hoeveel tijd ik gespendeerd heb om tot deze conclusie te komen. Ik kan het nog altijd niet geloven als ik naar de simpelheid ervan kijk.
Hopelijk kan ik enkelen hiermee wat tijd besparen.

Playr: De ActionScript 3 music player class!

Published by Ronny on March 19th, 2008 in Actionscript, Flash, Open-source, download. 22 comments

Update: Er is een nieuwe versie van deze klasse die je hier kan vinden. De download van deze versie heb ik verwijderd om die reden.

Ik heb gisteren de laatste wijzigingen aangebracht aan de vroegere MusicPlayer class. Zoals het er nu uitziet lijkt deze klasse af, voor een eerste ronde echt gebruik, keiharde feedback en vele suggesties.

Belangrijke wijzigingen zijn:

  • Classnames, en package names zijn aangepast.
    • De klasse zelf heet nu Playr in plaats van MusicPlayer.
    • Package name is aangepast. com.noCreativity.MusicPlayer is nu com.nocreativity.playr (met dank aan Peter Elst voor de best practice tip ;) )
  • Shuffle mode toegevoegd
  • Trackprogress kan nu ook opgevraagd worden
  • Singletrack werkt nu volledig
  • Bug ivm repeat weggewerkt

Wat doet Playr?

Playr is een Flash Actionscript 3 klasse die het maken van een volwaardige music player in Flash/Flex/AIR reduceert tot enkele regels code. Of je nu maar 1 loop wilt laten spelen, of een volledige playlist wilt afspelen in Flash/Flex/AIR: Playr kan het sneller dan jij!

Playr kan je gebruiken om een enkele loop af te spelen, of voor volledige XML afspeellijsten te laten afspelen. Zowel shuffle als repeat zijn mogelijk. Ook de interactiviteit met de gebruiker kan snel worden toegevoegd.
De Playr class is ontworpen met snelheid en gemak voor ogen Read the rest of this entry »

Nabaztag/tag

Published by Ronny on February 15th, 2008 in Actionscript, Flash, Wordpress. 1 comment

Zoals je waarschijnlijk wel ziet is er iets klein gewijzigd op de site: De Flashmovie die toelaat om mij een klein berichtje te sturen, via mijn Nabaztag/tag 8ball. Dat wil dus zeggen dat ik een Nabaztag/tag heb, en dat is zo sinds vorige week vrijdag!

Heel funny gadget, wat nog eens duidelijk maakt welke absolute geek ik wel ben :D

Een Nabaztag/tag is een elektrisch konijn dat je allerhande info kan vertellen.

  • Hoe zal het weer morgen zijn?
  • Heb ik mail?
  • Wat staat er in mijn RSS feeds?
  • etc…

Ook kan dit WiFi-konijn berichtjes voorlezen die het gestuurd krijgt. Vanaf nu kun jij mij een berichtje sturen met de Flashmovie bovenin deze pagina.

Toen ik deze toepassing maakte was ik aan het denken over welk dataformaat ik in Flash zou gebruiken. SWX is nog altijd ActionScript 2 only, en dus moest ik het wel bij XML laten. Gelukkig hebben ze bij Nabaztag al gehoord van open standaarden, en maken ze dus ook gebruik van XML: Helemaal top!

Ik ging dus aan de slag, en even later testte ik mijn SWF, en *TADAA* mijn eerste Nabaztag berichtje door mijn Flashmovie. De SWF online gezet op mijn site, en daar nog even testen, en toen ging het mis… Ik was (weeral) vergeten dat de security sandbox van de Flash Player niet toelaat om gegevens op te halen vanop een ander domein zonder de toelating hiervoor te vragen.
Zoals altijd ga ik op het betreffende domein op zoek naar de crossdomain.xml, en die was er dus ook… Alleen zag die er niet uit zoals ik verwachtenabaztag-crossdomain.jpg

Read the rest of this entry »

SWX is vanaf nu WEL een optie!

Published by Ronny on August 16th, 2007 in Actionscript, Flash, Open-source, PHP. No comments

Aral Balkan heeft een tijdje geleden heel wat ophef bij mij bezorgd toen ik in zijn presentaties als ‘XML/SM – fan’ bestempeld werd. Ik kon er toen erg mee lachen omdat ik XML op zich best makkelijk vind.

Na mijn serververhuis van enkele dagen geleden heb ik deze blogpost van Aral Balkan gelezen, en gezien dat SWX blijkbaar kan gebruikt worden op bestaande PHP servers.
Ikzelf dacht altijd dat SWX een eigen server nodig had. Bijgevolg verwachtte ik niet dat SWX binnen korte tijd zou kunnen doorbreken.

Natuurlijk heb ik na dit ontdekken meteen de SWX files geüpload, en enkele testjes gedaan.

Aral had gelijk: XML haalt het inderdaad niet van SWX. (nog niet in ieder geval ;-) )

Enkele links:
Download MAMP (PHP Development omgeving met SWX)
Download SWX PHP (PHP bestanden die SWX mogelijk maakt op eigen server)
SWX homepage