flac-archive
2 years agoAttempt to match Microsoft file name rules. master
Eric Gillespie [Sun, 4 Nov 2018 02:39:30 +0000 (19:39 -0700)]
Attempt to match Microsoft file name rules.

2 years agoCommit a bunch of state sitting around in the old bzr checkout!
Eric Gillespie [Sun, 4 Nov 2018 02:20:58 +0000 (19:20 -0700)]
Commit a bunch of state sitting around in the old bzr checkout!

I sent some of what's in here to a old-bzr branch.  I think this was an
older copy of what evolved on my laptop, and then I started hacking
on top of this again on another computer running FreeBSD, what a mess...

Because of that, some of this may be going backwards (e.g. dependent on
my horrible old utility library I hacked out at some point (see old-bzr)).

-rwxr-xr-x  1 epg  epg    395 Jul 16  2016 fa-rip.sh
-rwxr-xr-x  1 epg  epg  12025 May 19  2016 fa-flacd
-rwxr-xr-x  1 epg  epg   9962 May 18  2016 fa-rip

5 years agohack out my ancient shitty util library
epg [Fri, 30 Oct 2015 17:00:32 +0000 (10:00 -0700)]
hack out my ancient shitty util library

Drops parallelism support, but I never used it anyway, and am not even sure
it worked!

6 years agolooks like i got rid of ByteVectorSet on Mar 11 15:18 but didn't commit
epg@pretzelnet.org [Mon, 7 Apr 2014 05:39:30 +0000 (22:39 -0700)]
looks like i got rid of ByteVectorSet on Mar 11 15:18 but didn't commit

6 years agonote bug
epg@pretzelnet.org [Mon, 13 Jan 2014 06:57:24 +0000 (22:57 -0800)]
note bug

6 years agoswitch to regex.h
epg@pretzelnet.org [Mon, 13 Jan 2014 06:56:18 +0000 (22:56 -0800)]
switch to regex.h

6 years agoremove my old crappy flac module, unused for a while
epg@pretzelnet.org [Mon, 13 Jan 2014 03:00:52 +0000 (19:00 -0800)]
remove my old crappy flac module, unused for a while

6 years agos/ostream/iostream/; s/diag/file_diag/
epg@pretzelnet.org [Mon, 13 Jan 2014 03:00:39 +0000 (19:00 -0800)]
s/ostream/iostream/; s/diag/file_diag/

6 years agoTell gcc to allow modern C++, fix clean target
epg@pretzelnet.org [Mon, 13 Jan 2014 02:59:17 +0000 (18:59 -0800)]
Tell gcc to allow modern C++, fix clean target

6 years agoRewrote and stop taglib from re-encoding as UTF-16.
epg@pretzelnet.org [Mon, 13 Jan 2014 02:58:01 +0000 (18:58 -0800)]
Rewrote and stop taglib from re-encoding as UTF-16.

The rewrite wasn't actually necessary, but I ended up doing so while trying to
figure out what was happening to the text frames.

Finally figured out that taglib rudely writes out UTF-16 even though it read in
latin1 and I didn't tell it to change anything.  You have to tell it for each
frame which encoding to use.

6 years agolame id3v2-grep tool
epg@pretzelnet.org [Sun, 12 Jan 2014 01:59:50 +0000 (17:59 -0800)]
lame id3v2-grep tool

6 years agoOops, fix improper use of a quoted fn when reading pic with metaflac
<epg@pretzelnet.org> [Mon, 9 Dec 2013 08:15:46 +0000 (00:15 -0800)]
Oops, fix improper use of a quoted fn when reading pic with metaflac

6 years agooops, remove debugging md5sum
<epg@pretzelnet.org> [Mon, 9 Dec 2013 08:13:45 +0000 (00:13 -0800)]
oops, remove debugging md5sum

6 years agotodo
<epg@pretzelnet.org> [Mon, 9 Dec 2013 01:15:52 +0000 (17:15 -0800)]
todo

6 years agooops, always need to remove picfn now
<epg@pretzelnet.org> [Mon, 9 Dec 2013 00:28:16 +0000 (16:28 -0800)]
oops, always need to remove picfn now

