i’ll be honest i don’t recall where i read that M does the cue file, cause it’s not even in abcde --help, but i’ve been using it for years and it has always worked (on other distros)
i’ll try flacon anyway, althought from what i remember, it’s just a splitter for cue files
or anyway, i’ll simply create a classic rip, with either abcde or sound-juicer
Well i’ll be honest, i’m just a nerdy music lover with a big collection of records and i find nice to have the ability to rip an entire album in two single files. Abcde seems to be the only one on linux able to do that, but it’s not that i’m dying for it if it can’t be done, and anyway i don’t want to cause extra work to the team
on fedora anyway, it just worked althought i installed both glyr and mkcue from copr/external repositories
After doing a short invesitigation abcde’s -M option was deprecated in favour of the -a [action] parameter options.
If you read the manual by running man abcde then type /cue followed by return it will jump to the first instances of the word and will highlight every mention of cue in the man page thereafter.
Then if you read what the manual says in the OPTIONS section about the -a [actions] option you will discover it has a cue action.
The -M option has been internally deprecated and marked as being so by being commented out by the developer in the abcde script within the source tarball with instructions to use the aforementioned -a [action]:
#echo " WARNING: Deprecated. Use \"cue\" action"
#echo "-M Create a CUE file"
The -M parameter no longer functions as the developer moved whatever it did into the -a [action] parameter options behind the cue parameter there.
There are further usage examples of abcde near the end of the abcde manual page, it will be worth familiarising yourself with the contents of the software’s manual if you intend to use it going forward.
I hazard a guess that your fedora install was using an old version of abcde where the -M option was still there, in the latest version it is not, you will have to adapt your workflows and scripts in tune with the software they are using underneath.
i tried the -a cue option, as you said, unfortunately i get a
Encoding track 1 of 1: Two Colours...
Tagging track 1 of 1: Two Colours...
/home/legacychimera247/abcde.0701c002/track1.flac: ERROR: while parsing cuesheet "/home/legacychimera247/abcde.0701c002/cue-0701c002.txt" on line 4: CD-DA TRACK numbers must be sequential
*.flac: ERROR: reading metadata, status = "FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE"
The FLAC file could not be opened. Most likely the file does not exist
or is not readable.
[ERROR] abcde: The following commands failed to run:
tagtrack-flac-1: returned code 1: nice -n 10 metaflac --no-utf8-convert --import-cuesheet-from=/home/legacychimera247/abcde.0701c002/cue-0701c002.txt --import-tags-from=- /home/legacychimera247/abcde.0701c002/track1.flac
Finished. Not cleaning /home/legacychimera247/abcde.0701c002.
let me try again in fedora, maybe it’s also broken there and i don’t know, it’s been a while i have used fedora, since i am on openmandriva now
Edit: either -1M and -a default,cue, work in fedora, weird as program is the same with same dependencies
If you are going to post logs please also include the complete parameters you enter into the terminal, as we have no absolutely way of knowing what parameters you are launching software with in order to be able to determine an appropriate response, nor to be able to attempt to reproduce any reported issues - without seeing the complete log including any/all program launch parameters it looks as if you are posting the same log output over and over and expecting a different result.
I have this evening ran abcde in a fresh Rock 6.0 VM, ripped and played back an entire audio CD in FLAC as individual tracks and as OGG files, both times with no errors at all with complete track informations and all played successfully.
That verified that abdce and the encoder that it uses are producing valid audio files and everything was functioning as intended with the configuration I ran abcde with for individual tracks.
I was already replying when you edited your above post, so I will quote this part:
Did you read the man page or anything I wrote about the M option being deprecated? It does nothing since 2006!
Anyway, the man page description for the -1 option actually gives the full command to do what you are trying to do:
OPTIONS
-1 Encode the whole CD in a single file. The resulting file uses the CD title for tagging. If the resulting format is a flac file
with an embedded cuesheet, the file can be used as a source for creating other formats. Use "-1 -o flac -a default,cue" for ob‐
taining such a file.
Use "-1 -o flac -a default,cue" for obtaining such a file.
I ran these exact commands from the man page and was able to reproduce the invalid cue sheet issue you are seeing:
$ abcde -1 -o flac -a default,cue
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Retrieved 1 match...
...
<snipped for brevity>
...
Encoding track 01 of 01: Somewhere Back in Time: The Best of 1980–1989...
Tagging track 01 of 01: Somewhere Back in Time: The Best of 1980–1989...
/home/uro/abcde.e710a30f/track01.flac: ERROR: while parsing cuesheet "/home/uro/abcde.e710a30f/cue-e710a30f.txt" on line 4: CD-DA TRACK numbers must be sequential
[ERROR] abcde: The following commands failed to run:
tagtrack-flac-01: returned code 1: nice -n 10 metaflac --no-utf8-convert --import-cuesheet-from=/home/uro/abcde.e710a30f/cue-e710a30f.txt --import-tags-from=- /home/uro/abcde.e710a30f/track01.flac
Finished. Not cleaning /home/uro/abcde.e710a30f.
$
The cue sheet produced did have an error inside it, it had the first track metadata duplicated, causing abcde to report an error because of the invalid cuesheet data due to the duplicated track.
With that noted, this is not a bug in the software, it is the result of abcdenot being configured correctly for ripping entire disks as a single file with the correct cue sheet formatting and output.
You need to put in the work to configure the software for how you want to run it.
In order to create valid cue-sheets for an entire disk you need to configure abcde correctly by passing it a configuration file instructing it how to do what you require it to do with the programs that it runs under the hood, in this case handle cue-sheets and which cue reader syntax (abcde.mkcue) they are being produced with, which version of mkcue to run (internal or external) as well as setting the mkcue --wholedisk option (–wholedisk only works with the internal abcde.mkcue) which creates a different variation of cue-sheet for the entire disk depending whether --wholedisk is set or not:
CONFIGURATION
abcde sources two configuration files on startup ‐ /etc/abcde.conf and $HOME/.abcde.conf, in that order.
The configuration options stated in those files can be overridden by providing the appropriate flags at runtime.
...
...
^ You can also use the option -c nameofconfig.conf to pass a different/non-default conf file into abcde.
# abcde.mkcue
# abcde.mkcue [--wholedisk]
# This creates a cuefile directly from the extended discid information
# The --wholedisk option controls whether we're ripping data from the
# start of track one or from the start of the disk (usually, but not
# always the same thing!)
#
# Track one leadin/pregap (if any) handeling:
# --wholedisk specified:
# TRACK 01 AUDIO
# INDEX 00 00:00:00
# INDEX 01 <pregap value>
# Remaining track index values unchanged from disc TOC
#
# --wholedisk not specified
# TRACK 01 AUDIO
# PREGAP <pregap value>
# INDEX 01 00:00:00
# Remaining track index values offset by <pregap value>
All of this information including all of the configuration file options are described in the abcde man pages and those options are more expansively described inside the default configuration file at /etc/abcde.conf, with the exception of the internal abcde.mkcue’s --wholedisk option which is documented in the abcde script itself just above the abcde.mkcue() function declaration.
I actually discovered about the --wholedisk option reading the changelog file (/usr/share/doc/abcde/changelog) that we ship with this package’s docs which references a bug report/commit which fixed an issue with using abcde.mkcue with abcde in v2.9.0 from 2018:
* Fix abcde.mkcue() when handling the --wholedisk option. Thanks to
Nino Burini for the patch. Closes Issue 47 and maybe also 45:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=47
https://abcde.einval.com/bugzilla/show_bug.cgi?id=45
If you recall above I wrote that abcde can use configuration files, with the information gained from those bug reports combined with the abcde man page & the /etc/abcde.conf file I added those options into a abcde-mkcue-wholedisk.conf file in my home directory and after deleting the abcde.e710a30f directory created from the previous failed execution (to prevent that known faulty data affecting a new execution), I then ran abcde with the configuration file by issuing:
abcde -1 -o flac -a default,cue -c abcde-mkcue-wholedisk.conf
Using this configuration file abcde successfully ripped the entire CD as a single FLAC file with the accompanying name.flac.cue sheet with no errors reported, the cue sheet track ordering looks normal and the FLAC file plays successfully, both load into audio players that support cue sheets such as QMMP with no issues.
Here is the log output from that run (minus the entire tracklist as this post is lengthy enough as it is):
$ abcde -1 -o flac -a default,cue -c abcde-mkcue-wholedisk.conf
Grabbing entire CD - tracks: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Retrieved 1 match...
#1 (Musicbrainz): ---- Iron Maiden / Somewhere Back in Time: The Best of 1980–1989 ----
1: Churchill’s Speech
...
<snipped tracklist for brevity>
...
15: Iron Maiden (live)
Which entry would you like abcde to use (0 for none)? [0-1]: 1
Selected: #1 (Musicbrainz) (Iron Maiden / Somewhere Back in Time: The Best of 1980–1989)
---- Iron Maiden / Somewhere Back in Time: The Best of 1980–1989 ----
Year: 2008
Edit selected CDDB data [y/N]? n
Is the CD multi-artist [y/N]? n
Grabbing tracks 01 - 15 as one track ...
cdparanoia III release 10.2 (September 11, 2008)
Ripping from sector 0 (track 1 [0:00.00])
to sector 319445 (track 15 [4:21.26])
outputting to /home/uro/abcde.e710a30f/track01.wav
(== PROGRESS == [ | 319445 00 ] == :^D * ==)
Done.
Encoding track 01 of 01: Somewhere Back in Time: The Best of 1980–1989...
Tagging track 01 of 01: Somewhere Back in Time: The Best of 1980–1989...
Finished.
$
To reiterate again, the output that you were getting from abcde was not an error with the software, it was a configuration error, specifically in not being configured for the task you want it to do at all.
There are a lot more options you can pass through the abcde configuration files including encoder options for the various encoders it can use that we have packaged, if you plan on using those encoders or have some bespoke FLAC encoder options, you can figure out how to configure those with the information provided by the man pages and the configuration file locations I have referenced in this post.
Regarding Fedora, perhaps you have a default ~/abcde.conf set up already in your Fedora install already or have modified the /erc/abcde.conf file and that is why it “just works”, Fedora do not ship any special /etc/abcde.conf with their package, it is packaged with the source tarball’s default abcde.conf file which is the same as we do in OpenMandriva Lx.
So it seems that you have been giving abcde partly bad parameter options combined with it no configuration file to try to operate in the mode you want it to operate all of this time when absorbing the software’s man pages and other documentation would have at least helped to steer you in the right direction, if you create a custom .conf file using these options it will at least get you generating valid cue sheets to go with your flac files:
well let me thank you , i had a read to the manual and the config file, and i was finally able to do what i wanted, a single file with a cue file attached as bookmark
while i thank you anyway, for teaching me how to solve the problem, let me pose a question
i have already ripped about 150 records with the single cue album, be either -1M or -a cue, and for doing this i didn’t need to set anything, just installed mkcue, specify the format and i was ready to go (i remember one time specifying to only use the flac format, but after an old reinstallation of the system, i haven’t touched anything), and it’s still working to this day (both -M despite being deprecated and -a cue), so how i am supposed to know the program had to be configured, and that maybe, fedora configured it themselves?(which i doubt, but i’ll have a check on the config file there)
Edit: on a side note, i just checked and this is the cue configuration with fedora that just works…
# CUE reader syntax for the CUE reader program to use.
# abcde supports 2 CUE modes: 'mkcue' and 'abcde.mkcue' so you can set the
# MKCUE variable accordingly. The 'abcde.mkcue' uses an internal
# implementation, without the need of an external program.
#CUEREADERSYNTAX=default
seems like (from what i understand) that leaving it default, it uses mkcue, setting it to abcde.mkcue, uses and internal cue implementation…