Re: [Rhythmbox-devel] DACP (iTunes remote) support added

On Wed, Oct 20, 2010 at 19:44, Peter <rhythmbox-devel maubp freeserve co uk> wrote:
On Wed, Oct 20, 2010 at 12:59 AM, Jonathan Matthew <jonathan d14n org> wrote:
> Sounds like you don't have a new enough version of libsoup. You need
> libsoup 2.32.x for it to work.

Wow - that's very new! Even Debian experimental only has 2.31.2 for now:

I've just installed the latest version from their git repository instead (and
likewise the totem playlist parser and libdmapsharing also from git) and
now the latest RB from git seems to pair up and basic remote control is

Interesting, I had problems pairing before, randomly occurring, never thought it would be libsoup's fault (glad it's not my fault ;)
Does this version dependency need to be checked in the RB configure script?

Problems or missing features so far:

* Pairing is pretty slick - nicely done. Is it possible to give the pin code
focus automatically though? I click on the remote but typing shows some
funny little box at the bottom of the screen...

Can you provide screenshots about these funny little boxes? 
Never thought about automatically focusing, shouldnt be hard to implement but might have other implications.
* No artwork sent to iPod, although RB seems to understand the request
the log claims "No artwork for currently playing song" (which is wrong).

It's not implemented. Support in libdmapsharing is there, it's just not implemented in the Rhythmbox side.
* Track list view not working. For example, on the iPod click on
albums menu icon at bottom of screen, pick an album, pick a song,
click on the "three lines" icon at top left. The cover art (place holder)
rotates to reveal the song's rating at the top of the screen, and a
list of the songs on the album (but only one song is shown). This
also applies to other song collections - not just albums.

I had some success with this, but usually it doesn't work. I believe it's the album id property which is not working correctly.
* Ratings not shown and not set, although the command to set them
does seem to be recognized:

Path is /ctrl-int/1/setproperty.
database-spec 'dmap.persistentid:0x1'
item-spec 'dmap.itemid:0x1a'
session-id 1703938679
dacp.userrating 60

I think this is not implemented in the Rhythmbox side correctly, I never tested it.
* Playlists - I only see "Recently Played", which shows me 3 songs,
but does not let me play them:

Unhandled ctrl-int command: /1/playspec
Path is /ctrl-int/1/playspec.
container-spec 'dmap.persistentid:0x4'
database-spec 'dmap.persistentid:0x1'
session-id 1703938679
container-item-spec 'dmap.containeritemid:0x14'

This is quite hard to implement correctly in Rhythmbox, because of all the ids missing. I focused on what could be implemented more easily, so some things are not playable. With a little tweaking in the code, everything should work.
* Composers - iPod sits at loading screen (while other things like
TV shows go direct to no show), RB log says "Unsupported browse
category: composers"

Never tested this, so it was not implemented. This is actually something that should be implemented in DAAP inside libdmapsharing.
* Trying to set the shuffle status via the remote crashes RB
(and this was reproducible), end of debug log:

(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687:
Path is /ctrl-int/1/cue.
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687:
dacp.shufflestate 1
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687: command play
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687:
session-id 659414752
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687: sort album
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687:
query (('','')
'daap.songartist:Bob Dylan')
(00:39:42) [0x90f0028] [libdmapsharing_debug] rb-daap-plugin.c:687:
Validating session id 659414752 from matches
Segmentation fault

Interesting, I had problems with this before, but never a crash. Could you provide a backtrace with gdb? 
I'm not promising anything, but would patches via a public
git repository be welcome (I'm thinking github), or would you
like patches via bug reports?

Maybe a branch in github might be a good idea for easy testing and sharing, I think Rhythmbox developers prefer final code as patches to Bugzilla. Maybe Jonathan can say more about this.

Thanks for the feedback and if you can provide patches will be great.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]