I created a plugin that adds cd playback via USB CD Player.
Given that A) the plugin guidelines still refers to Volumio 3 and B) I have Volumio 3 installed at home, I didn’t see Volumio 4 coming at all. It wasn’t until I decided to submit the plugin that I realized that submissions for Volumio 3 are not accepted unless critical.
I would like to gauge from the Volumio team what would be the best course of action: would it be better to wait for Volumio 4 to be released and migrate only after? Or can it be released in dev mode for Volumio 3 users? How hard is the migration, many changes expected or minor adjustments?
I am now satisfied with how it works on my RPi 3B+ Volumio 3 and evaluating the effort needed to publish it. In the meanwhile, I encourage the community to test it out.
Regarding the Plugins Test Check list,
I am not sure about the following and I could use some help:
Does the plugin need to build modules or other components? The plugin builds discid. Any workaround suggested so that I don’t have to build it? It’s essential for artwork retrieval.
Does the plugin install libraries or anything similar (e.g. in /usr/local/lib )? Is the cdplayer_stream.service considered a library?
Does the plugin deletes its plugin folder on a failed install?. It’s not clear to me how the the plugin should take care of the folder cleanup. Is there an example I can look at?
On Volumio 4, the node module discid is available, no need to compile it. Add it in the package.json
If you really need something else, provide a compiled version for both arch : x86 and armv7l.
ok for that. And remove it in uninstall.sh
When you unstall the plugin, check if everything is removed in /data/plugins/…/yourplugin
Thanks @balbuze, it doesn’t seem much to change. I will get to it hopefully soon.
In the meanwhile, I would like to ask one more thing that has been a head scratcher for some time. I hope you could shed some light.
As you can see in the screenshots I shared in my original post, the “now playing” view shows “1” as the title track instead of the proper title “Welcome to the jungle”.
According to my research, this is the result of using the “mpd” service for playback.
MPD uses the last part of the streaming URL as the title of the track.
I asked Chat GPT for solutions to this problem, and I essentially received two options:
I could handle the playback myself instead of using the “mpd” service.
I could make significant changes to how I handle the stream so that I can provide MPD with the correct metadata from which to extract the track title. This involved creating playlists and m3u files, which seemed like a complex solution for a simple goal.
I’m curious if there’s a third option that ChatGPT doesn’t consider and would be more suitable in this scenario? Isn’t there really no straightforward way to provide MPD with the track title?
Hi @Biagio,
it does not support CD ripping and unfortunately it is not something I am super interested in. I’ll prioritize Volumio 4 and fix community-found issues/bugs. The docs advise against manually installing plugins to avoid system instability. However, if you’re comfortable with git and the command line, there are guides available out there. However, I recommend waiting for the plugin’s release on the beta channel and installing it from there
I have started the migration to Volumio 4. So far so good, but I just found one blocker related to discid.
@balbuze suggested to declare it in the package.json instead of building it
On Volumio 4, the node module discid is available, no need to compile it. Add it in the package.json
I tried to add it to the package.json, but I am confused because by looking at npm registry, discid refers to something related to Discord (https://www.npmjs.com/package/discid), which is not what I need.
Can anyone give me more info on how to reference the pre-installed discid on Volumio 4? Does it have a different name? To clarify, the utility that I need is this one: libdiscid - MusicBrainz. As per documentation:
It reads a CD’s table of contents (TOC) and generates an identifier which can be used to lookup the CD at MusicBrainz.
I think he is mistaken about that package due to the same name. It is the Discord one, not the one you need so you may need to package it. I think you can just install it with apt-get in the install.sh
I tried to submit the plugin,
but it was rejected straight away on the basis that
Volumio already has such facility as premium plugin. […] the install of this one will break the already existing plugin.
Given that a previous CD Playback plugin exists (but not maintained), I expected this one to at least be considered and reviewed.
Anyway, I won’t pursue that further at this stage, because I also understand it might get political given it’s available as a premium feature. But, if anyone doesn’t have premium subscription and wants to try this one out installing manually, I’ll be happy to give support.
And if core devs want to give feedback on why it broke the already existing plugin, that feedback will also be welcomed.
Hi Matteo
that’s exactly why I had to take a protective stance this time. The previous plugin you referred to required lot of back and forth with the plugin developer to make sure it was not interfering with Volumio’s built-in functionalities.
To give you useful tips to solve:
Do not install utils which are already inside Volumio, in this instance: cdparanoia
Do not install build-essential. The reason you might want to install it, is because you have to compile something at install time (which I don’t see here) and that is not allowed. So if build.sh is not required, then dont’ use it.
Hi Matteo,
I am writing to you as a long-time non-premium Volumio user, I’m still using Volumio 2.917 with the Nanomesher CD player plugin. I haven’t installed the Volume 3 version yet… due to various plugin issues. I recently tried Volumio version 4.071 and was able to run all the plugins I had in version 2.917, but CD playback and ripping are only available in the premium version. I’m willing to try your CD plugin because I’m not interested in CD ripping either, just playback (ripping is more efficient on a PC).
Warm greetings
Dusan
@dhadzi
I am a similar user as you. I avoided to upgrade to V3 for long time because I also was relying on the old cd playback plugin. But I had time for a new project lately, so I started developing a new one.
@volumio
I made the required fixes and I submitted the plugin again via command line.
Please let me know if I can open a new PR and you have time/availability to look at it.
@matteo.tonini
I have manually installed your plugin. It worked great for me so far. Thank you for your project.
Just a small additional feature i am hoping for. Any chance that we can add a feature to add the whole CD track list to queue. Now i need to add each track manually.
I like that you’re looking at compatibility with the newer version instead of sticking to the old system that obviously got deprecated. If you want a handful of test users (especially those jumping from older versions), I’d be happy to try it out and give feedback.
Also - once it works, it’d be neat if the plugin could also detect track metadata cleanly (so CDs don’t just show “Track 1” or generic names). That’d make it much more seamless for everyday listening.
Regarding adding the whole CD track list to the queue: when you press play on any track, the entire CD should be added to the queue. This is working on my end. Does it work the same for you? I realize this isn’t exactly the feature you requested, but I want to make sure we’re starting from a common baseline.
Also, just as an FYI based on additional feedback, I’m working on the following fixes:
1. Adding an eject button
2. Fixing the bad image format shown in the queue when no cover art is available
Hi @matteo.tonini , I think it is because i enable only add single item in the settings. Not remember correct name but it allow me to add a single track in youtube instead of whole list. I will try to enable and test it out. About the eject button that is also on my wishlist XD it will save our CDRom button in the long run. @FeliciaD03 : In case you only see track1 , it propably mean there is no match in MusicBraiz CDDB. I made a small app to create a local CDDB by manually take picture of CD tracklist and OCR it then map to CD tracklist and modified matteo plugin to try read from local CDDB if not found.
Like this CD, but still need some edit ~~
Hi Matteo,
I didn’t see your post about the new additions for the CD plugin. Is it necessary to reinstall the entire plugin, or is it possible to update it?
Greetings and best wishes in the New Year!