[PLUGIN] cd player

got it working yay thankyou

Please provide your solution here!

@geeks-r-us as reported in my earlier post there is a typo in your install.sh script command with missing hf in the second part of the link command.
should be: sudo ln -s /usr/lib/arm-linux-gnueabihf/libdiscid.so.0 /usr/lib/arm-linux-gnueabihf/libdiscid.so I submitted a PR.

as macmpi pi says i typed in sudo ln -s /usr/lib/arm-linux-gnueabihf/libdiscid.so.0 /usr/lib/arm-linux-gnueabihf/libdiscid.so in terminal and it all worked. make sure ssh is turned on before installing plugin, install plugin via upload plugin, and then type that sentance out and all is good.

accepted merge request and updated zip file.

Hi Geek.

Iā€™ve installed your cd player plugin and it works very well! Thank you for your work!

Now Iā€™m trying to add an icon in the Browse tab of the GUI, who actually is missing.

Iā€™ve pasted this line to the index.js file, in the music sources section:

albumart: '/albumart?sourceicon=music_service/cdplayer/icon.svg'

However, this modification broke the GUI, and I donā€™t understand whyā€¦

Any idea?

Thanks.
Just submitted few more to fix plugin stop UI message, enable localization, add French locale, and few other cosmetic stuff.

While playing from track list works fines, Iā€™m still having troubles to reliably use play/pause/next/back buttons.
Also, track name is not displayed in Playback UI, only track number is.

Thanks again for all the work and support.

PS: though not accurately bench-marked yet, I have the impression CDs play a bit too fastā€¦ (as a second-thought clue, seconds seem to also increment slightly too fast in Playback UI)

Thx for all PUs macmpi . Iā€™ve merged them into the branch and made a new zip.

I experienced also the problem that CDs where not played at the right speed. It was often a bit too slow in my case. VLC (which also use the libcdio for reading CDs ) doesnā€™t have this issue. So the reason must be somewhere within the usage of it in the mpd implementation. My workaround was to change the USB2IDE controller board. I currently use a INIC-1511L PATA Bridge chipset).

Due to lack of time had no look at the coverimage and play/pause issue. But I look forward to winter holiday.

Downloading plugin at http://127.0.0.1:3000/plugin-serve/7958e493-2025-41c8-9f88-e97d93cffe0c.zip END DOWNLOAD: http://127.0.0.1:3000/plugin-serve/7958e493-2025-41c8-9f88-e97d93cffe0c.zip Creating folder on disk Unpacking plugin Checking for duplicate plugin Copying Plugin into location Installing dependencies The following error occurred when installing the plugin: Error

