Xspf Jukebox

The download for the Xspf Jukebox has been posted. I have worked hard to create a dynamic php download session, so that instead of downloading every file, a .tar.gz package is created on-the-fly, containing only the requested skin file and the necessary swf file. I also created a php display to automatically find and display all skins on the site. As always, you can find a link to all of the source files, as well as an example on how to create your own skins. In the works is a skin upload page, for user-submitted skins, and a skin creator, to help in creating them. For right now, if you would like your skin displayed and available for download, email me the skin.xml and images folder, containing all used images. Remember to use relative urls when creating skins, (ex: image=”images/ipodblack.png”). XSPF Jukebox

47 thoughts on “Xspf Jukebox

  1. Copyright (c) 2007, Lacy Morrow
    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  2. I have loaded each different player. I like the look of the Ipod, but not that I cannot view a playlist.. the older version that shows my list I can select from is cool.. but the players absolutely are cool.. expect a donation from me.

  3. A tar.gz file is a type of compressed file, similar to a .zip file. Macintosh users have built in decompression for tar.gz, windows users who cannot open the files should download a free (and very handy) utility WinZip, which can both compress and decompress many different file types.

  4. I put the player on my site with the iPod Black skin, and it worked fine until tonight (2/5), when all of a sudden it stopped loading. when i view the error-details, it says that “http://blog.lacymorrow.com/ skins/iPodBlack/Skin.xml is not found”. But is that URL even in my source?? Very confused. Site is http://gabesokoloff.com

  5. I appreciate the hard work you’ve put into this little player, which I use on my site. Some things you should do to make it better are:
    1. Remove the Mochibot code
    - this increases load time and a message continues in the browser status bar for a very long time as it is communicating with this service. Besides that, it is basically an unnecessary curiosity that you are indulgin in for yourself while it compromises the player.
    2. Focus on useful features, not ipod skins.
    - personally I think your new skins are kind of tacky and are only nice as Photoshop creations (or whatever you used) and they do nothing to enhance the player. The loss of the playlist is huge, I don’t know why you would consider this acceptable

    The things I liked that you did with the original version are:
    1. More control over the image that is displayed, incluing the Amazon tie-in which I haven’t tried.
    2. Repeat, shuffle, etc.
    3. Purported slimming down of the code, although I never inspected it myself

    In summary, please focus on useful functions and so on, not on bloat or tacky skins.

  6. Re-reading my post, I did not mean to downplay the value of the skinning you have implemented, which I think is great. I look forward to seeing new skins come out for the player, but will they have playlist functionality or is this gone?!!

  7. All functions that were a part of the original player are still available. I am working on skins that include many different uses of the player, and as of writing this, the first skin that includes a playlist is available. The main point of the jukebox being skinnable is that you can customize it to your liking with a few simple lines of xml. If you don’t like the way something looks, you don’t have to put up with it. Skins are easy to customize. As for other points, the jukebox contains all of the functions from the original player, including image functions, shuffle and repeat, and has the same (if not smaller) file size.

  8. This is a feature request, but could you add support for M4A tunes? I have a lot of M4A in my library and i havent been able to use it with my XSPF jukebox.

  9. Flash currently only supports Mp3 audio, it’s a limitation with Flash itself, so there’s nothing I can do. You could try throwing a comment at Adobe. As for working in WordPress, there are a couple of ways to embed, I use Kimili Flash Embed, it works great and is easy to configure. @donovan… The reason your player isn’t totally transparent has to do with the way it is embedded, depending on the way you are embedding your swf, the syntax changes, but the variable is “wmode=transparent”.

  10. First, this skin feature is a really good work. I really like your player and I will use it.

    I agree with Andrew Swihart that the Mochibot code is a piece of &?%$&. I removed it from the action script. I don’t understand why you use it. I don’t like scripts trying to communicate with other sites, it makes you dependent of Mochibot.

    The Amazon image feature sould be an option, for the same reason. Again, I removed it from the code. With some songs, it display some pictures that are totally out of context.

    But I want to be clear : Your payer is a grat work… It will be perfect without this two problems.

    Thanks!

  11. I have already removed the Mochibot code from future versions of the jukebox. As for Amazon images, these are only optional. Use the feature if you would like, otherwise, use a variable or your playlist to remove it.

  12. YouTube, Google Video, Yahoo Video, and many other video streaming services can be used to host and stream video through the Jukebox. The hard part is finding the proper URL to be used, since the URL is dynamically created and linked to each video when you go to watch. In order to find the URL, I use the VideoDownloader extension for Firefox, and there are standalone programs for other browsers. Just put the URL the program gives you into your playlist and hosting is no longer a problem.

  13. Another thing that I would like to have “optional” is the track number before the track name. It is a a cool feature, but if you use the shuffle fonction, it’s a little bit weird to see a number before the track.

    Since your player is a great tool to build a webradio, this option would be great, as a webradio needs to be in shuffle to prevent a boring effect… :-)

    Or, if you wish, you can e-mail me to explain where exactly in the action script I could modify the code… :-)

  14. Hai Lacy,

    This is my first try with sound & video on a site. I’m a little bewilderd: when I download the files I get .xml, .swf & .png files. But the swf shows up blank in Flash so I cannot customize it.
    What am I supposed to do now? please include a how-to. When I manage to get it working I will let you know! Seems very cool stuff though.

  15. To load a skin, you must open the player within a browser (stand-alone or embedded in an HTML page), and pass the location of the skin.xml file using ‘skin_url=LOCATION’.
    The .swf file is the player, with all of the functions, icons, objects, etc. inside it. However, while it has the power to create objects, buttons, images, and links, it does not know how without instructions. Thats where the .xml file comes into play, it contains the instructions that tell the .swf how to create a certain skin. Since dynamic image creation is limited to basic shapes, the .swf loads external image files (.png) to create a more appealing look. All of the .swf files in any of the skins are the same, the only difference is the .xml.

  16. I would REALLY like to use the player as part of a bigger swf file. (I want to have a bar on right that you click on, and the player slides out, among other uses I would have fun with). I have played w/ the code and since it dynamically loads to front, it doesn’t work in movie. It is for this new site: http://www.radradio.org

    Is it possible to load it into a movie in flash, and then move that movie around???

  17. Sorry, I was in a hurry to finish the player, and took the easy way out of fixing most of the bugs by using a couple of absolute locations. If you want to try to fix this yourself, just search the code for and “_root.” locations, and start replacing them with relative locations. The same effect could be accomplished with very little Javascript, moving a div containing the player around.

  18. Great, I’m really stoked about the possibilities now!! Two more Q’s: Do you still support autoresume??

    And does the module created for CMSMadeSimple work with newest version 1.04? I’m using CMSMS for my client site,and originally found out about you throught the modules downloads page; but the module, when downloaded, says “missing dependencies.” Have any idea what’s up??

  19. Sorry to say it, but the player module listed for CMSMS isn’t mine, it was created using an edited version of my player. It shouldn’t be too hard to create a module for the new version, but don’t expect one anytime soon from me. The autoresume function however, sounds great. Look for something similar in my next version.

  20. Lacy, Thanks for the excellent work!!! For those of us (me) that are new to webpage development, can you provide a simple set of instructions on how to get the Ipod loaded and working on a website? Thank you ;-) Darci

  21. Hallo!

    Please help me out with this problem:

    When i embed the xspf-jukebox.swf file into my wordpress site with Kimili the player appears and works with the default playlist, but when i do embed the testplayer.swf i only get a grey box and not the player? but if i load the testplayer.swf in my browser everything is okay? please tell me what i am doing wrong? Works for days to get it to work. I love the player is nice work! So please help me out….

    Kind Regards

  22. Hallo Lacy

    Thanks for the reply! Please tell me how to get the xspf_Jukebox.swf to play my playlist and not the default one? If i use the testplayer.swf to play my playlist it works like a charm, but if i do embed the xspf_Jukebox.swf it plays only the default playlist and i just dont get it? Where can i tell the xspf_Jukebox.swf to play my playlist? Please help me out i am a newbie..

    Kind Regards

  23. Thank you for the excellent player!

    I have a small issue I am hoping is an (easy) fix. I’m wanting to use the “iTunes” skin, and have tried using the skin_url parameters as “&skin_url=iTunes”. I can see that it appears to work (the layout of the controls change), but it appears none of the skin images are being loaded (i.e. default.png). I’ve tried every variation I can think of with the skin_url parameter – using full URL (urlencoded and not), relative URL and just name (i.e. “iTunes”). I’ve also tried modifying the skin.xml file and updating the image references to full URLs, etc. – all no go.

    My question would then be is the “skin_url” value set to accept a full URL, or should it only be the name of the skin directory? Any hints on how to change skins (with an example if you can) would be most appreciated.

    Thank you!

  24. @Brian,
    if you have not made any changes to folder organization, the url (relative or absolute) of the “iTunes” skin folder should load correctly. Make sure you are not using the “xspf_jukebox7.swf”, which does not support .png images.

    @Daniel,
    I would be glad to help, email me at gojukebox(at)gmail(dot)com.

  25. I have loaded Mini Tunes skin for the Jukebox according to the documentation. I am not getting the track info to scroll across the screen. Am I leaving out any variables. BTW, excellent application.

  26. Lacy,

    Thanks for the response. The problem however is that I am not getting any track information on the screen, much less to scroll. Is there a special syntax for thetrack in the playlist.xspf file? Anything I am missing. The file is on a site I am testing, http://www.rafrobertson.net/index3.htm. Launch Raf Radio .

  27. The syntax for a track in tha playlist file is <track><creator>ARTIST</creator><title>TRACK NAME</title><location>URL</location></track>. Refer to the documentation for more info, or email me at gojukebox(at)gmail(dot)com if you continue having problems.

  28. I’m also having trouble getting the PNG to show. I’ve read you response to Brian above; I’m using the SWF dated 6/14/07. Is this the version 7 you mentioned?

  29. Hi…

    In the XSPF player with the Shuffle and Auto-resume feature, to remove the leading track numbers, comment out code in the following loop (line 332 for me). For example:

    for (i=0; i<tracks_array.length; i++) {
    //tracks_array[i].label = (i+1)+”. “+tracks_array[i].label;
    addTrack(tracks_array[i].label);
    }

    This removes the track numbers.

  30. I love this player but I have one problem to figure out here:

    My player only loads the first track in my playlist. My playlist has 11 tracks but I can’t get the others to load or play! help?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>