FirePlay Flash client for FireFly

Place to discuss using firefly with other, third-party software -- flashdaap, etc.

Moderators: Developers, Webadmins, Third-party devs

Postby Bo Mellberg on Wed Nov 14, 2007 5:49 am

OK, here it comes:

http://www.mellberg.org/FlashDAAPv0.3.zip

Unzip to your admin-root folder as usual.

Limitations in this version (will be fixed asap):

- Double clicking a song is not implemented.
- Next and Prev is not implemented.
- Only one song is played, the song list is not traversed.

Please try this version on the Wii if you have one. Would be nice if it worked.

/Bo
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 6:10 am

Hi Bo,

v.03 connects from IE7 on my laptop, but hangs when requesting playlists.

On closer inspection it killed my mt-daapd processes on my slug.

I got this in my log
Code: Select all
2007-11-14 12:57:26 (0006d404): Thread 435: Entering ws_returnerror (401: Unauthorized)
2007-11-14 12:57:35 (0006f404): malloc error in vasprintf
2007-11-14 12:57:35: Aborting
2007-11-14 12:57:35 (00000400): Rendezvous socket closed (daap server crashed?) Aborting.
2007-11-14 12:57:35: Aborting
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

Postby Bo Mellberg on Wed Nov 14, 2007 6:14 am

I have no idea why that is...

Oops, I should have mentioned: Playlists are not implemented at all, they are just displayed. All queries are done on the "Library" playlist.

Also, I have had problems with artists and albums containing certain characters. I have asked Ron how to escape the query strings but I am still waiting for an answer.

/Bo
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 6:26 am

I cranked log to debug=9 and got
Code: Select all
2007-11-14 13:20:39 (00002403): Executing: select count(*) FROM songs
2007-11-14 13:20:39 (00002403): Creating new db handle
2007-11-14 13:20:39 (00002403): Executing: select count(*) FROM playlists
2007-11-14 13:20:39 (00002403): Updating Content-Type from application/x-dmap-tagged to text/xml
2007-11-14 13:20:39 (00002403): Updating Connection from keep-alive to Close
2007-11-14 13:20:39 (00002403): Emitting reponse header Expires: -1
2007-11-14 13:20:39 (00002403): Emitting reponse header Cache-Control: no-cache
2007-11-14 13:20:39 (00002403): Emitting reponse header DAAP-Server: firefly/svn-1696
2007-11-14 13:20:39 (00002403): Emitting reponse header Accept-Ranges: bytes
2007-11-14 13:20:39 (00002403): Emitting reponse header Content-Language: en_us
2007-11-14 13:20:39 (00002403): Emitting reponse header Content-Type: text/xml
2007-11-14 13:20:39 (00002403): Emitting reponse header Server: mt-daapd/svn-1696
2007-11-14 13:20:39 (00002403): Emitting reponse header Connection: Close
2007-11-14 13:20:39 (00002403): Emitting reponse header Date: Wed, 14 Nov 2007 13:20:39 GMT
2007-11-14 13:20:39 (00002403): malloc error in vasprintf
2007-11-14 13:20:39: Aborting
2007-11-14 13:20:39 (00000400): Processing rendezvous message
2007-11-14 13:20:39 (00000400): Rendezvous socket closed (daap server crashed?) Aborting.
2007-11-14 13:20:39: Aborting

Also I tried the sql manually, and that returns as expected
Code: Select all
bash-3.2# sqlite3 /opt/var/mt-daapd/songs3.db
SQLite version 3.4.1
Enter ".help" for instructions
sqlite> select count(*) from playlists;
12
sqlite>


Hope that helps ?

BTW running firefly version 1696 on my slug.