:ā€™(

UPDATE: With volumio password set to ā€œvolumioā€, it works! Hurray!
Or at least the installation succeeded ā€¦ Further investigation ā€¦

UPDATE2: Faulty drive or communication difficulties. Other drive works! YAY! (^_^)/

I just created a test 1mn.aiff file: itā€™s 1mn silence delimited at each end by 4 DTMF beeps: thereā€™s an exact minute timespan between the two 4rth beeps.
I first tested as simple file playback from Volumio ā€œinternalā€ storage, and used a stopwatch to measure time: expected timing match.
Then I burnt an Audio CD (not a file CD-ROM !) with that same fileā€¦same perfect result (also tested on a regular HiFi Audio CD deck).
So it seems good for me (now): maybe last PR on properly setting drive speed fixed the issueā€¦or it was just some misleading perception?..

Anyone can make similar test with the provided file on own setup if in doubts for playback speed.

It seems to me that the plugin utilizes libcdio and the included library cdparanoia. cd-paranoia offers a set of tools to analyze drive behavior.

--analyze-drive Run and log a complete analysis of drive caching, timing and reading behavior; verifies that cdparanoia is correctly mod- elling a sprcific driveĆ¢ā‚¬ā„¢s cache and read behavior. Implies -vQL.

Those settings are essential. I use this outside of Volumio to digitize CDs. I just donā€™t know how to launch this on Volumio ā€¦ But maybe this helps as a push in the right direction. :slight_smile:

Hi,

I installed the latest version of the plugin. Installation ran without any issues.
Playing CDs on a salvaged Laptop SATA-DVD-Burner and a cheap chinese USB to SATA adapter
https://www.ebay.de/itm/Hard-Disk-Drive-MINI-SATA-7-6-Pin-13-To-USB-2-0-Adapter-Cable-For-HDD-Laptop/182662474213?hash=item2a878829e5:g:wL4AAOSwu59ZZBiL
connected over a external powered USB Hub (to get the required 1,5A) works - but initially with buffer underruns.

This got better after decreasing! the buffer size in Volumio to 128kB and setting the amount to 30%.

After playing around with different drive speeds it now works without buffer underruns at drive speed set to 16x (and only 16x is working in my setup).

  • Josef

Yes, though Volumio2 base-install also has libcdio-paranoia1 built-in (which depends on libcdio13) that supposedly adapts/corrects jitter & al: mpd uses it for playback and it can be useful for file extraction too.

To perform tests you may install full cdparanoia application under ssh and check disc support.
In my case it says: Drive tests OK with Paranoia
Maybe it could make sense to add a ā€œCheck disk supportā€ button in plugin settings in order to run cdparanoia -A and display result so that user may optionally diagnose support status?

I assume actual adaptation/error detection is fully automatic in some ā€œparanoiaā€ mode, but Iā€™m unsure mpd eventually sets/uses any for Audio playback, or if they are just meant for extraction.
However, libcdio seems to have a dedicated way to handle read speed through cdio_cddap_speed_set; paranoia mode options can be set too. Maybe itā€™s a more adequate way to handle ReadSpeed rather than setting it though eject command.

@geeks-r-us, what do you think?

I tried this with my setup that produces buffer underruns all the time and the result was ā€œDrive tests OK with Paranoiaā€. So this answer my be true for ripping CDs which must not be read in realtime but is not adequate for listening. And / or does not test the method the cd paranoia plugin for mpd uses to extract the audio data. As mentioned VLC also us libcdio for reading audio CDs and works well on the setup where mpd fails.

Iā€™m not sure if this is actually an option, because this needs to be set by den mpd plugin which uses the cdio lib. ffmpeg provides such parameters options. But the very poor documentation of the cd paranoia plugin for mpd does not provide any hint if there is a way to set it. The only way I would see is to read and eventually modify the source of the cd paranoia plugin. But this seems a bit out of scope for me.

cdio_cddap_speed_set is just part of plain libcdio/libcdio-paranoia as per this, so it can be set by just calling the lib.
Same for cdio_paranoia_modeset.

Maybe mpd dev could shed some light on eventual necessity to set it or if mpd does it by itself.
A quick scan on mpd github repo did not show it setting anything in this regard.
However, it seems some good news coming for underrunsā€¦

That looks in fact very promising, letā€™s see how long it takes before the commit trickles down to volumio :slight_smile:

Iā€™m pretty sure it will be in as soon as MPD is released with that fix :wink:

Hi. I would like to try this plug in.

  1. Do i just download the zip in the first thread and install it from volumio?
  2. Is there a list of supported cd drives? How can I tell if a cd is supported? A lot of cheap usb cd drives in aliexpress but not sure they are supported. Maybe a brand one like lg or Sony should work?
    Thanks
  1. Yes
  2. Assuming the mentioned bugfix version is faster than your aliexpress order most drives should work as long as they are supported by linux (may itā€™s within the description)

Santa came earlierā€¦
He brought mpd 0.20.12 ā€¦ :wink:
here: updates.volumio.org/pi/volumio/2 ā€¦ pi.img.zip

From my tests cdda works just great, let me know if you get the same results