DAAP/iTunes Plugin (2 Viewers)

S

simex

Guest
Hey there all :)

Just to let you know that the DAAP/iTunes streaming Plugin has completed the first step (the easiest one :( )

THIS IS NOT THE FINAL PLUGIN. In fact, IT IS NOT A MP PLUGIN (yet!)

This stand-alone app is designed to test your DAAP server (iTunes, RythymBox, Banshee, etc.) to see if it works with the implementation of the DAAP client that I am going to use.

Please note that iTunes 7 is not supported just yet - it has some funky Hash issues that are yet to be resolved...

Note that you need the .NET2 runtimes (but MP needs that too... so if you have MP working OK then this should also work OK)

To use testing program:
  1. Download the ZIP file
  2. Extract to a temporary directory
  3. run DAAPTest.exe
  4. Put the server name in the top box (I've left localhost in there, you should put the address of the machine that is running the DAAP server (eg. iTunes)
  5. Click on the one and only BIG button on the window!
  6. Give the program a few seconds to connect to the server and get details about the database (NOTE: only the first database is supported right now)
  7. Once connected and the success message comes up with the URL, connect to that URL with a webbrowser on the machine running the testing program. You should get a list of databases.
  8. Pick the first one (if you have any more than one, tell me...)
  9. After a while the tracklist should load up you should be able to click on one of tracks and save it to disk. Rename with a ".mp3" on the end (if it's an mp3....) and it should be an exact copy of the file :D

If there is an error anyway through this, it should either print out a stack dump (which you should give to me if there is a problem (and also what you were doing, what client/server and what versions, etc.) or crash and a stack dump will be in the crash window. Alternatively if you have VS2005 you may be able to debug the code and tell me what line the crash occured at!

If everyone can connect OK with their servers, we can move on the phase 2 - building the plugin :mad: (i'm still learning!)


Good Luck!!!!


Simon
:)

LINK: (see Attachment) View attachment 634
 

Brocklander

Retired Team Member
  • Premium Supporter
  • September 15, 2004
    347
    2
    Wellington
    Home Country
    New Zealand New Zealand
    Top work and a great start! Any idea how the higher powers are doing at working around the iTunes 7 issue? I can't test as we've all made the shift.
     
    S

    simex

    Guest
    ... Any idea how the higher powers are doing at working around the iTunes 7 issue? I can't test as we've all made the shift.

    The higher powers are working on it, trust me :D
    Basically, DAAP has not been released by apple, and every time a new version comes out, some (very smart) people have to reverse-engineer the protocol to allow non iTunes servers/clients to work with it :mad: .

    For a more in-depth look, see http://en.wikipedia.org/wiki/Digital_Audio_Access_Protocol

    Otherwise, you could always downgrade your client ;)


    For now, if anyone has a non-iTunes-7-client, please try it out so I can move forward with this!

    Otherwise I may have to start looking at a UPnP version instead! :D


    Simon
    :)
     
    S

    simex

    Guest
    Yay! Somewhat of a version out!

    Hey all.
    I have a nice preliminary version of DAAPplugin for you all :)
    There are (of course) some things that do not work:
    • Adding DAAP files to a Playlist doesn't work
    • Playlists on the remote machine may work... (shows the playlists, but not the songs inside it...)
    • Some of the keyboard/IR control is broken, so you may have to use the mouse to select stuff
    • iTunes 7 COULD work but probably won't

    Installation instructions:
    1. Download rar file and extract to temporary location
    2. Extract the .xml file to your current skin's directory where the other .xml files are (eg. skin\BlueTwo )
    3. Extract all the .dll files to plugins\windows
    4. Run the MP config
    5. Goto plugins
    6. Make sure the plugin is enabled
    7. Go into the plugin's config (Right-click, Configuration)
    8. Enter the name of the machine that is running the DAAP server (default port of 3689 is assumed)
    9. You can enter Authentication information if you want (NOT TESTED!!)
    10. Save and close Config
    11. Run MP and there should be a new home-screen menu item (DAAPPlugin)
    12. Going into that there should be a screen that looks a lot like the Music Plugin...
    13. Click "Connect to Server" and it should start the connection process.
    14. Once it connects (successfully!) then you should see 2 menu items: Tracks and Playlists
      1. Playlists - This doesn't really work, but you are welcome to try!
      2. Tracks - This contains all the tracks on the DAAP share (WARNING: May take a long time to load!!!!
    15. You can play a song by clicking on it. It should start the visualisation or whatever normal music-plugin settings.

    Other than the above issues, if you find anything wrong, reply to this thread.
    Also, before you do that, try my testing tool located further up this thread - that will give more detailed error messages.

    View attachment 741

    Good Luck!!
     

    The_Stig

    Retired Team Member
  • Premium Supporter
  • April 5, 2005
    2,176
    428
    I suppose its great work you're doing. Getting from MP to my iTunes-Music (and especially to the playlists) would be great. Unfortunately I don't like to switch back to an older version. I will wait until iTunes 7 is supported and then jump on your train!

    Keep up good work!
     
    S

    simex

    Guest
    lol I think i get the vibe:
    Get iTunes 7 support, then i'll think about it.
    I've also made a version that adapts DAAP to normal FTP, so you don't even need the plugin. (The FTP server is a separate program.)
    If you are interested, see http://simex.bur.st/daap-ftp-adapter/

    Note that as soon as iTunes7 support is out in the DAAP# library, both plugin and adapter can be updated, but probably the adapter first (because it's easier ;-) )

    Simon
    :)
     

    brickbat

    Portal Member
    December 22, 2006
    19
    0
    Home Country
    Simex,

    Have you considered a different approach that will give you itunes 7 compatibility and could also achieve some other goals too. What if you used the itunes class libraries to connect to the daap server via itunes and then simply control the playback through itunes instead of doing it directly. That way, the plugin could be used to play local itunes music libraries as well as networked daap servers. Now, one thing I don't know is how compatible itunes 7 is with other daap servers. the other thing is that I am assuming that the itunes class library allows control of shared music. I am not a programmer but I was about to start hacking away at my own plugin to control a local itunes library when I was directed to your thread by Brocklander. If you are interested in this approach, I would love to work on it together. If not, I will go ahead with it anyway - I think having a plugin to control a local itunes installation would be very useful.

    Ciao
    bb
     
    S

    simex

    Guest
    Do you have a link to these Class Libraries? Or the API? And is it an official Apple thing?
     

    mPod

    Portal Pro
    January 26, 2005
    2,084
    3
    Berlin
    Home Country
    Germany Germany
    All there, even a .NET wrapper is available in Apple's CVS. You should go the CVS way and not the tarball download way (old sources). Doesn't compile out of the box, needs some background C++ information. Should compile out of the box with VS2003 (or even 2001?). We need VS2005 projects, so needs a bit of work (not that much).

    http://developer.apple.com/networking/bonjour/

    No need to reverse engineer anything and full iTunes 7 compatibility, of course. Wondering why you think that apple didn't release Bonjour yet. DAAP is just a subservice of Bonjour, btw. But you can read it all on Apple's well documented pages. And using Google, of course.

    As said, it's all there. No need to reverse or reinvent the wheel. Also the "official" way makes sure that your plugin will be compatible with future e.g. iTunes versions. You should think about adding the stuff to the normal music module, not as a seperate plugin. Integration is the key to user success.
     

    Users who are viewing this thread

    Top Bottom