After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 117083 - Dashboard interface for rhythmbox
Dashboard interface for rhythmbox
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
0.4
Other Linux
: Normal enhancement
: ---
Assigned To: Colin Walters
Colin Walters
Depends on:
Blocks:
 
 
Reported: 2003-07-09 19:22 UTC by Mark Humphreys
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement


Attachments
Header file for dashboard support (158 bytes, text/plain)
2003-07-09 20:44 UTC, Mark Humphreys
  Details
Main processing file for dashboard support (9.75 KB, patch)
2003-07-09 20:45 UTC, Mark Humphreys
none Details | Review
Patch for existing code modules (2.92 KB, patch)
2003-07-09 20:55 UTC, Mark Humphreys
none Details | Review
Diff for existing dashboard code. (2.63 KB, text/plain)
2003-07-13 18:01 UTC, Mark Humphreys
  Details
New backend for rhythmbox views in dashboard, should go in /backends (4.64 KB, text/plain)
2003-07-13 18:02 UTC, Mark Humphreys
  Details
Additional image - goes in /engine/images (2.46 KB, image/png)
2003-07-13 18:04 UTC, Mark Humphreys
  Details
Improved patch for rb, with the cluepackets sent at the start of play. (2.97 KB, patch)
2003-07-13 18:38 UTC, Mark Humphreys
none Details | Review
Rhythmbox patch to send clues (10.94 KB, patch)
2003-12-07 16:12 UTC, lwillis
none Details | Review
Dashboard backend (3.04 KB, patch)
2003-12-07 16:12 UTC, lwillis
none Details | Review
Revised patch (11.53 KB, patch)
2003-12-19 09:50 UTC, lwillis
none Details | Review

