iTunes 10 breaks Firefly Media Server / mt-daapd

iTunes 10 does not work with Firefly Media Server / mt-daapd on my local network. iTunes 9.2.1 worked fine. iTunes 10 will fetch the playlists, but will not fetch any media files.

rsp svn-1696
daap svn-169
Mac OS X 10.6.4

It's not the server software, iTunes 9.2.1 still works fine with it on another Mac and Songbird with the daapd client plugin also plays music from the server fine when iTunes 10 on the same Mac will not.

Is there any way to fix this, if not, how do I downgrade back to iTunes 9.2.1 safely? Right now it is refusing to install due to a newer version installed and I don't want to proceed until I know how to do so safely. Thanks.

Posted on Sep 1, 2010 9:50 PM

Reply
140 replies

Sep 7, 2010 11:14 AM in response to gabenx

Hello, I found in some cases folked-daapd failed to display correct information.
I am a Japanese. So I have many mp3 files tagged with Japanese.
I did a tiny test. I edited id3 tags using easytag and iTunes10 (mac version),
and I installed forked-daapd and mt-daapd in my debian squeeze box,
they share the same few mp3 files.
I confirmed the difference of mt-dappd and forked-daapd using rhythmbox.

http://vbnm.sakura.ne.jp/tinytest/

Would you tell the developer of forked-daapd this issue?
I will go back to iTunes9 for a while.
Thank you.

Sep 7, 2010 2:54 PM in response to White Collar Barbarian

Just seen the info from Flyn, looked at forked-daapd and dmapd and if you don't mind the hardcoding mt-daapd to simply state the mediakind is music then you only need two lines of code to daap.c (I'm running mt-daapd 0.2.4.2). With the changes below I can browse/stream music to iTunes 10.

Both go in daap.c:

$ diff -u ../../mt-daapd-0.2.4.2.orig/src/daap.c daap.c
--- ../../mt-daapd-0.2.4.2.orig/src/daap.c 2010-09-07 21:42:56.904105700 +0100
+ daap.c 2010-09-07 22:52:47.747506391 +0100
@@ -133,6 +133,7 @@
{ 0x0C, "arif", "daap.resolveinfo" },
{ 0x05, "aeNV", "com.apple.itunes.norm-volume" },
{ 0x01, "aeSP", "com.apple.itunes.smart-playlist" },
+ { 0x01, "aeMK", "com.apple.itunes.mediakind" },
{ 0x00, NULL, NULL }
};

@@ -586,6 +587,9 @@
// g = g && daap addchar(mlit,"asur",3); /* rating */
if(song->year && (wantsMeta(meta, metaSongYear)))
g = g && daap addshort(mlit,"asyr",song->year);
+
+ // Added for iTunes 10 - hardcode mediakind to music
+ g = g && daap addint(mlit, "aeMK", 1);
}

if(g == 0)

Sep 7, 2010 4:24 PM in response to tecknobabble

These are the lines to change for mt-daapd-svn-1696 (the last nightly version released):

-----

<pre>diff -u mt-daapd-svn-1696.original/src/plugins/out-daap-proto.c mt-daapd-svn-1696/src/plugins/out-daap-proto.c</pre>
<pre>--- mt-daapd-svn-1696.original/src/plugins/out-daap-proto.c 2007-08-10 00:07:23.000000000 -0400</pre>
<pre> + mt-daapd-svn-1696/src/plugins/out-daap-proto.c 2010-09-07 19:04:44.932978839 -0400</pre>
<pre>@@ -716,6 +716,8 @@</pre>
<pre> /* aeHV */</pre>
<pre> size += 9;</pre>
<pre> </pre>
<pre>+ size += 12;</pre>
<pre>+</pre>
<pre> return size;</pre>
<pre> break;</pre>
<pre> </pre>
<pre>@@ -920,6 +922,9 @@</pre>
<pre> if(daap_wantsmeta(pinfo->meta, metaSongContentRating))</pre>
<pre> current += dmap addchar(current,"ascr",</pre>
<pre> atoi(valarray\[SG_CONTENTRATING\]));</pre>
<pre>+</pre>
<pre>+ current += dmap addint(current, "aeMK", 1);</pre>
<pre>+</pre>
<pre> return 0;</pre>
<pre> break;</pre>
-----

After adding these two lines, iTunes 10 works for me.

Message was edited by: paraquat

Sep 8, 2010 10:45 AM in response to tecknobabble

Thanks -- I applied that to a Slug -- a Linksys NSLU2 -- running OpenWRT and it works!

A remaining problem for me is that the server initially shows up in iTunes with the name "untitled playlist". As soon as you select it, the name given to it in the mt-daaspd.conf file comes through. Anyone else got this problem, or a solution?

Not a dealbreaker, but annoying all the same...

Sep 8, 2010 5:59 PM in response to jblache

Maaarten's patch works great for iTunes, but it broke my ability to connect to the server with Rhythmbox. I've modified the code posted by tecknobabble and maaarten into a patch that does a bit more checking for the actual request. I'm not familiar with the mt-daapd code itself, but this appears to work for me with iTunes 9.2 (Windows), iTunes 10 (Windows and OSX), and Rhythmbox 0.12.8 (in Ubuntu 10.04).

I've formatted the patch so that anyone wanting to make the changes right now can do so using maaarten's excellent instructions, just replace the line *wget -P debian/patches http://www.informaarten.nl/mt-daapd-for-itunes-10/13_itunes10.dpatch* with *wget -P debian/patches http://zero-factorial.com/coding/13_itunes10.dpatch*.

Hopefully this will help, and thanks everyone else who helped narrow down the changes that needed to be made!

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

iTunes 10 breaks Firefly Media Server / mt-daapd

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.