* misc/pycheckerrc: * morituri/common/accurip.py: * morituri/common/checksum.py: * morituri/common/encode.py: * morituri/image/table.py: * morituri/rip/drive.py: Fix up for pychecker warnings for 2.6 Fix rip drive list, which forgot some modules.
1446 lines
44 KiB
Plaintext
1446 lines
44 KiB
Plaintext
2009-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* Makefile.am:
|
|
* misc/pycheckerrc:
|
|
* morituri/common/accurip.py:
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/image/table.py:
|
|
* morituri/rip/drive.py:
|
|
Fix up for pychecker warnings for 2.6
|
|
Fix rip drive list, which forgot some modules.
|
|
|
|
2009-06-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/image.py (added):
|
|
Add command to verify an image.
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Fix AccurateRip checksum output.
|
|
|
|
2009-06-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/drive.py:
|
|
Really make pycdio and cdio optional.
|
|
* morituri/rip/drive.py:
|
|
* morituri/rip/offset.py:
|
|
Use drive.getAllDevicePaths()
|
|
|
|
2009-06-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/result.py:
|
|
Add max confidence from database.
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Move AccurateRip checking to program.py
|
|
Re-rip if verification failed when continuing a rip.
|
|
|
|
2009-06-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
Better debug.
|
|
|
|
2009-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Serialize the rip result after every rip, so we can pick up
|
|
where we left off with all result data.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Move getPath to Program.
|
|
Remove arguments to ripTrack that can be gotten from
|
|
trackResult.
|
|
* morituri/rip/cd.py:
|
|
Continue without musicbrainz metadata.
|
|
Unify htoa and normal track ripping.
|
|
* morituri/result/result.py:
|
|
Add getTrackResult so it's easier to look up track results
|
|
when there's a HTOA.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Move HTOA checking to program.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/logger.py:
|
|
Fix for toctable->table
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Move lots of functionality to program module.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/result.py:
|
|
Change toctable to table since it's a full index table.
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/program.py (added):
|
|
Add module and class for program state.
|
|
* morituri/rip/cd.py:
|
|
Use the program state to clean up the do() function.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Massage into 80 characters per line.
|
|
Make pycdio/cdio optional.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/drive.py:
|
|
Make pycdio and cdio optional.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Add getPregap() method.
|
|
* morituri/rip/cd.py:
|
|
Use artist.name, not getUniqueName, to avoid monstruous names for
|
|
Muse.
|
|
Pass mbdiscid to getPath, so Unknown Disc can be saved with it.
|
|
Don't set the date if the release doesn't have one.
|
|
Set pregap on trackResult using new Track.getPregap()
|
|
Write all log/cue/m3u files as utf-8.
|
|
|
|
2009-06-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/cdparanoia.progress:
|
|
Add a shorter test file, 23 seconds.
|
|
* morituri/test/test_program_cdparanoia.py:
|
|
Update the test to adapt. Check for track quality.
|
|
* morituri/program/cdparanoia.py:
|
|
Add a measure of track quality based on the number of reads.
|
|
Use the [wrote] output for progress updates, a bit more
|
|
jittery in its output.
|
|
* morituri/rip/cd.py:
|
|
Set track quality on RipResult.
|
|
|
|
2009-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Use RipResult to store result information.
|
|
* morituri/result/logger.py (added):
|
|
Add a Logger to handle the RipResult, much like
|
|
EAC's log file.
|
|
|
|
2009-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Comment out number of track setting on tag for now.
|
|
MusicBrainz can give us dates in YYYY, YYYY-MM, and YYYY-MM-DD
|
|
format, so convert to YYYY-MM-DD always.
|
|
Unmount the data part of the CD we want to rip if it is mounted.
|
|
Adapt to peak level change.
|
|
Don't try to write data tracks to the m3u file.
|
|
Resolve the device path to the actual device path.
|
|
|
|
2009-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/result.py:
|
|
Add a Logger base class.
|
|
|
|
2009-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* morituri/Makefile.am:
|
|
* morituri/result (added):
|
|
* morituri/result/result.py (added):
|
|
* morituri/result/__init__.py (added):
|
|
* morituri/result/Makefile.am (added):
|
|
Add classes to store track and rip results in.
|
|
|
|
2009-06-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add an argument for the delimiter in formatting.
|
|
* morituri/common/encode.py:
|
|
Most programs use peak volume, not power, so do this too.
|
|
|
|
2009-06-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/common.py:
|
|
Add a method for diffing multiline strings.
|
|
|
|
2009-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Add a test() method to the profile so we can warn about bad
|
|
flacenc versions.
|
|
Encode track number and count, and release date, if possible.
|
|
* morituri/rip/cd.py:
|
|
Fix another off-by-one error in the tag encoding.
|
|
|
|
2009-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/rip/cd.py:
|
|
Handle another off-by-one error in the m3u handling.
|
|
Add a getTagList function.
|
|
Use it to encode tags.
|
|
|
|
2009-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/rip/cd.py:
|
|
Clean up the temporary unencoded file.
|
|
Pass profile as objects to tasks, so that temp files have the right
|
|
extension.
|
|
|
|
2009-06-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Add encoding profiles, kept simple for now as a class and
|
|
subclasses. Use them to encode. Calculate peak level while
|
|
encoding, compared to EAC and replaygain's value.
|
|
* morituri/rip/cd.py:
|
|
Use the encoding profiles, ripping with the right extension.
|
|
Add a --profile parameter for it.
|
|
|
|
2009-05-31 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Clean up track numbering confusion.
|
|
|
|
2009-05-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py (added):
|
|
* examples/encode.py (added):
|
|
Add an Encode Task, hardcoded to flac for now.
|
|
Add an example, that also sets tags.
|
|
|
|
2009-05-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add debug.
|
|
* morituri/rip/drive.py:
|
|
Show all drives, not just the ones that happen to have an Audio CD
|
|
inserted.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Add asserts for comparing id's between the simple toc and
|
|
the full table.
|
|
Create the output directory before ripping the htoa.
|
|
Ignore data tracks for now.
|
|
Don't fail if we have no AccurateRip responses.
|
|
* morituri/image/table.py:
|
|
Add a session ivar to Track.
|
|
Factor in session leadin when calculating track length
|
|
of last track in a session.
|
|
add getMusicBrainzSubmitURL()
|
|
add _getSessionGap() because the session gap size is different
|
|
for session 2 and all following.
|
|
Use it in merge() to get offsets right.
|
|
Fix getAccurateRipURL by only using the audio tracks for the
|
|
'length in tracks' number
|
|
Temporarily disable writing out data tracks to a .cue file,
|
|
since it's not implemented yet.
|
|
Add canCue to see if we can write a .cue file from the given table,
|
|
and debug why not if not.
|
|
* morituri/program/cdrdao.py:
|
|
Rework to rip each session separately instead of using session 9.
|
|
This fixes session 9 read-toc missing the pregap.
|
|
Add a simple LineParser for handling output from disk-info.
|
|
Count tracks relatively for the session, because the output for
|
|
session 2 for track numbers picks up where session 1 left off.
|
|
Don't set leadout from TOC printing since for the same reason
|
|
session 2's leadout is absolute, not relative to start of session.
|
|
Add a DiscInfoTask.
|
|
Convert Table and Toc reading tasks to multitasks, first getting the
|
|
number of sessions, then reading table/toc for each session.
|
|
|
|
* morituri/test/test_image_table.py:
|
|
Fix up MusicBrainz disc id for my Ladyhawke disc.
|
|
Add AccurateRip URL verification, compared against EAC's.
|
|
* morituri/test/test_image_toc.py:
|
|
Use two separate session read-toc output files to verify
|
|
the case of Das Capital.
|
|
Verify musicbrainz URL.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add documentation.
|
|
Use a _task counter instead of duplicating tasks to
|
|
__tasks; this allows us to add tasks after starting.
|
|
Catch Exceptions during next() so that we don't get
|
|
stuck in a main loop that doesn't exit.
|
|
Raise it later when we're done.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Since the version was inherited from the current code
|
|
in unpickled objects, separate into classVersion and
|
|
an instanceVersion set from __init__.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
Add a logName for debugging.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/image/image.py:
|
|
Correctly chain up to parent __init__ for MultiTasks
|
|
|
|
2009-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/capital.1.toc (added):
|
|
* morituri/test/capital.2.toc (added):
|
|
Add two .toc's for two sessions of a 2 session disc
|
|
* morituri/image/table.py:
|
|
Add a merge method to merge in a second session.
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_image_toc.py:
|
|
Add a test for merging the Das Capital sessions, gets
|
|
the CDDB disc id right.
|
|
|
|
2009-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add a persisted cache so that we can store pickles on discs.
|
|
Automatically delete them if the class version is newer than
|
|
the object's.
|
|
* morituri/rip/cd.py:
|
|
Use it.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Add a version ivar to help with versioning pickled objects.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Add copy and test CRC's to object.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/drive.py (added):
|
|
Add drive module.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/offset.py:
|
|
Add device argument to ripping/scanning tasks.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/accurip.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/test_common_accurip.py (added):
|
|
Move accuraterip stuff to the accurip module.
|
|
Move/create new test file.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/drive.py (added):
|
|
Add 'rip drive list' command to list available drives.
|
|
* morituri/common/accurip.py:
|
|
Add force.
|
|
* morituri/rip/cd.py:
|
|
Add --output-directory argument.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/rip/cd.py:
|
|
* morituri/common/accurip.py (added):
|
|
Add a module for handling a cache of AccurateRip results.
|
|
Use it.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/cd.py (added):
|
|
Add second command, 'rip cd rip' before factoring out functionality.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/offset.py (added):
|
|
Add first command, 'rip offset find'
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* Makefile.am:
|
|
* morituri/test/Makefile.am:
|
|
Make distcheck work.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
More pychecker fixes.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/common/renamer.py:
|
|
Pychecker fixes.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* RELEASE:
|
|
* misc/pycheckerrc:
|
|
* misc/show-coverage.py:
|
|
* morituri/image/Makefile.am:
|
|
* morituri/program/Makefile.am:
|
|
* RELEASE (added):
|
|
* morituri/image/Makefile.am (added):
|
|
* morituri/program/Makefile.am (added):
|
|
* misc/show-coverage.py (added):
|
|
* misc/pycheckerrc (added):
|
|
more additions
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* AUTHORS:
|
|
* Makefile.am:
|
|
* NEWS:
|
|
* TODO:
|
|
* autogen.sh:
|
|
* configure.ac:
|
|
* examples/ARcalibrate.py:
|
|
* misc/Makefile.am:
|
|
* misc/morituri-uninstalled:
|
|
* morituri.spec.in:
|
|
* morituri/Makefile.am:
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/logcommand.py:
|
|
* morituri/extern/Makefile.am:
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/__init__.py:
|
|
* morituri/rip/main.py:
|
|
* morituri/test/Makefile:
|
|
* morituri/test/Makefile.am:
|
|
* configure.ac (added):
|
|
* AUTHORS (added):
|
|
* morituri.spec.in (added):
|
|
* Makefile.am (added):
|
|
* morituri/test/Makefile.am (added):
|
|
* morituri/extern/Makefile.am (added):
|
|
* morituri/common/logcommand.py (added):
|
|
* morituri/common/Makefile.am (added):
|
|
* morituri/Makefile.am (added):
|
|
* morituri/rip (added):
|
|
* morituri/rip/__init__.py (added):
|
|
* morituri/rip/Makefile.am (added):
|
|
* morituri/rip/main.py (added):
|
|
* misc/Makefile.am (added):
|
|
* misc/morituri-uninstalled (added):
|
|
* autogen.sh (added):
|
|
* NEWS (added):
|
|
Start autotooling. Add a command-line application.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
read all sessions by reading session 9.
|
|
* morituri/image/toc.py:
|
|
Parse ZERO statements properly.
|
|
Also set absolute offsets when we know them from the .toc file.
|
|
Properly set audio flag on tracks.
|
|
FIXME: probably doesn't work if the .toc does not have lengths.
|
|
* morituri/image/table.py:
|
|
Add some debug to cddb disc id calculation.
|
|
Fix absolutize function, it was going one index too far.
|
|
raise ValueError when overriding .absolute with a wrong value.
|
|
* examples/readdisc.py:
|
|
Show CDDB disc id at the start.
|
|
Assert when toc and table have different disc id's (to be fixed)
|
|
* morituri/test/test_image_cue.py:
|
|
Update for having the table already with absolute values.
|
|
* morituri/test/test_image_toc.py:
|
|
Add Ladyhawke CDDB test, it has a data track.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Move constants to common
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
* examples/readhtoa.py:
|
|
* examples/readtoc.py:
|
|
Rename IndexTable to Table.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_table.py:
|
|
Rename IndexTable to Table.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_table.py:
|
|
Rename ITTrack to Track.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/image/cue.py:
|
|
Use FRAMES_PER_SECOND where appropriate.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/common.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Move constants to common
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Get our metadata only from the toc.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Also work for discs without htoa.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Write .m3u file.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Rip HTOA as well. Add disc-template parameter.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Fix a subtle bug in our CDDB disc id calculation.
|
|
The length of the audio should be calculated as the delta
|
|
between leadout and start already converted (and truncated)
|
|
to seconds.
|
|
* morituri/test/bloc.cue:
|
|
* morituri/test/test_image_toc.py:
|
|
Fix up tests for this.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Fix up track counting so HTOA can be ripped again.
|
|
* examples/readhtoa.py:
|
|
Fix up example so it works again, tested on Silent Alarm.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/bloc.cue (added):
|
|
Add an expected .cue file for the bloc party toc.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
Calculate the leadout from the sum of the track lengths.
|
|
* morituri/test/breeders.cue:
|
|
* morituri/test/cure.cue:
|
|
Adapt expected results for DISCID.
|
|
* morituri/image/table.py:
|
|
Add an assert for hasTOC() when doing .cue()
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/test_image_cue.py:
|
|
absolutize before cue()
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Only add DISCID if our table is a TOC (which it isn't
|
|
with our current .toc file parsing)
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Fix up tests; testsuite passes again.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
Add some debugging.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Update .cue writing:
|
|
- customise program name
|
|
- add DISCID
|
|
- use counter for FILE lines
|
|
- put FILE line before TRACK if track does not have INDEX 00
|
|
Take counter into account for setFile
|
|
Fix off-by-one in setFile
|
|
* examples/readdisc.py:
|
|
Add --track-template.
|
|
Pass counter to setFile.
|
|
|
|
2009-05-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Add CDText writing to .cue() method.
|
|
* morituri/image/toc.py:
|
|
Add CDText parsing.
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/breeders.cue (added):
|
|
Add a test for cue'ing the breeders' toc.
|
|
|
|
2009-05-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
Add parsing of ISRC codes.
|
|
Add first part of CDTEXT stuff.
|
|
* morituri/test/test_image_toc.py:
|
|
Add test for converting .toc to .cue
|
|
* morituri/test/cure.cue
|
|
Add reference for converted cure.toc
|
|
|
|
2009-05-10 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py:
|
|
Fix example.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
Correctly calculate MusicBrainz disc id for enhanced cd's.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Log on runners too.
|
|
* morituri/program/cdrdao.py:
|
|
Abort if output has ERROR by killing and setting an exception.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
filter out slashes when deciding on file names.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Remove prints. Describe tasks.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add an exception ivar for tasks to set an exception on while
|
|
running. Make SyncRunner raise it during done()
|
|
* morituri/program/cdparanoia.py:
|
|
Set an exception if the ripped file doesn't match the expected size
|
|
(for example when disc is full)
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Set the object when we don't persist.
|
|
* examples/readdisc.py:
|
|
Small fixes.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Fix up cue file reading.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Add musicbrainz code for disc naming.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
Delete old code.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/test_program_cdrdao.py:
|
|
After careful vetting, fix up the expected values after toc parsing.
|
|
Fix (untested) INDEX handling. Fix handling of START.
|
|
|
|
2009-05-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
Implement MusicBrainz disc id. Works for audio-only discs,
|
|
have to figure out why it fails for an Enhanced CD like the
|
|
Ladyhawke one.
|
|
|
|
2009-05-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Add logging.
|
|
Add methods to clear a table of files, and to absolutize indexes
|
|
as long as the source is the same file, and to set a File on a
|
|
given index, adjusting all following indexes that match the
|
|
duration, and check if the IndexTable has all information for a TOC.
|
|
* morituri/image/toc.py:
|
|
Add logging.
|
|
Use a counter for the source.
|
|
Fix up index offset calculation.
|
|
* morituri/program/cdrdao.py:
|
|
Use a real IndexTable as the result, instead of a TocFile.
|
|
* morituri/image/cue.py:
|
|
Use a real IndexTable to store tracks.
|
|
* morituri/test/test_image_toc.py:
|
|
The toc file now has a table which has the tracks.
|
|
Fix the tests to adjust for wrong index calculations.
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/image/image.py:
|
|
The cue file now has a table which has the tracks.
|
|
* morituri/test/test_image_table.py:
|
|
Add assertions to make sure when the table can serve as a TOC.
|
|
* examples/readdisc.py:
|
|
Adjust for changes. Fix up to include AccurateRip results.
|
|
First time we can do a complete normal rip including verifying
|
|
against AccurateRip results!
|
|
|
|
2009-05-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
Fix up and deprecate stuff.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/movecue.py:
|
|
* examples/readcue.py:
|
|
* morituri/image/cue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Cue -> CueFile
|
|
TOC -> TocFile
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py (added):
|
|
Add an example to read a whole disc. Doesn't work yet.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py:
|
|
Fix up readhtoa example. Add offset option.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcalibrate.py:
|
|
* examples/readhtoa.py:
|
|
* examples/readtoc.py:
|
|
* morituri/program/cdrdao.py:
|
|
Rename ReadTOCTask to ReadIndexTableTask.
|
|
Rename ReadTableTask to ReadTOCTask.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Convert ReadTableTask to a CDRDAOTask subclass.
|
|
* examples/ARcalibrate.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Adapt.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Fix up index scanning's progress report.
|
|
Add some debugging.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_program_cdrdao.py:
|
|
Fix up tests. Use an IndexTable.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Massage out a base class for running cdrdao.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_program_cdrdao.py (added):
|
|
Split out the parser from the task. Test the parser.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/test/test_image_cue.py:
|
|
Move to using a shared IndexTable for everything.
|
|
Sadly mixed with a MultiTask rename.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Update debugging. Add repr.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Handle case where we have no matching response.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Distinguish more clearly between MultiSeparateTask and
|
|
MultiCombinedTask.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/test/test_image_cue.py:
|
|
Add dumping of .cue files.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Use a temporary file to rip to.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py:
|
|
Allow specifying the track to save.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make SyncRunner clear previous description/progress task by
|
|
tracking longest output given up to now.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Add a task to read and verify a track.
|
|
* examples/readtrack.py:
|
|
Use it to clean up code.
|
|
* morituri/common/task.py:
|
|
describe a MultiTask better.
|
|
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Create a Persister class to wrap a possible pickle path.
|
|
* examples/trm.py:
|
|
Use it.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Add table to __init__, so we can correctly calculate cdparanoia's
|
|
strange ripping regions.
|
|
* examples/ARcalibrate.py:
|
|
When we found a positive match on a first track, match all the other
|
|
tracks too for confirmation.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/taskgtk.py:
|
|
Bug fix.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/common/taskgtk.py:
|
|
Split off GtkProgressRunner in separate module to not import gtk
|
|
everywhere.
|
|
* examples/ARcalibrate.py:
|
|
* examples/ARcue.py:
|
|
* examples/gtkchecksum.py:
|
|
* examples/trm.py:
|
|
Adapt.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcalibrate.py (added):
|
|
Add an example that calculates the read offset of your drive
|
|
using AccurateRip.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Add a task to read the Table.
|
|
|
|
2009-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Add some debugging.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py (added):
|
|
Add an example that detects and rips the Hidden Track One Audio.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
* morituri/program/cdrdao.py (added):
|
|
Move the ReadTocTask to the new cdrdao module.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Move ReadTrackTask to cdparanoia module.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py (added):
|
|
Add an example that reads a track using cdparanoia.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/cdparanoia.progress (added):
|
|
* morituri/test/test_program_cdparanoia.py (added):
|
|
* morituri/program/__init__.py (added):
|
|
* morituri/program/cdparanoia.py (added):
|
|
Add a module to wrap cdparanoia. Add a test for parsing
|
|
the progress report output.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Debug fixes.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Create some common functions to parse MSF and back.
|
|
* morituri/image/toc.py:
|
|
Use it here.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/trm.py:
|
|
Allow loading and saving fingerprints from a pickle.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/bloc.toc (added):
|
|
Fix up .toc parsing to correct index 0 behaviour.
|
|
Add Bloc Party's Silent Alarm .toc file to test HTOA.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Update to work on my desktop.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make task subclass log.Log
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/log.py:
|
|
Add external log module and use it.
|
|
|
|
2009-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/cure.toc (added):
|
|
Add an example .toc file for the test.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Extract and print TOC.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py (added):
|
|
* morituri/image/toc.py (added):
|
|
Add first stab at .toc parsing.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
get errors from output too.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/test_image_table.py:
|
|
Rename toc.TOC to table.Table
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_table.py (added):
|
|
* morituri/image/table.py (added):
|
|
* morituri/test/test_image_toc.py (deleted):
|
|
* morituri/image/toc.py (deleted):
|
|
Move files around in preparation for the .toc file parsing.
|
|
|
|
2009-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/movecue.py (added):
|
|
Add a script that moves a .cue file in its corresponding directory.
|
|
|
|
2009-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/kanye.cue (added):
|
|
Add a cue test with mixed mode.
|
|
* morituri/image/cue.py:
|
|
* morituri/test/test_image_cue.py:
|
|
Handle it properly.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
getRealPath should be here, it doesn't need anything outside
|
|
the .cue file
|
|
* morituri/image/image.py:
|
|
Proxy it here.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Add some debugging.
|
|
* morituri/test/test_image_image.py:
|
|
Run less verbose.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Allow a SyncRunner to be constructed with verbose too.
|
|
Separate a 'running' verbose mode from that.
|
|
Fixes unwanted test output.
|
|
* morituri/test/test_image_image.py:
|
|
Run without verbosity.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_image.py:
|
|
Fix name.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_renamer.py (added):
|
|
* morituri/common/renamer.py (added):
|
|
Add a way of doing transactional file renames, as well as their
|
|
metafile updates.
|
|
|
|
2009-04-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add a 'described' method so listeners can get proper notification
|
|
of description changes, and update their description in between
|
|
progress changes.
|
|
Add a MultiCombinedTask that reports on progress over all tasks
|
|
combined.
|
|
* examples/trm.py:
|
|
Add a playlist option to the example. Still needs to store results
|
|
to pickles, preferably after each completed task.
|
|
* morituri/common/checksum.py:
|
|
Add audioconvert to make sure we can trm ogg files.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Move MultiTask to the task module.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Add a task to calculate a trm fingerprint.
|
|
* examples/trm.py (added):
|
|
Add an example.
|
|
Strangely enough it starts burstily, doing 10% directly, halting,
|
|
then progressing quickly,
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Fix a bug in the gtk example.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Read the toc using cdrdao. Now sets progress based on which
|
|
frame it is on.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add a __main__ example using DummyTask.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make sure we also show progress when it's 0%, at the start.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
Use names for matches in regexps.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py (added):
|
|
Add an example to read the TOC, not finished yet.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern (added):
|
|
* morituri/extern/__init__.py (added):
|
|
* morituri/extern/asyncsub.py (added):
|
|
Add extern module; add asynchronous subprocess Popen from
|
|
http://code.activestate.com/recipes/440554/
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkchecksum.py:
|
|
* morituri/common/checksum.py:
|
|
Final crc->checksum fixes.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/checksum.py:
|
|
* morituri/image/image.py:
|
|
* morituri/image/toc.py:
|
|
* examples/gtkchecksum.py (added):
|
|
* examples/gtkcrc.py (deleted):
|
|
More crc->checksum changes.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/checksum.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Change crc to checksum everywhere.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/common/checksum.py (added):
|
|
* morituri/common/crc.py (deleted):
|
|
Rename crc to checksum, because AccurateRip checksums are not CRC's.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Make everything use TOC for the id's.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Refactor to use TOC class.
|
|
* morituri/image/toc.py:
|
|
Fully document.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py (added):
|
|
* morituri/image/toc.py (added):
|
|
Add an abstraction for a TOC.
|
|
Take data tracks into account correctly for CDDB and AccurateRip
|
|
disc ID's.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
AccurateRip binary files actually contain multiple responses, so
|
|
parse all of them.
|
|
* examples/ARcue.py:
|
|
Handle case of not having a response, and having multiple responses.
|
|
|
|
2009-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/crc.py:
|
|
Actually return the CRC when checking frame 5.
|
|
* morituri/test/test_image_image.py:
|
|
Update test for this fix.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Also look for audio file basename relative to cue file.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Make output a bit nicer, mentioning whether tracks were
|
|
accurately ripped.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Add an object to parse the response of AccurateRip.
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/dBAR-011-0010e284-009228a3-9809ff0b.bin (added):
|
|
Add a test for it, based on my Kings Of Leon CD.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Add the 150 frames for the leadin only to the CDDB calculation.
|
|
Add methods to calculate AccurateRip id's and URL.
|
|
* morituri/test/test_image_image.py:
|
|
Add tests for it.
|
|
* examples/ARcue.py:
|
|
Show AccurateRip URL.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/crc.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Calculate CDDB disc id.
|
|
Tested on my Kings Of Leon CD.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Add a task to verify a disk image, which also calculates
|
|
track lengths for tracks the cue file doesn't know the length of.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Add option to run either command-line or gtk.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Create a MultiTask base class, and make AudioRipCRCTask
|
|
use it.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Add a task for calculating frame length of an audio file.
|
|
Add a test for it.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Schedule the start from the main loop, otherwise the
|
|
task might complete before we're in the main loop,
|
|
and then the loop.quit() doesn't work.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* examples/gtkcrc.py:
|
|
Rework both examples to look more similar.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Move the gtk-based progress bar to task.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/crc.py:
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Add a 'schedule' call to the TaskRunner class, so that we can
|
|
abstract things like gobject.timeout_add and reactor.callLater
|
|
Pass the runner to the task in Task.start() so a task can call
|
|
schedule.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Update the docs.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_image.py (added):
|
|
Add tests for AudioRip CRC'ing images.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/track-separate.cue (added):
|
|
* morituri/test/track.flac (added):
|
|
* morituri/test/Makefile (added):
|
|
* morituri/test/track-single.cue (added):
|
|
Add a simple 10 frame flac file, and two .cue files
|
|
using it.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
If paths are relative, make them relative to cue file.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
clear with whitespace.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py (added):
|
|
Add an object for handling an Image based on a .cue file.
|
|
Create a Task for CRC'ing the whole Image.
|
|
Make the example use this new task instead.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Add task object to listener interface methods.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Move methods around.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/crc.py:
|
|
* morituri/common/task.py:
|
|
Split out generic task/runner from CRC tasks.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/crc.py (added):
|
|
Copy from task.py before splitting.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Don't block the main loop by infinitely scheduling
|
|
set_state.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Make a real Task interface and use it.
|
|
Make runners reusable for multiple tasks.
|
|
gtkcrc.py seems to be blocking updates however.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test (added):
|
|
* morituri/test/test_image_cue.py (added):
|
|
* morituri/test/kings-single.cue (added):
|
|
* morituri/test/__init__.py (added):
|
|
* morituri/test/kings-separate.cue (added):
|
|
Add test suite. Add Kings Of Leon cue files.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Error out when the file doesn't exist.
|
|
* morituri/common/task.py:
|
|
Drag the lake.
|
|
Clean up prints.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Remove queue to avoid race.
|
|
Remove prints.
|
|
Clean up debug.
|
|
Update progress after handling buffers.
|
|
|
|
2009-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Introduce constants for FRAMES_PER_DISC_FRAME
|
|
* examples/ARcue.py:
|
|
Use the constant.
|
|
Get the CRC right for the last track too.
|
|
|
|
2009-03-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/task.py:
|
|
Use an adapter to assemble CD frames.
|
|
Take into account special rules for first and last track.
|
|
Mention some bugs.
|
|
Remember to drag the lake from the task.
|
|
|
|
2009-03-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/task.py:
|
|
First version that seems to get some AccurateRip checksums right.
|
|
|
|
2009-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
publicize CueFile.tracks
|
|
Add a method to get track lengths
|
|
* examples/readcue.py:
|
|
Use it.
|
|
|
|
2009-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py (added):
|
|
Add a task abstraction.
|
|
|