Bug 89 - abcde 2.9.2 does not use CD-Text when told to
Summary: abcde 2.9.2 does not use CD-Text when told to
Alias: None
Product: abcde
Classification: Unclassified
Component: Ripping (show other bugs)
Version: unspecified
Hardware: PC Linux
: Normal normal
Assignee: Steve McIntyre
Depends on:
Reported: 2018-08-29 19:56 BST by Sean Pappalardo
Modified: 2019-01-14 23:57 GMT (History)
1 user (show)

See Also:

Debug output from example run (stderr) (45.16 KB, text/plain)
2019-01-14 18:29 GMT, Sean Pappalardo
Stdout of example run showing CD-Text read (2.07 KB, text/plain)
2019-01-14 18:30 GMT, Sean Pappalardo

Note You need to log in before you can comment on or make changes to this bug.
Description Sean Pappalardo 2018-08-29 19:56:19 BST
Using abcde v2.9.2 on a new-enough disc that is not in cddb but has CD-Text, it fails to read the text at all, giving the default unknown template "Track n" list. This is despite my ~/.abcde.conf file specifying CDDBMETHOD=musicbrainz,cddb,cdtext

When invoking it with -Q cdtext, it reads and displays the text, but continues to proceed with the default unknown template.

(This implies it is also not reading my ~/.abcde.conf file.)

This is on Debian Stretch 9.5.
Comment 1 Sean Pappalardo 2019-01-14 17:49:00 GMT
This is also a problem in 2.9.0.
Comment 2 Sean Pappalardo 2019-01-14 18:29:32 GMT
Created attachment 73 [details]
Debug output from example run (stderr)
Comment 3 Sean Pappalardo 2019-01-14 18:30:55 GMT
Created attachment 74 [details]
Stdout of example run showing CD-Text read
Comment 4 Sean Pappalardo 2019-01-14 19:34:35 GMT
Problem isolated to cdda2wav not piping correctly:
cdda2wav -J -v titles -D /dev/sg1 > /tmp/foo 2>&1
Displays CD-Text correctly but /tmp/foo is empty, though gets created.

Workaround: install icedax.
Comment 5 Steve McIntyre 2019-01-14 23:57:43 GMT
Just committed a fix in git now.

cdda2wav is bizarrely writing the track information to *stdin* rather than stdout or stderr. I've never seen another program do this!

In the code that calls cdda2wav or icedax here, we can simpoly redirect fd 0 as well, and this will give the expected results.