Default Component for this plug-in was missing and wasn't sure where to point it at. README that came with it suggests I should use Xfce bugzilla. I've mailed xfce4-dev@xfce.org mailinglist and requested it to be added. Thanks. Added xfce4-cddrive-plugin-0.0.1 to panel and it draws a empty space with no content filling up half of panel as shown in: http://dev.gentoo.org/~drac/2007-06-21-132716_649x36_scrot.png Another thing I've noticed was cosmetics with ./configure --help: --enable- Enable checking for (default=yes) --disable- Disable checking for And finally it has automagic deps [1] for libcdio and libcddb while they could and should (IMO) be controlled by --enable --disable flags. This way we don't have to unconditionally depend on them. [1] http://www.gentoo.org/proj/en/qa/automagic.xml
Done: - the plugin shouldn't expand anymore. - --enable/disable-cddb switches added, (default: enabled if available). If enabled, it will check that both libcddb and libcdio are available. If disabled, none of these libs are required. - --enable/disable-thread switches added (default: enabled if available). - the "cosmetic" part is fixed by the definition of the swiches above. All these changes are available on svn repository.
Just in case: "RESOLVED FIXED" only means that it works for me. There will be no new release until you close the bug. On a side note, the svn version has been updated: now there is a switch to allow connections to freedb.org in the settings window of the plugin.
Thanks for your quick response. However now it disappears immediately after adding it, (xfce4-cddrive-plugin:13254): xfce4-cddrive-plugin-WARNING **: failed to open config file. Applying default settings. xfce4-cddrive-plugin-ERROR **: file cddrive-monitor.c: line 98 (cddrive_store_dbus_error): assertion failed: (dbus_error_is_set (dbus_error)) aborting... ** Message: CD Drive Monitor: screen changed: 0 ** Message: No valid plug window. (xfce4-panel:30579): Gtk-CRITICAL **: gtk_socket_get_id: assertion `GTK_WIDGET_ANCHORED (socket)' failed ** (xfce4-panel:30579): CRITICAL **: An item was unexpectedly removed: "CD Drive Monitor".
Created attachment 1270 Valgrind Output #1
Created attachment 1271 Valgrind Output #2
The code that could trigger the assertion is executed when the plugin asks HAL for the drive list, and HAL send back an empty list (no drive detected) without error. That is now fixed (well, i hope). If the fix works, but your computer has a cdrom drive managed by HAL, and is not listed by the plugin, you can try to run "hal-device-manager" and see what kind of capabilities it has in the "Device" tab, since the plugin only list devices with the "storage.cdrom" capability. There might be some i missed. Thanks for your help.
(In reply to comment #6) > The code that could trigger the assertion is executed when the plugin asks HAL > for the drive list, and HAL send back an empty list (no drive detected) without > error. > That is now fixed (well, i hope). Preferences shows my drive now and plug-in doesn't disappear anymore. Looking good so far. > If the fix works, but your computer has a cdrom drive managed by HAL, and is > not listed by the plugin, you can try to run "hal-device-manager" and see what > kind of capabilities it has in the "Device" tab, since the plugin only list > devices with the "storage.cdrom" capability. There might be some i missed. It lists: storage, block, storage.cdrom Inserted Audio CD to drive, and from .xsession-errors: (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: failed to open config file. Applying default settings. ** (xfce4-volstatus-icon:30615): CRITICAL **: xfce_volstatus_icon_drive_volume_added: assertion `!g_list_find_custom(vlist->volumes, volume, ghal_device_compare)' failed ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: unable to get first track number. ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: unable to get first track number. ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: unable to get first track number. ** (xfce4-volstatus-icon:30615): CRITICAL **: xfce_volstatus_icon_drive_volume_added: assertion `!g_list_find_custom(vlist->volumes, volume, ghal_device_compare)' failed ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: unable to get first track number. ** (xfce4-volstatus-icon:30615): CRITICAL **: xfce_volstatus_icon_drive_volume_added: assertion `!g_list_find_custom(vlist->volumes, volume, ghal_device_compare)' failed From lshal: udi = '/org/freedesktop/Hal/devices/storage_model_LITE_ON_DVDRW_SHM_165P6S' block.device = '/dev/hdc' (string) block.is_volume = false (bool) block.major = 22 (0x16) (int) block.minor = 0 (0x0) (int) block.storage_device = '/org/freedesktop/Hal/devices/storage_model_LITE_ON_DVDRW_SHM_165P6S' (string) info.addons = {'hald-addon-storage'} (string list) info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list) info.category = 'storage' (string) info.interfaces = {'org.freedesktop.Hal.Device.Storage', 'org.freedesktop.Hal.Device.Storage'} (string list) info.parent = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) info.product = 'LITE-ON DVDRW SHM-165P6S' (string) info.udi = '/org/freedesktop/Hal/devices/storage_model_LITE_ON_DVDRW_SHM_165P6S' (string) linux.hotplug_type = 3 (0x3) (int) linux.sysfs_path = '/sys/block/hdc' (string) org.freedesktop.Hal.Device.Storage.method_argnames = {'extra_options', 'extra_options'} (string list) org.freedesktop.Hal.Device.Storage.method_execpaths = {'hal-storage-eject', 'hal-storage-closetray'} (string list) org.freedesktop.Hal.Device.Storage.method_names = {'Eject', 'CloseTray'} (string list) org.freedesktop.Hal.Device.Storage.method_signatures = {'as', 'as'} (string list) storage.automount_enabled_hint = true (bool) storage.bus = 'ide' (string) storage.cdrom.bd = false (bool) storage.cdrom.bdr = false (bool) storage.cdrom.bdre = false (bool) storage.cdrom.cdr = true (bool) storage.cdrom.cdrw = true (bool) storage.cdrom.dvd = true (bool) storage.cdrom.dvdplusr = true (bool) storage.cdrom.dvdplusrdl = true (bool) storage.cdrom.dvdplusrw = true (bool) storage.cdrom.dvdplusrwdl = false (bool) storage.cdrom.dvdr = true (bool) storage.cdrom.dvdram = true (bool) storage.cdrom.dvdrw = true (bool) storage.cdrom.hddvd = false (bool) storage.cdrom.hddvdr = false (bool) storage.cdrom.hddvdrw = false (bool) storage.cdrom.mo = false (bool) storage.cdrom.mrw = true (bool) storage.cdrom.mrw_w = true (bool) storage.cdrom.read_speed = 2117 (0x845) (int) storage.cdrom.support_media_changed = true (bool) storage.cdrom.support_multisession = true (bool) storage.cdrom.write_speed = 8467 (0x2113) (int) storage.cdrom.write_speeds = {'8467', '7056', '5645', '4234', '2822', '1411'} (string list) storage.drive_type = 'cdrom' (string) storage.firmware_version = 'MS0M' (string) storage.hotpluggable = false (bool) storage.media_check_enabled = true (bool) storage.model = 'LITE-ON DVDRW SHM-165P6S' (string) storage.no_partitions_hint = true (bool) storage.originating_device = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) storage.partitioning_scheme = '' (string) storage.physical_device = '/org/freedesktop/Hal/devices/pci_1106_571_ide_1_0' (string) storage.removable = true (bool) storage.removable.media_available = true (bool) storage.removable.media_size = 426842112 (0x19711800) (uint64) storage.requires_eject = true (bool) storage.size = 0 (0x0) (uint64) storage.vendor = '' (string) (btw, my HAL is 0.5.9.1 and cddrive plug-in is ./configured with ./configure --enable-thread --enable-debug=full --enable-cddb --prefix=/usr) > Thanks for your help. No prob. I'm looking forward adding this plug-in to Gentoo Portage. :-)
And sorry, my paste seemed to include errors also from xfce4-volstatus-icon plug-in. Ignore that, should likely open a second bug for that or something..
And I'm not sure at all if THIS problem is a problem at your plug-in at all, leaving it under your consideration.. If it isn't sorry about my unknownledge.
libcdio seems unable to read the first track of the disk. Have you tried with another audio cd ? or can you see the title of the cd in some audio player ? At least, it made me notice that libcdio supports cd-text. I will add it to the plugin (i'll leave a message when it'll be ready). I doubt it will be of help (as for myself, none of my cds contains cd-text infos), but who knows... (Ah ! had i been aware of this xfce4-volstatus-icon, i probably wouldn't have written this plugin in first place - though i don't like systray systems)
Another question: does the plugin crash when you click on it to eject the disc ?
(In reply to comment #10) > libcdio seems unable to read the first track of the disk. Have you tried with > another audio cd ? or can you see the title of the cd in some audio player ? Just tried with exaile-0.2.10, it finds the Audio CD, tracks and gets correct information about song names etc. > (Ah ! had i been aware of this xfce4-volstatus-icon, i probably wouldn't have > written this plugin in first place - though i don't like systray systems) Yeah, they are pretty similar.. perhaps a merge? :-)
Erm, the CD that Exaile finds and shows song datas: ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error ++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error (xfce4-cddrive-plugin:22517): xfce4-cddrive-plugin-WARNING **: unable to get first track number.
(In reply to comment #11) > Another question: does the plugin crash when you click on it to eject the disc > ? > No it doesn't, it opens the drive properly
http://dev.gentoo.org/~drac/exaile-and-cddrive-plugin.png
I've committed some changes on svn: - better cd mode check (this should get rid of the "++ WARN: error in ioctl CDROMREADTOCHDR: Input/output error" message). - extended the range of supported audio cd (i believe the previous function i used was a bit conservative - i'm not sure about that, but what is sure is that the new function can handle at least as much as the previous one. - CD-TEXT mode added. If the cd contains this kind of infos, the plugin will read the title from the CD instead of freedb.org .
(In reply to comment #16) > I've committed some changes on svn: Nice work. Everything works for me now without a single error. :)
Great! Thank you again for your help. I'm closing the bug now. For the record: the fixed svn revision is 2862.
(In reply to comment #18) > Great! Thank you again for your help. I'm closing the bug now. > For the record: the fixed svn revision is 2862. > Yep, likewise, thanks. Soon as you tag a release, I'll add it to our Portage tree.