[edit]
Memory usage is OK... I get
Code: Select all
  CPU[###*****                                           13.0%]     Tasks: 61 total, 1 running
  Mem[|||||||||||||||||||||||||##########**************13/29MB]     Load average: 1.06 1.02 1.00
  Swp[|||||                                            9/117MB]     Uptime: 13 days, 02:45:27
[/edit]
Last edited by sonichouse on Wed Nov 14, 2007 6:30 am, edited 1 time in total.
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

Postby Strawp on Wed Nov 14, 2007 6:26 am

Hmm, this one doesn't get as far as the last version.

The status flicks through very quickly, but what I could make out, it connects to the right host and port, then after a few very quick "Asking for..." processes it asks for the playlists and then displays "Connected to undefined" without noticeably pulling anything off the server (I have ~14k tracks, so it's noticeable when it does). The "artists" list displays "All undefined artists...".

With regards to the layout, it already looks more usable than Amarok, I just look forward to using it :)
Strawp
regular
regular
 
Posts: 41
Joined: Wed Nov 14, 2007 3:42 am

Postby Bo Mellberg on Wed Nov 14, 2007 6:33 am

It seems as if my query for the playlists is not recognised on your machines.

Could you try pasting this into your browser:

Code: Select all
http://www.yourserver.com:3689/databases/1/containers?meta=dmap.itemid,dmap.itemname,dma.persistentid,com.apple.itunes.smart-playlist&output=xml
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby Bo Mellberg on Wed Nov 14, 2007 6:39 am

Try this one. It doesn't have the meta garbage:

http://www.mellberg.org/FlashDAAP.swf

(right-click and download)

/Bo
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 7:10 am

Bo Mellberg wrote:Try this one. It doesn't have the meta garbage:

http://www.mellberg.org/FlashDAAP.swf

(right-click and download)

/Bo

Still no joy with that version. The XML above returned fine.
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

Postby Bo Mellberg on Wed Nov 14, 2007 7:12 am

Could you post the XML reply to the query without the meta?
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 7:20 am

Bo Mellberg wrote:Could you post the XML reply to the query without the meta?
Sure, here it is
Code: Select all
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <daap.databaseplaylists>
  <dmap.status>200</dmap.status>
  <dmap.updatetype>0</dmap.updatetype>
  <dmap.specifiedtotalcount>12</dmap.specifiedtotalcount>
  <dmap.returnedcount>12</dmap.returnedcount>
- <dmap.listing>
- <dmap.listingitem>
  <dmap.itemid>1</dmap.itemid>
  <dmap.itemcount>2697</dmap.itemcount>
  <daap.baseplaylist>1</daap.baseplaylist>
  <dmap.itemname>Library</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>3</dmap.itemid>
  <dmap.itemcount>11</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Muse - Black Holes & Revelations</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>4</dmap.itemid>
  <dmap.itemcount>10</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Prince - Planet Earth</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>5</dmap.itemid>
  <dmap.itemcount>18</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Moby - Play</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>6</dmap.itemid>
  <dmap.itemcount>14</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Jamelia - Thank You</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>7</dmap.itemid>
  <dmap.itemcount>13</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Coldplay - X & Y</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>8</dmap.itemid>
  <dmap.itemcount>12</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>KT Tunstall - Eye to the telescope</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>10</dmap.itemid>
  <dmap.itemcount>15</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Jack Johnson</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>11</dmap.itemid>
  <dmap.itemcount>11</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Lily Allen - Alright Still</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>12</dmap.itemid>
  <dmap.itemcount>14</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>Shaggy</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>14</dmap.itemid>
  <dmap.itemcount>501</dmap.itemcount>
  <com.apple.itunes.smart-playlist>1</com.apple.itunes.smart-playlist>
  <dmap.itemname>The Rolling Stone Magazines 500 Greatest Songs Of All Time</dmap.itemname>
  </dmap.listingitem>
- <dmap.listingitem>
  <dmap.itemid>15</dmap.itemid>
  <dmap.itemcount>24</dmap.itemcount>
  <dmap.itemname>podcast</dmap.itemname>
  </dmap.listingitem>
  </dmap.listing>
  </daap.databaseplaylists>


The Rolling Stones had 500 tracks, so I edit the playlist to return 0 tracks, but it still fails.
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

Postby Strawp on Wed Nov 14, 2007 7:24 am

The new client doesn't make a lot of difference. I queried my server with that string and it returned data, but it didn't look like any XML I've seen, more like a munge of pseudo-binary text stuff. Is this the issue?

I thought I was on the latest mt-daapd version, but if it's not returning XML and it's supposed to...
Strawp
regular
regular
 
Posts: 41
Joined: Wed Nov 14, 2007 3:42 am

Postby Bo Mellberg on Wed Nov 14, 2007 7:29 am

If it hangs on the playlist request, it could be that it doesnt get the server-info properly.

Could you both do a:

Code: Select all
http://www.yourserver.com:3689/server-info?output=xml


Perhaps my parsing is specific to my machine only...
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 7:31 am

Code: Select all
  <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <dmap.serverinforesponse>
  <dmap.status>200</dmap.status>
  <dmap.protocolversion>2.0.0</dmap.protocolversion>
  <daap.protocolversion>3.0.0</daap.protocolversion>
  <dmap.timeoutinterval>1800</dmap.timeoutinterval>
  <dmap.itemname>firefly svn-1696 on slug</dmap.itemname>
  <dmap.authenticationmethod>0</dmap.authenticationmethod>
  <dmap.supportsextensions>0</dmap.supportsextensions>
  <dmap.supportsindex>0</dmap.supportsindex>
  <dmap.supportsbrowse>0</dmap.supportsbrowse>
  <dmap.supportsquery>0</dmap.supportsquery>
  <dmap.supportspersistentids>0</dmap.supportspersistentids>
  <dmap.databasescount>1</dmap.databasescount>
  </dmap.serverinforesponse>
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

Postby Bo Mellberg on Wed Nov 14, 2007 7:33 am

It looks exactly like mine.

Doesn't it show: "Connected to firefly svn-1696 on slug" when you run it?
Bo Mellberg
lunatic
lunatic
 
Posts: 306
Joined: Mon Oct 23, 2006 12:06 am

Postby sonichouse on Wed Nov 14, 2007 7:36 am

Bo Mellberg wrote:It looks exactly like mine.

Doesn't it show: "Connected to firefly svn-1696 on slug" when you run it?
It connects, gets a sessionid, and the last message i see is "Asking for playlists" on the status panel at the top.
User avatar
sonichouse
lunatic
lunatic
 
Posts: 368
Joined: Sat Jun 10, 2006 3:39 am
Location: UK

PreviousNext

Return to Add-on Software

Who is online

Users browsing this forum: No registered users and 1 guest