Steve McIntyre [Mon, 6 Aug 2018 22:33:46 +0000 (23:33 +0100)]
Start development for 2.9.3
Steve McIntyre [Mon, 6 Aug 2018 22:31:24 +0000 (23:31 +0100)]
Update version number in the Makefile
Steve McIntyre [Sat, 4 Aug 2018 09:42:39 +0000 (10:42 +0100)]
Update the debian package files to match the 2.9.2-1 debian release
Steve McIntyre [Thu, 2 Aug 2018 15:08:29 +0000 (16:08 +0100)]
Release 2.9.2
Steve McIntyre [Thu, 2 Aug 2018 14:46:48 +0000 (15:46 +0100)]
More fixups of track number padding
Thanks to John Straw for the patch
Steve McIntyre [Thu, 2 Aug 2018 14:44:08 +0000 (15:44 +0100)]
Add a missing changelog entry
Steve McIntyre [Thu, 2 Aug 2018 14:18:18 +0000 (15:18 +0100)]
Fix typo in the README file
Steve McIntyre [Thu, 2 Aug 2018 14:17:16 +0000 (15:17 +0100)]
Add a link to the CDDB data format in the abcde man page
Closes Issue 81: https://abcde.einval.com/bugzilla/show_bug.cgi?id=81
Steve McIntyre [Thu, 2 Aug 2018 13:56:48 +0000 (14:56 +0100)]
Always call glyrc with LC_ALL=C
Thanks to Andreas Vögele for the report and the suggested fix. Closes
Issue 83: https://abcde.einval.com/bugzilla/show_bug.cgi?id=50
Steve McIntyre [Sat, 21 Apr 2018 18:39:30 +0000 (19:39 +0100)]
Drop some more of the shellcheck-inspired changes
Steve McIntyre [Sat, 21 Apr 2018 00:54:03 +0000 (01:54 +0100)]
Fix up lookup code to deal with spaces etc. in directory names
Do lookups and file copying in a subshell, to simplify the globbing
Steve McIntyre [Sun, 11 Mar 2018 22:05:37 +0000 (22:05 +0000)]
(Maybe) cope with stub entries in MusicBrainz
Stub entries are initial database entries (e.g for a new disc) which
don't have all the data we'd normally expect organised neatly into
releases. Try to parse the data we do get and return a useful
cddbread.X file for the user.
Steve McIntyre [Sat, 10 Mar 2018 15:00:01 +0000 (15:00 +0000)]
Start 2.9.2 development
Steve McIntyre [Fri, 9 Mar 2018 23:03:50 +0000 (23:03 +0000)]
Release 2.9.1
Steve McIntyre [Fri, 9 Mar 2018 22:45:03 +0000 (22:45 +0000)]
Really fix up counting the responses for musicbrainz and cddb
Steve McIntyre [Fri, 9 Mar 2018 15:53:05 +0000 (15:53 +0000)]
Use "ls $file*" rather than "echo $file*" to defeat globbing
Steve McIntyre [Fri, 9 Mar 2018 15:04:27 +0000 (15:04 +0000)]
Fix (again!) dealing with CDs with no release events
The rewrite with API v2 lost this fix - some CDs don't have release
events in Musicbrainz. Cope with that...
Steve McIntyre [Fri, 9 Mar 2018 15:02:07 +0000 (15:02 +0000)]
Cope with simple musicbrainz errors, e.g. disc not found
Steve McIntyre [Thu, 8 Mar 2018 01:18:18 +0000 (01:18 +0000)]
Merge Debian packaging files updates
Steve McIntyre [Thu, 8 Mar 2018 00:22:48 +0000 (00:22 +0000)]
Preparing release version 2.9
Steve McIntyre [Wed, 7 Mar 2018 00:30:58 +0000 (00:30 +0000)]
Add more missing changelog entries
Steve McIntyre [Wed, 7 Mar 2018 00:24:10 +0000 (00:24 +0000)]
Add changelog entry to go with resume support in do_getalbumart()
(commit
11542410b61c756673af840a470ba45466ba47c0)
Steve McIntyre [Wed, 7 Mar 2018 00:22:44 +0000 (00:22 +0000)]
Add a changelog entry to go with the Musicbrainz update
to improve multi-artist support (commit
12cda356a358fcbf9a122b26bc4240142859a4fe)
Steve McIntyre [Mon, 5 Mar 2018 12:54:47 +0000 (12:54 +0000)]
Fix usage of tput
It doesn't like having stderr redirected, so use new_checkexec instead
Steve McIntyre [Mon, 5 Mar 2018 12:32:41 +0000 (12:32 +0000)]
Better handling of terminal length
LINES *isn't* normally set inside a script, so try to use tput to get
the number of lines or fall back to the hard-coded 24
Steve McIntyre [Mon, 5 Mar 2018 12:28:07 +0000 (12:28 +0000)]
Add version check before resuming from an old run
Newer code stores data very differently, so it's not reasonable to
resume from an old interrupted rip run.
Steve McIntyre [Mon, 5 Mar 2018 00:26:18 +0000 (00:26 +0000)]
Push the rest of the do_getalbumart() resume changes
Steve McIntyre [Mon, 5 Mar 2018 00:20:44 +0000 (00:20 +0000)]
Add resume support in do_getalbumart()
Steve McIntyre [Mon, 5 Mar 2018 00:14:47 +0000 (00:14 +0000)]
Fix up resuming with the new multi-lookup method code
Now that we can call multiple lookup methods and the number of entries
we have is separated, add resume support to all three of the lookup
methods. Store the number of entries we found in the status file so we
can recover it later.
Steve McIntyre [Sun, 4 Mar 2018 23:50:33 +0000 (23:50 +0000)]
Extend Musicbrainz multi-artist support
Don't just grab the first artist - pull all the names from a given
release/recording and join them using the joinphrase field they
provide.
Steve McIntyre [Sun, 4 Mar 2018 21:56:29 +0000 (21:56 +0000)]
Don't quote things in "for i in $foo" - it will break loops
Steve McIntyre [Sun, 4 Mar 2018 21:50:43 +0000 (21:50 +0000)]
Undo more quoting changes
Steve McIntyre [Sun, 4 Mar 2018 21:21:17 +0000 (21:21 +0000)]
Fix getopts setup for "P"
There's no optarg used here. Thanks to Alan W. Kerr for reporting this.
Steve McIntyre [Sat, 3 Mar 2018 17:21:40 +0000 (17:21 +0000)]
Doh! Silly thinko bug
Use *expr*, not *eval* for unpadding
Steve McIntyre [Sat, 3 Mar 2018 17:11:23 +0000 (17:11 +0000)]
Comment each of the exported variables
Make it more obvious what each one is for. Particularly added for
TRACKQUEUE - make it clear it's 0-padded
Steve McIntyre [Sat, 3 Mar 2018 15:32:55 +0000 (15:32 +0000)]
Reinstate some uses of "eval" to allow for unpadding track numbers
Sigh - bash will interpret 0-padded numbers as octal
Steve McIntyre [Fri, 2 Mar 2018 21:47:08 +0000 (21:47 +0000)]
Remove some quoting that seems to be causing problems
Steve McIntyre [Fri, 2 Mar 2018 21:27:05 +0000 (21:27 +0000)]
Don't quote assignment of TRACKS - let the script lose spaces
Steve McIntyre [Thu, 1 Mar 2018 22:10:03 +0000 (22:10 +0000)]
Wrap some output messages so they fit on a standard width console
Steve McIntyre [Thu, 1 Mar 2018 21:49:54 +0000 (21:49 +0000)]
Wrap and shorten some very long lines
Steve McIntyre [Thu, 1 Mar 2018 21:32:32 +0000 (21:32 +0000)]
Update comments on the page() function
Steve McIntyre [Thu, 1 Mar 2018 21:30:11 +0000 (21:30 +0000)]
Fix indentation
Steve McIntyre [Thu, 1 Mar 2018 21:19:50 +0000 (21:19 +0000)]
Change variable name to clarify code
Shellcheck sees we use UTRACKNUM here in a subshell and elsewhere
outside of it. To reduce the chance of code confusion, use a different
temporary variable name here.
Steve McIntyre [Thu, 1 Mar 2018 21:14:21 +0000 (21:14 +0000)]
Fix tr usage
Steve McIntyre [Thu, 1 Mar 2018 21:06:32 +0000 (21:06 +0000)]
Factor out repeated code and make page() more useful
Instead of repeating logic about file lengths all over and only
calling page() for long files, simply move the conditionals into the
one place and do it there.
Steve McIntyre [Thu, 1 Mar 2018 20:55:20 +0000 (20:55 +0000)]
Show the blank template if selected so the user can see it
Steve McIntyre [Thu, 1 Mar 2018 20:17:58 +0000 (20:17 +0000)]
Fix quoting of PATTERN - it clearly needs to substitute $1 in
Steve McIntyre [Thu, 1 Mar 2018 19:01:57 +0000 (19:01 +0000)]
Add a datasource.0 file saying "template" if we need it
Steve McIntyre [Thu, 1 Mar 2018 02:30:57 +0000 (02:30 +0000)]
Massive string quoting cleanup
Mostly changes suggested by shellcheck. This will need major testing
to check functionality hasn't been broken.
Steve McIntyre [Thu, 1 Mar 2018 01:40:00 +0000 (01:40 +0000)]
Stop using -o and -a syntax with if [ - use || or && instead
Steve McIntyre [Wed, 28 Feb 2018 20:28:46 +0000 (20:28 +0000)]
Fix obvious bug in do_batch_gain()
Assign the list of files to TRACKFILES which is used, rather than
MP3FILES which isn't!
Steve McIntyre [Wed, 28 Feb 2018 17:59:27 +0000 (17:59 +0000)]
Code cleanup - stop using "`"
Steve McIntyre [Tue, 27 Feb 2018 22:34:12 +0000 (22:34 +0000)]
Minor docs updates
Steve McIntyre [Tue, 27 Feb 2018 22:21:58 +0000 (22:21 +0000)]
Declare a versioned dependcy on WebService::MusicBrainz
Make sure that users get an appropriate error message if they have a
version that's not new enough.
Nicolas Guillaumin [Mon, 26 Feb 2018 21:00:02 +0000 (21:00 +0000)]
Fix compatibility with WebService::MusicBrainz 1.x
Closes Issue #60: https://abcde.einval.com/bugzilla/show_bug.cgi?id=60
Account for changes in WebService::MusicBrainz v1.x which uses the v2
MusicBrainz API.
This converts the API call to the v2 API, and account for the slightly
different data structure of the response.
Track offsets are directly available in the response and don't need
computation anymore.
There is some complication to locate the track names since the v2 API
response may return multiple media per release, including media with an
ID that is different from the one originally requested.
Steve McIntyre [Mon, 26 Feb 2018 19:15:06 +0000 (19:15 +0000)]
Abort if we're configured to use Musicbrainz and the script fails
Steve McIntyre [Mon, 26 Feb 2018 19:00:51 +0000 (19:00 +0000)]
Add emacs config to use tabs and tab width 4
Steve McIntyre [Mon, 26 Feb 2018 18:40:06 +0000 (18:40 +0000)]
Fix broken indentation
Steve McIntyre [Mon, 26 Feb 2018 18:39:54 +0000 (18:39 +0000)]
Fix typo is SunOS detection code
Steve McIntyre [Mon, 26 Feb 2018 18:39:26 +0000 (18:39 +0000)]
Add Irix support
Based on a patch by abcde@canavan.de. Closes: Issue 29:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=29
Steve McIntyre [Mon, 26 Feb 2018 18:11:43 +0000 (18:11 +0000)]
Update copyright notices
Steve McIntyre [Mon, 26 Feb 2018 18:09:41 +0000 (18:09 +0000)]
More wrapping and quoting of variables
Steve McIntyre [Mon, 26 Feb 2018 18:06:05 +0000 (18:06 +0000)]
Add more details about CD lookup interface files
Steve McIntyre [Mon, 26 Feb 2018 17:49:48 +0000 (17:49 +0000)]
Catch errors from abcde-musicbrainz-tool better
Steve McIntyre [Mon, 26 Feb 2018 17:49:24 +0000 (17:49 +0000)]
Recognise more existing Debian packages
Steve McIntyre [Mon, 26 Feb 2018 17:36:31 +0000 (17:36 +0000)]
Add cd-discid to the known Debian packages too
Steve McIntyre [Mon, 26 Feb 2018 17:36:14 +0000 (17:36 +0000)]
Better detection for Debian systems
Steve McIntyre [Mon, 26 Feb 2018 15:24:25 +0000 (15:24 +0000)]
Switch from $ABCDETEMPDIR to ${ABCDETEMPDIR} globally
Steve McIntyre [Mon, 26 Feb 2018 15:22:20 +0000 (15:22 +0000)]
Tweak text output
Steve McIntyre [Sun, 25 Feb 2018 23:14:16 +0000 (23:14 +0000)]
Redirect stderr on "which" calls to clear up error noise
on some systems. Closes Issue 56:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=56
Steve McIntyre [Sun, 25 Feb 2018 23:00:40 +0000 (23:00 +0000)]
Better handling of file copying in the different cddb methods
Avoid errors - only try to copy files that exist
Steve McIntyre [Sun, 25 Feb 2018 22:58:10 +0000 (22:58 +0000)]
Remove duplicated entry in the GetOptions code
Steve McIntyre [Sun, 25 Feb 2018 00:27:31 +0000 (00:27 +0000)]
Don't add $CDDBHOST to the datasource file
It's the local machine name, not the remote cddb host. Not all that
useful!
Steve McIntyre [Sun, 25 Feb 2018 00:20:22 +0000 (00:20 +0000)]
Fix code handling $NUM_CDDB_MATCHES in do_cddb_read
The code here is in a sub-shell, so modifications to $NUM_CDDB_MATCHES
do not persist in the parent. Yay shell. Work around this.
Tom Samstag [Sat, 11 Feb 2017 19:30:27 +0000 (11:30 -0800)]
fix release year code
The fix for #30 implemented in
1f1d33c64206841195a196595ed48f78952c07e6
relies on the release-event-list node from MB containing a count
attribute. However in my testing, that isn't the case, and so the
release year is never populated. This change checks that the
release_event_list isn't undef before trying to get the events (the
cause of the exception in #30) but then doesn't rely on the count() of
the release_event_list.
Steve McIntyre [Wed, 21 Feb 2018 21:33:16 +0000 (21:33 +0000)]
Add more examples for filename munging in the example config file
Closes Issue 49: https://abcde.einval.com/bugzilla/show_bug.cgi?id=49
Steve McIntyre [Wed, 21 Feb 2018 21:26:20 +0000 (21:26 +0000)]
Update example config for cddb options
Steve McIntyre [Wed, 21 Feb 2018 21:20:45 +0000 (21:20 +0000)]
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
Steve McIntyre [Wed, 21 Feb 2018 21:09:00 +0000 (21:09 +0000)]
Add mention of issue 42 for the cddb rework
Steve McIntyre [Wed, 21 Feb 2018 21:02:43 +0000 (21:02 +0000)]
Stop hard-coding terminal length as 24 in various places
It should be in the $LINES environment variable on a sane system. If
it's not set, then set it to 24 in case.
Steve McIntyre [Wed, 21 Feb 2018 20:57:23 +0000 (20:57 +0000)]
Fix Musicbrainz ID calculation in makeids()
Apply fix suggested by petecollins24@gmail.com; add PREGAP to LEADOUT
to correct Musicbrainz ID calculation. Hopefully closes Issue 54:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=54
Steve McIntyre [Wed, 21 Feb 2018 20:35:07 +0000 (20:35 +0000)]
Fix missing word in comment
Steve McIntyre [Wed, 21 Feb 2018 20:34:54 +0000 (20:34 +0000)]
Fix indentation
Steve McIntyre [Wed, 21 Feb 2018 19:07:24 +0000 (19:07 +0000)]
Massive rework of CD lookup code to support multiple sources better
Thanks to Gabriel Rosenkoetter for his initial idea in this area, and
to Tomasz Goliński on irc for initial inspiration on how this should
work better.
There are now 3 different options for CD lookup: cddb, musicbrainz and
cdtext. They can all be listed in a comma-separated list for
CDDBMETHOD and the code will now call all of them in the sequence
listed. All the results will be combined into one list at the end for
the user to select, just like would have previously worked for one
source only.
Significant changes to the lookup code to make this happen:
* cdtext is now promoted to a first-class lookup option instead of
just a fallback
* We now *always* calculate the cddb-style discid and use that as our
unique reference in various places, even if only doing
musicbrainz. This makes things work more consistently.
* Checks for the contents of $CDDBMETHOD have all been updated to
cope with multiple entries
* Various variable names have been globally renamed to make things
more obvious: TRACKINFO->CDDBTRACKINFO, DISCID->CDDBDISCID etc.
* To help keep things separated, each lookup option has its own
temporary subdirectory under ABCDETEMPDIR. The number of matches is
kept globally in NUM_CDDB_MATCHES.
* For the cddb lookup code, merged together the three functions
do_cddbstat(), do_cddbquery() and do_cddbread() into one:
do_cddb_read(). The previous separation was pointless, as all three
were always called together in sequence anyway.
* Removed the CDDBLASTMETHOD handling as it's now obsolete. Instead,
once all the desired lookup methods have been called we will create
an empty template if needed then.
Steve McIntyre [Wed, 21 Feb 2018 18:10:53 +0000 (18:10 +0000)]
Add support for storing musicbrainz lookups at chosen result numbers
Pre-requisite for the support for multiple lookup tools. Add the
"--start N" command line option to tell abcde-musicbrainz-tool to
start storing its results at cddbread.N instead of assuming
cddbread.1.
Steve McIntyre [Wed, 21 Feb 2018 18:08:58 +0000 (18:08 +0000)]
Initial effort to document abcde's inner workings
I've written up how things are stored as abcde does CD lookups, while
working on the support for running more than one for each CD.
Maybe more will follow... :-)
Andrew Strong [Sat, 2 Dec 2017 04:26:26 +0000 (15:26 +1100)]
Man pages: Add details of abcde's post_encode function
Thanks to Joe Harrington for pointing out this omission.
Andrew Strong [Fri, 1 Dec 2017 04:08:35 +0000 (15:08 +1100)]
Allow use of genre in embedalbumart function
Thanks to Joe Harrington for the bug report.
Andrew Strong [Fri, 28 Jul 2017 10:34:06 +0000 (20:34 +1000)]
Experimental support for embedding album art to ogg
The slightly tortuous technique drawn from 2 sources:
1. https://github.com/biapy/howto.biapy.com/blob/master/various/mussync-tools
2. https://github.com/acabal/scripts/blob/master/ogg-cover-art
Testing is strongly encouraged, perhaps the simplest way to test is with:
abcde -Q cddb -o ogg -B
Or the appropriate settings in an ~/.abcde.conf file.
Andrew Strong [Fri, 28 Jul 2017 01:44:17 +0000 (11:44 +1000)]
Fix embedding album art with single track encodes
Allow for embedding with do_embedalbumart() for single
track encodes when OUTPUTFORMAT and ONETRACKOUTPUTFORMAT
are different. Thanks to Ashley Gittins for the bug report.
This closes Issue 63:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=63
Andrew Strong [Sat, 22 Jul 2017 05:12:02 +0000 (15:12 +1000)]
Update 'available formats' in FAQ
Andrew Strong [Fri, 14 Jul 2017 07:43:35 +0000 (17:43 +1000)]
Select CDDBMETHOD from the command line
Allow selection of either cddb or musicbrainz from the command line:
-Q Select CDDBMETHOD from the command line. Choice is cddb or musicbrainz.
Command line letters are fast running out but the 'Q' option quite neatly
stands for 'Query'!
Andrew Strong [Fri, 14 Jul 2017 07:18:18 +0000 (17:18 +1000)]
Makefile altered to reflect abcde 2.8.2
Andrew Strong [Fri, 14 Jul 2017 07:09:07 +0000 (17:09 +1000)]
Part 2 of 2: AIFF encoding for abcde
Documentations for the new AIFF encoding capabilities of abcde.
Andrew Strong [Fri, 14 Jul 2017 06:43:51 +0000 (16:43 +1000)]
Part 1 of 2: AIFF encoding for abcde
Support added for encoding with Audio Interchange File Format (AIFF).
Thanks to Massimo Villa for the feature request.
FFmpeg is required for the encoding, the container and suffix are
'aiff'. A sample ~/.abcde.conf file is available here:
http://www.andrews-corner.org/linux/abcde/abcde_lossless.html#aiff
Ville Skyttä [Sun, 25 Jun 2017 10:07:50 +0000 (13:07 +0300)]
Spelling fixes
Andrew Strong [Sun, 19 Mar 2017 06:11:47 +0000 (17:11 +1100)]
Use md5 rather than md5sum under MacOS
Under MacOS md5 is installed by default rather than md5sum,.
Thanks to JCount for the bug report and also the fix.
This solves Issue 59:
https://abcde.einval.com/bugzilla/show_bug.cgi?id=59.
Andrew Strong [Sun, 19 Feb 2017 04:28:34 +0000 (15:28 +1100)]
Allow album art embedding for WavPack files
This requires the utility wvtag which comes with WavPack 5.1.0
Andrew Strong [Sat, 4 Feb 2017 07:54:10 +0000 (18:54 +1100)]
Embed album art for mp3, flac and m4a
Allow for embedding of album art downloaded by the getalbumart fuction.
Currently this is available for flac (using metaflac), mp3 (using eyed3)
and m4a (using AtomicParsley). This can be invoked in 3 ways:
1. Use the commandline '-B' option (this will also call getalbumart)
2. Use the commandline '-a embedalbumart' option to add to list of actions
3. Use 'embedalbumart' in the 'ACTIONS' list in ~/.abcde.conf
Still needs more development but it is perfectly usable at the moment!
Andrew Strong [Wed, 1 Feb 2017 08:36:15 +0000 (19:36 +1100)]
Editing the abcde maintainers...
Taking myself from the list of maintainers