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 311571 - Add CD-TEXT metadata backend
Add CD-TEXT metadata backend
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: metadata
2.11.x
Other Linux
: Normal enhancement
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-07-26 10:18 UTC by Ross Burton
Modified: 2008-02-11 10:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Prototype patch (11.34 KB, patch)
2005-10-03 20:42 UTC, Ross Burton
committed Details | Review

Description Ross Burton 2005-07-26 10:18:32 UTC
If SJ had a CD-TEXT metadata backend, then it could use that information if
available instead of querying musicbrainz.
Comment 1 Ross Burton 2005-10-03 20:42:41 UTC
Created attachment 52996 [details] [review]
Prototype patch

Attaching a prototype patch which will be applied once I've sorted out a few
issues and have branched.
Comment 2 Ross Burton 2005-10-03 21:13:11 UTC
Comment on attachment 52996 [details] [review]
Prototype patch

This is committed to CVS HEAD now, so I just need to hook it into the rest of
the application now.
Comment 3 kimus.linuxus 2007-04-19 15:48:25 UTC
Many comercial CD's that I put on my laptop the sound-juicer reports wrong info.
This is a bit stupid because they all have CD-TEXT information.

Also all my compilation recorded CD's that have CD-TEXT are reporting bad names because sound-juicer is using CDDB also (?!!!).

This is very easy to reproduce:

1- Burn an Audio CD with some tracks from another CD or mp3 with CD-TEXT enabled. After burning the the Audio CD you will have a custom CD;
2- Just insert the Audio CD and the Sound Juicer will pop up with wrong track information.

The Sound Juicer will report wrong track information because it does not read CD-TEXT info and goes directly to the CDDB internet database.

This bug is from one year ago for the 2.11.x branch but this continue to happen in the 2.16.x release.

Comment 4 Ross Burton 2007-04-19 15:59:32 UTC
CD-TEXT isn't enabled by default, which is why its looking up the track index on Musicbrainz.
Comment 5 kimus.linuxus 2007-04-22 14:20:09 UTC
How can i enable it then?
Comment 6 Ross Burton 2007-04-22 14:32:26 UTC
You edit the source of sj-main to construct a CD-TEXT backend rather than a MusicBrainz backend.  Once you do this there is no way to lookup tracks using MusicBrainz, which is why the code isn't enabled.

Basically SJ needs to query multiple sources, and this hasn't been done yet.
Comment 7 kimus.linuxus 2007-04-22 16:09:16 UTC
k3b asks for the user if he wants use CD-TEXT or CDDB.

I would gladly help you to develop this if I could.

What I think it could be done is:
- detect if inserted CD has CD-TEXT;
- ask for the user what action he wants to do (CD-TEXT or MusicBrainz);

I see that there is already a sj-metadata-cdtext source file that can be used right?
Comment 8 Ross Burton 2007-04-22 16:40:31 UTC
If there are multiple results from MusicBrainz a dialog will popup asking the user to pick one.  This should be extended to display the source of the data (MusicBrainz, CD-TEXT, FreeDB[1]) and used when there is both CD-TEXT and Musicbrainz hits.

Then the dialog should be extended to show the track listings, so the user can make a more informed choice.

Patches are always welcome!  If you want more advise on how to proceed, just ask.

[1] MusicBrainz will proxy to FreeDB if it has no data, and this is detected in SJ
Comment 9 kimus.linuxus 2007-04-22 17:18:01 UTC
I'm a Java/C# developer and I've developed also in other languages. But never in C. If you think that is enough then just give me a good IDE for developing and debugging that I'll manage do compile, run the code and I can try something out.
Comment 10 Ross Burton 2007-04-22 18:00:33 UTC
I use emacs, a terminal, and gdb as my IDE.  You can use whatever you want.
Comment 11 Bastien Nocera 2007-04-22 22:28:35 UTC
(In reply to comment #8)
> If there are multiple results from MusicBrainz a dialog will popup asking the
> user to pick one.  This should be extended to display the source of the data
> (MusicBrainz, CD-TEXT, FreeDB[1]) and used when there is both CD-TEXT and
> Musicbrainz hits.

The code should obviously only read from the CD-TEXT info if there's no network, and we'd need to teach Rhythmbox/nautilus-cd-burner about writing CD-TEXT info.
Comment 12 kimus.linuxus 2007-04-22 22:50:37 UTC
I don't agree with you. It should be asked to the user or configured in the preferences. I also prefer going directly to CD-TEXT because the information is already there why bother querying MusicBrainz?? But I can gladly accept a configurable setting in the preferences dialog.

I've several commercial CDs, copies and all my custom compilations reporting wrong track names. k3b cleverly asks for a user decision in these cases.

Also in some cases there are a list of options for the same CD. The user should be presented with a pop up list to choose the correct one. I don't know if SJ has this feature or not.
Comment 13 Bastien Nocera 2007-04-22 23:05:32 UTC
(In reply to comment #12)
> I don't agree with you. It should be asked to the user or configured in the

Read more carefully. I said: "no network, read CD-TEXT and don't try to read off Musicbrainz/FreeDB (ie. the network)", which I think you'd have a really hard time to find anything disagreeable about.
Comment 14 kimus.linuxus 2007-04-22 23:19:11 UTC
sorry but you wrote was: "only read from the CD-TEXT info if there's no network". What I understood is that ONLY when there's no network that SJ tries to read CD-TEXT. If  I understood correctly what you've wrote than I must not agree with you. I think the user should ALWAYS, if no default preference exists, be asked for a decision. When there's no network, and ONLY then (or when a preference exist), that there's no need for a user decision and go directly to CD-TEXT info (or the default in the preferences).

Sorry if I didn't understand or write good english. I'm not a native english speaker. 
Comment 15 Ross Burton 2007-04-23 06:49:14 UTC
1) there will not be a preference involved, ever.
2) in the no-network case, the Musicbrainz backend should fail straight away without timing out.  I guess we'll need to link to libNM for that.
3) otherwise when there is network, always read CD-TEXT (and fail 90% of the time, I've yet to find a commercial CD with CD-TEXT) and add the CD-TEXT data to the musicbrainz data.  If there is more than one result, the user is asked to pick (as it does now)
Comment 16 Ross Burton 2008-02-11 10:28:44 UTC
As the CD-TEXT backend is committed I'm closing this, but I've created a new bug to track the integration of it.