cdsuitehttp://offog.org/git/cdsuite.atomgitatom2024-01-06T04:06:43Zhttp://offog.org/git/cdsuite.git#0151ba855f38928d6c981494beebdaf6c1c6608a2024-01-06T04:06:43Z2024-01-06T04:06:43Z20 years after I wrote this, I have now converted all my CDs!20 years after I wrote this, I have now converted all my CDs!
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#9222f50b3c823ffdc6c07d23f2ded6d7fc18dbe62024-01-06T04:05:27Z2024-01-06T04:05:27ZAdd --max-name-len.Add --max-name-len.
This is mostly for the benefit of my Honda car stereo, which ignores
filenames longer than 128 characters -- but it also now correctly
enforces the 255-character maximum for FAT.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#3fc09ee59cb3c97a1d7c2f81ec6ea52a22f383eb2023-10-09T01:02:48Z2023-10-09T01:02:48ZMake M4AEncoder's verbosity match the other encoders.Make M4AEncoder's verbosity match the other encoders.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#4c83d56b36c6fb5d79c19db507c299ae3b62ac032023-10-09T00:54:59Z2023-10-09T00:54:59ZAdd dirname option.Add dirname option.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#c02ea57dabc0a90445ce41c09b53a63a3a7019e42023-04-01T19:50:00Z2023-04-01T19:50:00ZAdd .m4a output using ffmpeg.Add .m4a output using ffmpeg.
This isn't a format I'd recommend using, but it's the best option that
my new car radio supports!
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#d3e46e411e5b32555a18d0fa2c1e820f98cb30002023-03-30T22:35:23Z2023-03-30T22:35:23ZAdd WavEncoder.Add WavEncoder.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#34d99733c5a3db4f484994507ea783eded9bd7012022-05-21T17:42:45Z2022-05-21T17:42:45ZFix the case where value is None.Fix the case where value is None.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#b80bcf9e6357ecd88e5066803510b5800f0c51a52022-05-15T20:06:39Z2022-05-15T20:06:39ZAdd date tagging.Add date tagging.
I haven't made it guess the date from the filename, because -- looking
through my collection of music -- it's as likely to pick up a wrong date
as a correct one.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#8b8717730f8930977a4adb3e40925ccd234e1c932022-05-15T20:06:05Z2022-05-15T20:06:05Zopusenc now has a --tracknumber option.opusenc now has a --tracknumber option.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#6c8ecde4d87162f463eabf8c970d8e36ca060e882018-09-29T20:31:42Z2018-09-29T20:31:42ZUse the MusicBrainz Version 2 API via musicbrainzngs.Use the MusicBrainz Version 2 API via musicbrainzngs.
This is a bit more complicated than the older code; while musicbrainzngs
automatically rate-limits and retries requests, it doesn't provide the
nice Python object model that musicbrainz2 did, so we need a lot of
extra code to unmangle its JSON-style results.
We now have much better data available, though; one immediate payoff is
that we can handle a multi-disc set when no discid is available.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#493c4c4dd22166249f255373297c63ad16c03e502018-09-29T18:36:42Z2018-09-29T18:36:42ZRemove a FIXME.Remove a FIXME.
(The answer to the question is "yes, it will".)
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#0ac2c72876e9bdb76a8c0653a0d3db584c2dd7f42018-09-29T18:33:52Z2018-09-29T18:33:52ZUpdate license notices and COPYING.Update license notices and COPYING.
This is still GPLv2+, but using the current wording recommended by the
FSF.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#e34430c05dec41c0d45f5c8b7c6ff535b727a3012017-12-24T10:23:03Z2017-12-24T10:23:03ZAdd to the FAT exclusion list.Add to the FAT exclusion list.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#8ddd9e8be61f427d0eab1d3f44d90c231279debc2017-04-16T14:42:41Z2017-04-16T14:42:41ZNormalise dash-like Unicode characters.Normalise dash-like Unicode characters.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#ca7a681145a195fb39a912248c12581b81a988602017-04-01T12:58:06Z2017-04-01T12:58:06ZHandle multi-disc releases more carefully when renaming.Handle multi-disc releases more carefully when renaming.
musicbrainz2 returns all the tracks in the release in a single Release
object when you search by releaseid, so renaming one disc of a
multi-disc release doesn't work. Instead, search by discid and filter
the results by releaseid locally.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#a6a516076bfc64af007747119e57639f91427cd82017-04-01T12:18:35Z2017-04-01T12:18:35ZUpdate copyright notice.Update copyright notice.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#2b35fe5bb8553455f609eaa8a750646eccd012592017-03-09T19:16:48Z2017-03-09T19:16:48ZRemove accents using some Unicode trickery.Remove accents using some Unicode trickery.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#062e0e3922c0a838e740728b62f3ecd6a032ad152017-03-09T19:14:42Z2017-03-09T19:14:42ZTurn directional quotes into straight ASCII equivalents.Turn directional quotes into straight ASCII equivalents.
MusicBrainz recommends using the right single quote for apostrophe (as
does Unicode).
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#6d26a2474d20878f7153a5787f135530ef6c8d402017-03-09T19:13:33Z2017-03-09T19:13:33ZAdd option to ignore the filename for guessing purposes.Add option to ignore the filename for guessing purposes.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#1ac4b7a2d5bb50d594530fd32518f2e43468f0e32016-05-07T16:08:26Z2016-05-07T16:08:26ZMake more encoders/decoders quiet.Make more encoders/decoders quiet.
oggenc has particularly noisy behaviour when its output isn't a
terminal...
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#065c118f598aaf7d5956c95bbc8787f364a8595e2016-01-01T19:52:23Z2016-01-01T19:52:23ZRetry after any 5xx error.Retry after any 5xx error.
MusicBrainz is currently giving me 502 Bad Gateway errors...
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#20ffc295fa8abdedc5838a65ff56f6545c130c742015-12-23T00:30:13Z2015-12-23T00:30:13ZAdd a Shorten decoder.Add a Shorten decoder.
It's worth having separate decoders for the lossless formats, since
ffmpeg always decodes to 16 bit output format.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#b7fe1eb8821d1acf0bc1ea0f3e85ae312255bec82015-12-23T00:30:04Z2015-12-23T00:30:04ZMake lame and ffmpeg quieter.Make lame and ffmpeg quieter.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#c0c357c3eff17c296c5fc757a4c83cce0b7583972015-12-23T00:29:01Z2015-12-23T00:29:01ZFollow symlinks when walking the directory tree.Follow symlinks when walking the directory tree.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#c1735294245feb3bf720065ef5e1b1548596db602014-09-20T14:08:36Z2014-09-20T14:08:36ZDon't fail if the drive can't be closed.Don't fail if the drive can't be closed.
Having just tried to use this on my laptop, the drive doesn't support
that ioctl (for good physical reasons!).
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#aafccadd657351497d3df737583e2b17485d0f172014-09-14T22:43:33Z2014-09-14T22:43:33ZBe a bit more intelligent when rewriting Unicode characters.Be a bit more intelligent when rewriting Unicode characters.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#8be513730aba991f080cf4da4697c4dda10280942014-09-14T22:20:02Z2014-09-14T22:20:02ZAdd --use-dirs.Add --use-dirs.
I'm not very happy with the dir-walking code related to this. Perhaps a
better way to do this will occur to me...
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#65ca209aa2314d39d71b226388244cbfeacb1e762014-09-14T21:37:02Z2014-09-14T21:37:02ZAdd a --copy option, to prevent re-encoding.Add a --copy option, to prevent re-encoding.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#bc9572653f98642cbb1fc1c96a5377f1cbdc8da12014-09-14T19:18:30Z2014-09-14T19:18:30ZUse encode_disc when printing the submission URL.Use encode_disc when printing the submission URL.
This means that submitting a disc will result in it being sucked in and
ejected as usual.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#6544680ae4b3343219d36b58009a7946add322d12014-09-14T19:18:10Z2014-09-14T19:18:10ZMake the default buffer size bigger.Make the default buffer size bigger.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#a57dda210f162c94584ddaf511b0c66a3d6f8a1a2014-09-14T13:40:12Z2014-09-14T13:40:12ZUse eject -t to close the tray before reading.Use eject -t to close the tray before reading.
Also replace spawnvp with subprocess.call.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#cb8fd224d58def8e7d1b4f209a0612666079dea92014-09-14T13:27:01Z2014-09-14T13:27:01ZChange how disc renaming works.Change how disc renaming works.
Previously, cdsuite actually renamed the directory you gave it. Now, it
creates a new directory -- reusing an existing one if it already exists
-- and moves the files into it. This means that multi-disc albums now
end up in a single directory without you needing to move files around
yourself.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#38b41b2268197952a9fca19fc7d36a8de650fbc62014-09-14T12:05:44Z2014-09-14T12:05:44ZFix the "No file found" error message.Fix the "No file found" error message.
This used to fail because newname wasn't defined.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#09cd70c333e0e290163482cf4db391ac298712682014-09-14T12:05:03Z2014-09-14T12:05:03ZAdd --lame-mono option to portree.Add --lame-mono option to portree.
Given that I quite often generate mono files (e.g. for lecture
recordings), it might make more sense to do this in a generic way in the
future.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#e45fc1335c6bfb2676eb5deaa23ea47a3807227b2013-12-13T23:34:41Z2013-12-13T23:34:41ZDon't try to make the current directory.Don't try to make the current directory.
os.makedirs("") fails.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#ae758c835bba64d0be5bdea80f837742924da3332013-11-25T10:13:27Z2013-11-25T10:13:27ZAdd track number tagging for Opus.Add track number tagging for Opus.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#739a59115f8e9aa2df8e4f02c23f6ede2cd9c6cd2013-11-03T22:37:06Z2013-11-03T22:37:06ZSimpler version numbering: make the next version cdsuite 4.Simpler version numbering: make the next version cdsuite 4.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#a102d8d174699cefe0f0715531d8b891b305046b2013-11-03T22:36:15Z2013-11-03T22:36:15ZDocument the addition of portree.Document the addition of portree.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#60d117c0bafbfc1ba3bee3fb5d206d0e20822adb2013-11-03T22:26:24Z2013-11-03T22:26:24ZMake quality settings for encoders configurable.Make quality settings for encoders configurable.
The defaults were set with one eye on cdsuite's existing defaults and
one on convert-for-player's. It's slightly less configurable for LAME
than cdsuite is, because I find LAME's presets are much more useful than
low-level twiddling now.
I'm not sure it's actually worth being able to configure FLAC's
compression level -- on any modern machine --best is plenty fast enough
already.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#8e4a24998d535c7e30ce4e9a444d21e52a3b51e42013-11-03T22:12:21Z2013-11-03T22:12:21ZStrictly speaking, OggEncoder is a VorbisEncoder.Strictly speaking, OggEncoder is a VorbisEncoder.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#47434c2e8f2c716e72ebbd42ce1b9bf23d6e993f2013-11-03T22:10:36Z2013-11-03T22:10:36ZAdd metavars for all options with arguments.Add metavars for all options with arguments.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#f240fd2cfed8dc7d1f187eec2092bd5ca62276102013-11-03T22:07:04Z2013-11-03T22:07:04ZConvert non-WAV input files to WAV automatically.Convert non-WAV input files to WAV automatically.
portree can now replace my convert-for-player script.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#7871ee5c014e6fdf3af1815caa821054e502b92c2013-11-03T21:46:57Z2013-11-03T21:46:57ZFix missing space.Fix missing space.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#ab1c62972bc38aef6744e18263ba38b9fd82a2092013-11-03T21:39:41Z2013-11-03T21:39:41ZUse src_fn consistently in Encoders.Use src_fn consistently in Encoders.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#033bd07c4f544bf23e65b1a8f4f16936165d82452013-11-03T21:37:55Z2013-11-03T21:37:55ZMake run_command a function, rather than an Encoder method.Make run_command a function, rather than an Encoder method.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#a2262d3588fdcd6d22c3e689bfe834df236a87062013-11-03T00:32:08Z2013-11-03T00:32:08ZExecute conversion tasks in parallel using a thread pool.Execute conversion tasks in parallel using a thread pool.
I'm not wildly happy with this bit of code -- I'd initially planned to
use multiprocessing.Pool, but the limitations of that mean it's
effectively as complex as writing it from scratch.
Another alternative would be to generate a list of commands and shell
out to something like parallel, but that becomes more awkward when you
might have several commands to run in order for a conversion.
(The script I'm replacing, convert-for-player, uses parallel to execute
itself with a magic "do one file" argument... but it's written in sh so
there isn't really a better option!)
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#5fdff7470532c992a5dc030a2f587882405eded62013-11-02T23:51:16Z2013-11-02T23:51:16ZWhen producing a file, add it to keep_outputs.When producing a file, add it to keep_outputs.
Else it'll get encoded and then removed later...
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#7b8c8274fee52fcc251f83a462b954b698644c052013-11-02T23:10:57Z2013-11-02T23:10:57ZAdd --warn-input-exts.Add --warn-input-exts.
portree can now replace transcode-music and transcode-audio from
misccode.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#d9b277993008b853681763b927e5cf1de017fad02013-11-02T22:54:55Z2013-11-02T22:54:55ZTurn most of the application into a class.Turn most of the application into a class.
This avoids passing options etc. around.
Adam Sampsonats@offog.orghttp://offog.org/git/cdsuite.git#a4784ca4523c28c0e02dafdebcd67626bcf3a74b2013-11-02T22:45:01Z2013-11-02T22:45:01ZAdd --sync.Add --sync.
Adam Sampsonats@offog.org