6 years agoswitch to metaflac --export-picture-to
<epg@pretzelnet.org> [Mon, 9 Dec 2013 00:22:30 +0000 (16:22 -0800)]
switch to metaflac --export-picture-to

Eliminates the last compiled module.  I half wonder if this flag were there
from the beginning and my stupid flac module was never needed, but I'm not
going digging for the answer to that right now.

6 years agoadd C++ build rules
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:56:35 +0000 (15:56 -0800)]
add C++ build rules

6 years agoadd more tests apparently written on May 13 2013
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:55:58 +0000 (15:55 -0800)]
add more tests apparently written on May 13 2013

found some older tests too, still laughable...

6 years agoset mode on output file, and don't clobber existing
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:45:49 +0000 (15:45 -0800)]
set mode on output file, and don't clobber existing

6 years agomore cleanup
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:28:12 +0000 (15:28 -0800)]
more cleanup

6 years agomore error check
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:21:29 +0000 (15:21 -0800)]
more error check

6 years agosome cleanup
<epg@pretzelnet.org> [Sun, 8 Dec 2013 23:19:20 +0000 (15:19 -0800)]
some cleanup

6 years agofix for flacs with no embedded art
<epg@pretzelnet.org> [Sun, 8 Dec 2013 20:56:15 +0000 (12:56 -0800)]
fix for flacs with no embedded art

submitted an untested fix way back in Thu 2012-11-01 15:52:39 -0700
and only just now tested (and fixed) it; oops

6 years agountested attempt to add error checking
<epg@pretzelnet.org> [Sun, 8 Dec 2013 20:22:58 +0000 (12:22 -0800)]
untested attempt to add error checking

untested because, oh look, i never submitted any build rules!

6 years agoadd stupid hack for checking missing files
<epg@pretzelnet.org> [Sun, 8 Dec 2013 20:22:03 +0000 (12:22 -0800)]
add stupid hack for checking missing files

6 years agohere's a never-submitted bug-fix to tags.make_filename
<epg@pretzelnet.org> [Sun, 8 Dec 2013 19:20:39 +0000 (11:20 -0800)]
here's a never-submitted bug-fix to tags.make_filename

added tags.make_filename for rewrite-tags on 2012-12-26

yet it didn't work; apparently i made this fix locally back then and never
submitted it...

7 years agoFix bugs:
<epg@pretzelnet.org> [Tue, 14 May 2013 06:20:35 +0000 (23:20 -0700)]
Fix bugs:

- read: support a tag appearing with the same value on a subset of tracks and
  nowhere else; previously this was ok if the value were differnet, but if say
  only a few tracks had VERSION=radio and the rest had no VERSION, VERSION
  would erroneously become a global tag

- write: support each track having own ALBUM with on global ALBUm (e.g. most
  tracks are 'album=foo' but a few are 'album=foo extended'); previously broke
  as ALBUm had to be global

- bonus: i noticed write was also missing ALBUMARTIST; added

7 years agomake get_path_safe return None when no tag value
<epg@pretzelnet.org> [Tue, 14 May 2013 05:48:11 +0000 (22:48 -0700)]
make get_path_safe return None when no tag value

7 years agodrop unused, strange make_filename returning just the album (wtf?); doesn't
<epg@pretzelnet.org> [Tue, 14 May 2013 05:42:40 +0000 (22:42 -0700)]
drop unused, strange make_filename returning just the album (wtf?); doesn't
work if no global album anyway

7 years agoHmm, some standardization sitting around in a working copy since November...
epg@pretzelnet.org [Fri, 1 Feb 2013 06:14:26 +0000 (22:14 -0800)]
Hmm, some standardization sitting around in a working copy since November...

7 years agoUse ALBUMARTIST as filename if available, fallback to ARTIST.
<epg@pretzelnet.org> [Fri, 25 Jan 2013 06:39:57 +0000 (22:39 -0800)]
Use ALBUMARTIST as filename if available, fallback to ARTIST.