Description Mark Humphreys 2003-07-09 19:22:23 UTC
The totally cool dashboard application should know what 'rb' is doing, by
the sending of 'cluepackets' to dashboard. I am working on a patch to do this.
There is a second part of this issue, where the entries in dashboard should
be able to trigger the playing of songs in rb.
Comment 1 Mark Humphreys 2003-07-09 20:44:23 UTC
Created attachment 18182 [details]
Header file for dashboard support
Comment 2 Mark Humphreys 2003-07-09 20:45:21 UTC
Created attachment 18183 [details] [review]
Main processing file for dashboard support
Comment 3 Mark Humphreys 2003-07-09 20:55:33 UTC
Created attachment 18184 [details] [review]
Patch for existing code modules
Comment 4 Mark Humphreys 2003-07-09 20:56:22 UTC
This is an initial patch for phase 1 (sending cluepackets). The
conditional build stuff might be rubbish, so look out!
Comment 5 Mark Humphreys 2003-07-13 18:01:32 UTC
Created attachment 18260 [details]
Diff for existing dashboard code.
Comment 6 Mark Humphreys 2003-07-13 18:02:45 UTC
Created attachment 18261 [details]
New backend for rhythmbox views in dashboard, should go in /backends
Comment 7 Mark Humphreys 2003-07-13 18:04:14 UTC
Created attachment 18262 [details]
Additional image - goes in /engine/images
Comment 8 Mark Humphreys 2003-07-13 18:38:30 UTC
Created attachment 18263 [details] [review]
Improved patch for rb, with the cluepackets sent at the start of play.
Comment 9 Colin Walters 2003-07-18 17:33:03 UTC
I don't really quite understand where each of these components are
supposed to go, and I don't have Dashboard installed right now, so I
don't have an easy way to test this.  Do you have CVS access?  If not
you really should.  Send an email to cvsmaster@gnome.org, and please
tell them that I asked for this.
Comment 10 Mark Humphreys 2003-07-19 05:34:15 UTC
Colin - the 'c' code belongs in rhythmbox, this just sends a message
to dashboard (via a socket that will fail gracefully when dashboard
isn't running, so there are no external dependencies). the 'cs' (mono)
modules belong in dashboard, but I have put them in this bug to keep
them all together. 
Comment 11 lwillis 2003-12-07 16:04:35 UTC
Patches attached send artist, album, title and genre clues to
dashboard, and the dashboard backend will make the rhythmbox library
available to be searched.
Comment 12 lwillis 2003-12-07 16:12:14 UTC
Created attachment 22176 [details] [review]
Rhythmbox patch to send clues
Comment 13 lwillis 2003-12-07 16:12:32 UTC
Created attachment 22177 [details] [review]
Dashboard backend
Comment 14 lwillis 2003-12-07 16:13:15 UTC
Screenshot at:

http://www.leewillis.co.uk/dashboard/Screenshot.png
Comment 15 Colin Walters 2003-12-13 01:32:32 UTC
In file included from rb-shell-player.c:62:
dashboard-frontend.c: In function `dashboard_connect_with_timeout':
dashboard-frontend.c:49: warning: implicit declaration of function `bzero'
dashboard-frontend.c:82: warning: implicit declaration of function
`getdtablesize'
rb-shell-player.c: At top level:
dashboard-frontend.c:182: warning:
`dashboard_send_raw_cluepacket_sync' defined but not used
dashboard-frontend.c:381: warning: `dashboard_build_cluepacket'
defined but not used
distcc[9063] ERROR: compile on localhost failed
Comment 16 Colin Walters 2003-12-13 01:40:51 UTC
Also, it might be nice to have the ability to disable this with
--disable-dashboard at configure time.

Please re-add the PATCH keyword when you add an updated patch.  Thanks!
Comment 17 Colin Walters 2003-12-13 07:25:42 UTC
Oh, and one other thing - I don't like at all how the backend parses
rhythmdb.xml itself.  I can't guarantee that won't change.  Can C#
talk to Bonobo?  If so, you could work on extending the current
Rhythmbox Bonobo API to support the kinds of queries you're doing.
Comment 18 lwillis 2003-12-19 09:49:41 UTC
Amended path to cover:
- configure option
- fix compile warnings
- rename dashboard file
- add a rb_shell_player_sync_with_source (player) and
  rb_shell_player_sync_buttons (player)

I'm not sure about:
- The autoconf stuff, it seems to work but there may be better ways of
doing it
- The following change:

--- shell/Makefile.am   16 Dec 2003 15:37:00 -0000      1.36
+++ shell/Makefile.am   19 Dec 2003 09:31:40 -0000
@@ -85,7 +85,7 @@
        -DDATADIR=\""$(datadir)"\"                      \
        $(WARN_CFLAGS)                                  \
        $(RHYTHMBOX_CFLAGS)                             \
-       -D_XOPEN_SOURCE
+       -D_GNU_SOURCE

Unfortunately without it the function getdtablesize() is undefined and
I don't know an alternative?

Does this matter?
Comment 19 lwillis 2003-12-19 09:50:21 UTC
Created attachment 22556 [details] [review]
Revised patch
Comment 20 lwillis 2003-12-19 09:59:06 UTC
On the backend issue, short term I think checking for the version
number in rhythmdb.xml would be a resonable fix, I've submitted a
patch for that to dashboard ...

<rhythmdb version="1.0">

I agree, that we need to thinkabout other methods longer term ..
Comment 21 Colin Walters 2003-12-20 00:34:46 UTC
Ok, this has been merged into rhythmbox--mainline--0.6--patch-378, and
rhythmbox--mainline--0.7--patch-91.  

I changed -D_GNU_SOURCE to -D_BSD_SOURCE.  _GNU_SOURCE pulls in a lot
of GNU-specific stuff that unfortunately we can't depend on. 
_BSD_SOURCE should be relatively portable.  

I also renamed "rb-dashboard.c" to just "dashboard.c", since it's not
really our source.  I also added an arch-tag.

Otherwise, looks good.  I haven't been able to test it, so if you
could just confirm it works, that'd be good.  Thanks!