* morituri/image/table.py: * morituri/test/test_image_image.py: * morituri/test/test_image_table.py: Rename toc.TOC to table.Table
437 lines
13 KiB
Plaintext
437 lines
13 KiB
Plaintext
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.
|
|
|