7 years agoRemove variable 'outfile', unused since I switched from my crappy taglib
<epg@pretzelnet.org> [Mon, 21 Jan 2013 00:21:14 +0000 (16:21 -0800)]
Remove variable 'outfile', unused since I switched from my crappy taglib
module to using lame to add album art at Tue 2012-07-24 14:52:43 -0700

7 years agoUse TPOS to store discnumber in mp3 files.
<epg@pretzelnet.org> [Mon, 21 Jan 2013 00:20:03 +0000 (16:20 -0800)]
Use TPOS to store discnumber in mp3 files.

7 years agoadd --no-utf8-convert to flac2mp3 and flacsplit metaflac runs
<epg@pretzelnet.org> [Fri, 18 Jan 2013 03:27:25 +0000 (19:27 -0800)]
add --no-utf8-convert to flac2mp3 and flacsplit metaflac runs

7 years agocopy VERSION values into mp3 title, in parens
<epg@pretzelnet.org> [Fri, 18 Jan 2013 03:05:09 +0000 (19:05 -0800)]
copy VERSION values into mp3 title, in parens

7 years agountested error handling changes
<epg@pretzelnet.org> [Thu, 27 Dec 2012 03:33:56 +0000 (19:33 -0800)]
untested error handling changes

7 years agoOops, really unify, and also fix SubprocessError to consume the stderr stream.
<epg@pretzelnet.org> [Thu, 27 Dec 2012 03:06:24 +0000 (19:06 -0800)]
Oops, really unify, and also fix SubprocessError to consume the stderr stream.

7 years agounify subprocess handling
<epg@pretzelnet.org> [Thu, 27 Dec 2012 03:03:22 +0000 (19:03 -0800)]
unify subprocess handling

7 years agoImplement (and tested) do_write.
<epg@pretzelnet.org> [Thu, 27 Dec 2012 02:50:16 +0000 (18:50 -0800)]
Implement (and tested) do_write.

7 years agomake the do_write stub actually work (missing imports and typos)
<epg@pretzelnet.org> [Thu, 27 Dec 2012 00:43:13 +0000 (16:43 -0800)]
make the do_write stub actually work (missing imports and typos)

7 years agoDon't save TRACKNUMBER.
<epg@pretzelnet.org> [Thu, 27 Dec 2012 00:40:16 +0000 (16:40 -0800)]
Don't save TRACKNUMBER.

7 years agosome write work
<epg@pretzelnet.org> [Thu, 27 Dec 2012 00:36:02 +0000 (16:36 -0800)]
some write work

7 years agoAdd filename building.
<epg@pretzelnet.org> [Thu, 27 Dec 2012 00:14:44 +0000 (16:14 -0800)]
Add filename building.

7 years agoObviously haven't run this in a while; forgot to remove my dead taglib module...
<epg@pretzelnet.org> [Thu, 27 Dec 2012 00:11:03 +0000 (16:11 -0800)]
Obviously haven't run this in a while; forgot to remove my dead taglib module...

7 years agodon't throw Exception from do_read
<epg@pretzelnet.org> [Wed, 26 Dec 2012 18:11:14 +0000 (10:11 -0800)]
don't throw Exception from do_read

7 years agoExpand SubprocessError to report the failing command, and test it.
<epg@pretzelnet.org> [Wed, 26 Dec 2012 18:09:35 +0000 (10:09 -0800)]
Expand SubprocessError to report the failing command, and test it.

7 years agoOops, abs(status) in SubprocessError.
<epg@pretzelnet.org> [Wed, 26 Dec 2012 18:00:00 +0000 (10:00 -0800)]
Oops, abs(status) in SubprocessError.

7 years agoadd note about abuse of Tags
<epg@pretzelnet.org> [Wed, 26 Dec 2012 09:28:42 +0000 (01:28 -0800)]
add note about abuse of Tags

7 years agoStart on a script to help rewrite tags en masse.
<epg@pretzelnet.org> [Wed, 26 Dec 2012 09:26:44 +0000 (01:26 -0800)]
Start on a script to help rewrite tags en masse.

Seems I screw up every time I get a CD with non-ascii titles, and I'm tired of
hacking up a fix with interactive shell-scripting...

8 years agosome demo apic reading code; would be nice to save all APIC frames.
epg@pretzelnet.org [Fri, 2 Nov 2012 07:52:13 +0000 (00:52 -0700)]
some demo apic reading code; would be nice to save all APIC frames.

8 years agorename
epg@pretzelnet.org [Fri, 2 Nov 2012 07:47:52 +0000 (00:47 -0700)]
rename

8 years agoadd tool for stripping tags
epg@pretzelnet.org [Fri, 2 Nov 2012 07:10:58 +0000 (00:10 -0700)]
add tool for stripping tags

8 years agosimple reindent
epg@pretzelnet.org [Fri, 2 Nov 2012 00:41:16 +0000 (17:41 -0700)]
simple reindent

8 years agoreorder includes
epg@pretzelnet.org [Fri, 2 Nov 2012 00:40:36 +0000 (17:40 -0700)]
reorder includes

8 years agorejigger this to a stand-alone tool rather than a py module
epg@pretzelnet.org [Fri, 2 Nov 2012 00:40:09 +0000 (17:40 -0700)]
rejigger this to a stand-alone tool rather than a py module

8 years agoWhen I switched from my crappy taglib module to using lame to add album art
epg@pretzelnet.org [Thu, 1 Nov 2012 22:52:39 +0000 (15:52 -0700)]
When I switched from my crappy taglib module to using lame to add album art
(r162), I introduced a bug when album art is not present in the FLAC.  Try to
fix it.

UNTESTED

8 years agonote how stupid lame is
epg@pretzelnet.org [Tue, 24 Jul 2012 21:58:24 +0000 (14:58 -0700)]
note how stupid lame is

8 years agoAdd --id3v2-latin1. Default in newer lame is to transcode to UTF-16! Quite
epg@pretzelnet.org [Tue, 24 Jul 2012 21:57:03 +0000 (14:57 -0700)]
Add --id3v2-latin1. Default in newer lame is to transcode to UTF-16! Quite
wasteful on most of my files, and I don't have any that won't work fine in
latin1, so let's use that.

8 years agospecify --pad-id3v2-size 0; it seems to make no difference, even though it
epg@pretzelnet.org [Tue, 24 Jul 2012 21:53:30 +0000 (14:53 -0700)]
specify --pad-id3v2-size 0; it seems to make no difference, even though it
looks to me like the default in the code is 128

8 years agolame supports adding album art directly, it's just not very well documented
epg@pretzelnet.org [Tue, 24 Jul 2012 21:52:43 +0000 (14:52 -0700)]
lame supports adding album art directly, it's just not very well documented
(still not in the man page in latest release), so switch to that instead of my
crappy taglib module

8 years agoSwitch from --add-id3v2 to --id3v2-only (sadly, lame still adds old id3 tags
epg@pretzelnet.org [Tue, 24 Jul 2012 21:42:04 +0000 (14:42 -0700)]
Switch from --add-id3v2 to --id3v2-only (sadly, lame still adds old id3 tags
anyway)

8 years agoDon't fetch same ASIN image twice.
<epg@pretzelnet.org> [Mon, 2 Jan 2012 00:45:53 +0000 (16:45 -0800)]
Don't fetch same ASIN image twice.

This is all working again, even multi-artist records.

8 years agodon't fetch images for asin=None
<epg@pretzelnet.org> [Mon, 2 Jan 2012 00:38:57 +0000 (16:38 -0800)]
don't fetch images for asin=None

8 years agoDon't make so many calls to Musicbrainz web service.
<epg@pretzelnet.org> [Mon, 2 Jan 2012 00:37:28 +0000 (16:37 -0800)]
Don't make so many calls to Musicbrainz web service.

Also add --discid option for testing without involving physical discs.

Some of this code had rotted.

8 years agoWrite ALBUMARTIST field and adapt to some API changes.
epg@pretzelnet.org [Sun, 1 Jan 2012 18:47:54 +0000 (10:47 -0800)]
Write ALBUMARTIST field and adapt to some API changes.

8 years agoCopy ALBUMARTIST from FLAC file to TPE2 in ID3.
epg@pretzelnet.org [Sun, 1 Jan 2012 18:37:58 +0000 (10:37 -0800)]
Copy ALBUMARTIST from FLAC file to TPE2 in ID3.

8 years ago/usr/bin/python
epg@pretzelnet.org [Sun, 1 Jan 2012 18:35:24 +0000 (10:35 -0800)]
/usr/bin/python

12 years ago+ look into http://www.sacredchao.net/quodlibet/wiki/Development/Mutagen
epg [Fri, 4 Jan 2008 21:39:52 +0000 (21:39 +0000)]
+ look into sacredchao.net/quodlibet/wiki/Development/Mutagen

12 years ago(flac_pictures): Fix compile warnings about description signedness.
epg [Wed, 5 Dec 2007 09:23:19 +0000 (09:23 +0000)]
(flac_pictures): Fix compile warnings about description signedness.

12 years agoFinalize release notes.
epg [Wed, 5 Dec 2007 09:16:09 +0000 (09:16 +0000)]
Finalize release notes.

12 years agodoc fix
epg [Wed, 5 Dec 2007 09:07:23 +0000 (09:07 +0000)]
doc fix

12 years agoAdd missing option documentation.
epg [Wed, 5 Dec 2007 09:03:26 +0000 (09:03 +0000)]
Add missing option documentation.

12 years ago(main): Write tempdir to stderr so user doesn't have to hunt for it.
epg [Wed, 5 Dec 2007 08:53:45 +0000 (08:53 +0000)]
(main): Write tempdir to stderr so user doesn't have to hunt for it.

12 years agohttp://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439790
epg [Wed, 5 Dec 2007 08:51:16 +0000 (08:51 +0000)]
bugs.debian.org/cgi-bin/bugreport.cgi?bug=439790

(MSF_OFFSET): Add global for 150 frames.
(mkcue): Don't skip all of the first gap, but only MSF_OFFSET frames.

Patch by: Martin Michlmayr

12 years ago(run_flac): Only add --picture option if cover.front exists.
epg [Wed, 5 Dec 2007 08:46:08 +0000 (08:46 +0000)]
(run_flac): Only add --picture option if cover.front exists.
(flac): Keep unlinking even if unlink(cover.front) fails.

Suggested by: Martin Michlmayr

12 years agoOnly flac2mp3 needs taglib.
epg [Wed, 5 Dec 2007 07:57:20 +0000 (07:57 +0000)]
Only flac2mp3 needs taglib.

12 years agoFrom Martin Michlmayr:
epg [Wed, 5 Dec 2007 07:17:50 +0000 (07:17 +0000)]
From Martin Michlmayr:
Fix path for org.diplodocus

13 years agoMove flac.so and taglib.so to flac_archive package.
epg [Sat, 21 Apr 2007 20:43:09 +0000 (20:43 +0000)]
Move flac.so and taglib.so to flac_archive package.

13 years agoBah, go ahead and require flac 1.1.3 .
epg [Sat, 21 Apr 2007 19:51:26 +0000 (19:51 +0000)]
Bah, go ahead and require flac 1.1.3 .

13 years agoOops, forgot this.
epg [Sat, 21 Apr 2007 19:50:09 +0000 (19:50 +0000)]
Oops, forgot this.

13 years agoSince mp3 has no FEATURING tag, append those to ARTIST.
epg [Sat, 21 Apr 2007 19:49:32 +0000 (19:49 +0000)]
Since mp3 has no FEATURING tag, append those to ARTIST.

13 years agoPick minor style nit.
epg [Sat, 21 Apr 2007 19:38:52 +0000 (19:38 +0000)]
Pick minor style nit.

13 years agoUse flac_archive.tags.Tags, greatly simplifying things. Put PART tag
epg [Sat, 21 Apr 2007 19:37:21 +0000 (19:37 +0000)]
Use flac_archive.tags.Tags, greatly simplifying things.  Put PART tag
in flac filename, as with flac2mp3 does for mp3 filename.

13 years agoMake use of Tags.gets's new separator argument.
epg [Sat, 21 Apr 2007 19:33:41 +0000 (19:33 +0000)]
Make use of Tags.gets's new separator argument.

13 years agoMove Tags class into new flac_archive package, fix a bug in it, and
epg [Sat, 21 Apr 2007 19:26:22 +0000 (19:26 +0000)]
Move Tags class into new flac_archive package, fix a bug in it, and
test it.  These stupid scripts will finally start sharing code and
getting some formal testing.

flac_archive/tags.py:
    (Tags): Move here from flac2mp3, and rename ._tags to ._tracks .
    The tag-loading loop from flac2mp3 get_tags becomes the new .load
    method.

    (Tags.get): Return all matching tag data instead of either global
    or per-track (oops).

    (Tags.gets): Adapt to that change, and allow other separators than
    just '\n', which becomes a default.

    (Tags.all, Tags.track): New methods for getting a tag block for
    all tags (whole disc) or just a track, respectively.  To be used
    by fa-flacd in single-file and per-track modes, respectively.

flac2mp3:
    Use flac_archive.tags.Tags.  Use Tags.load in get_tags .

setup.py:
    Note MIT license and install flac_archive package.

test/run:
    Copy test-runner from py-gurps.

test/test.py:
    Load all tests.

test/testtags.py:
    Test Tags class.

13 years agos/'''/"""/
epg [Sun, 15 Apr 2007 18:54:07 +0000 (18:54 +0000)]
s/'''/"""/

13 years agopointless quote change
epg [Thu, 12 Apr 2007 03:39:46 +0000 (03:39 +0000)]
pointless quote change

13 years agoDump svn:keywords .
epg [Thu, 29 Mar 2007 01:36:39 +0000 (01:36 +0000)]
Dump svn:keywords .

13 years agoAll files have at least one track.
epg [Thu, 29 Mar 2007 01:35:34 +0000 (01:35 +0000)]
All files have at least one track.

13 years agoFix pics nonsense.
epg [Thu, 29 Mar 2007 01:34:46 +0000 (01:34 +0000)]
Fix pics nonsense.

13 years ago(flac2mp3): Fix skip_until processing: stop pointless splitting the
epg [Thu, 29 Mar 2007 00:02:03 +0000 (00:02 +0000)]
(flac2mp3): Fix skip_until processing: stop pointless splitting the
list into two variables and other weird stuff!

(Tags): Storing the global tags in the same dict meant that __len__
was incorrect (+1) for multi-track files.  Keep them separate.

13 years agoSupport my old, numberless TITLE tags.
epg [Mon, 26 Mar 2007 01:21:47 +0000 (01:21 +0000)]
Support my old, numberless TITLE tags.

13 years ago(flac2mp3): Never set date to 'unknown'.
epg [Mon, 26 Mar 2007 01:07:24 +0000 (01:07 +0000)]
(flac2mp3): Never set date to 'unknown'.

(Tags.set): Need to upcase the key when setting, too.

13 years ago1.1.3 has been out a while; uncomment --picture support.
epg [Mon, 26 Mar 2007 00:45:31 +0000 (00:45 +0000)]
1.1.3 has been out a while; uncomment --picture support.

14 years agoBah unicode.
epg [Tue, 7 Nov 2006 09:48:28 +0000 (09:48 +0000)]
Bah unicode.

14 years agoAdd hack to pull down musicbrainz info without having a disc; useful
epg [Tue, 7 Nov 2006 09:07:28 +0000 (09:07 +0000)]
Add hack to pull down musicbrainz info without having a disc; useful
when you're away from home and rip WAVs into itunes...  This should be
a separate program.

14 years agoUpdate CHANGES, list another dependency in README.
epg [Thu, 2 Nov 2006 11:05:57 +0000 (11:05 +0000)]
Update CHANGES, list another dependency in README.

14 years agomore
epg [Thu, 2 Nov 2006 11:03:30 +0000 (11:03 +0000)]
more

14 years agoTODO
epg [Thu, 2 Nov 2006 10:50:04 +0000 (10:50 +0000)]
TODO

14 years agos/--export-vc-to/--export-tags-to/
epg [Thu, 2 Nov 2006 10:44:14 +0000 (10:44 +0000)]
s/--export-vc-to/--export-tags-to/