Thomas Vander Stichele
0fe1be06b7
* 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-19 17:26:05 +00:00
Thomas Vander Stichele
3c6c44e4ea
add todo file
2009-04-19 09:04:13 +00:00
Thomas Vander Stichele
26bfe85631
* examples/gtkchecksum.py:
...
* morituri/common/checksum.py:
Final crc->checksum fixes.
2009-04-15 13:41:15 +00:00
Thomas Vander Stichele
587f1a45dd
* 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 13:39:16 +00:00
Thomas Vander Stichele
1dffa8ec42
add comment
2009-04-15 13:32:10 +00:00
Thomas Vander Stichele
b63ef021a7
* 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 13:31:35 +00:00
Thomas Vander Stichele
9b5050d221
* 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 13:23:45 +00:00
Thomas Vander Stichele
1abeac8dcf
* examples/ARcue.py:
...
* morituri/image/image.py:
* morituri/test/test_image_image.py:
Make everything use TOC for the id's.
2009-04-15 13:20:56 +00:00
Thomas Vander Stichele
065754d5d1
* morituri/image/image.py:
...
Refactor to use TOC class.
* morituri/image/toc.py:
Fully document.
2009-04-15 12:45:22 +00:00
Thomas Vander Stichele
02edffa629
* 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 12:32:10 +00:00
Thomas Vander Stichele
f865e91526
* 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-15 09:35:58 +00:00
Thomas Vander Stichele
7c598cde9d
make it clear which one is ours
2009-04-14 20:19:58 +00:00
Thomas Vander Stichele
13a9f81550
* 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-14 20:19:27 +00:00
Thomas Vander Stichele
bce17ff3a2
* morituri/image/image.py:
...
Also look for audio file basename relative to cue file.
2009-04-13 20:35:36 +00:00
Thomas Vander Stichele
051dc33049
* examples/ARcue.py:
...
Make output a bit nicer, mentioning whether tracks were
accurately ripped.
2009-04-13 20:00:11 +00:00
Thomas Vander Stichele
362d835829
* 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 18:13:32 +00:00
Thomas Vander Stichele
a8da8d8fa2
* 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-13 17:27:52 +00:00
Thomas Vander Stichele
ac880acdf1
* 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 19:30:57 +00:00
Thomas Vander Stichele
56da05a31c
doc and cleanup, add getIndex
2009-04-12 19:30:23 +00:00
Thomas Vander Stichele
919ae5b8e3
* 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 18:04:30 +00:00
Thomas Vander Stichele
729280ef42
* examples/ARcue.py:
...
Add option to run either command-line or gtk.
2009-04-12 11:15:45 +00:00
Thomas Vander Stichele
d49b4fbaec
* morituri/image/image.py:
...
Create a MultiTask base class, and make AudioRipCRCTask
use it.
2009-04-12 11:06:23 +00:00
Thomas Vander Stichele
27fd2f16e6
* 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 10:20:14 +00:00
Thomas Vander Stichele
b7eb47325e
* 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 10:18:56 +00:00
Thomas Vander Stichele
0ab4aed9a2
some more reorganizing
2009-04-12 09:03:43 +00:00
Thomas Vander Stichele
68669e35b5
some more reorganizing
2009-04-12 09:03:37 +00:00
Thomas Vander Stichele
07587f51e4
* examples/ARcue.py:
...
* examples/gtkcrc.py:
Rework both examples to look more similar.
2009-04-12 09:02:25 +00:00
Thomas Vander Stichele
d47402af60
* examples/gtkcrc.py:
...
* morituri/common/task.py:
Move the gtk-based progress bar to task.
2009-04-12 08:58:36 +00:00
Thomas Vander Stichele
f1d75142da
* 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 08:51:13 +00:00
Thomas Vander Stichele
10647d18a1
* morituri/common/task.py:
...
Update the docs.
2009-04-12 08:34:44 +00:00
Thomas Vander Stichele
28bd15952b
ignore more
2009-04-11 22:11:16 +00:00
Thomas Vander Stichele
a696b14ffe
* morituri/test/test_image_image.py (added):
...
Add tests for AudioRip CRC'ing images.
2009-04-11 22:08:29 +00:00
Thomas Vander Stichele
0d54fc1be8
* 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 21:58:24 +00:00
Thomas Vander Stichele
59ebcc85ad
* morituri/image/image.py:
...
If paths are relative, make them relative to cue file.
2009-04-11 21:57:45 +00:00
Thomas Vander Stichele
6804df4b73
* morituri/common/task.py:
...
clear with whitespace.
2009-04-11 21:57:25 +00:00
Thomas Vander Stichele
51851cc67e
* 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 17:01:40 +00:00
Thomas Vander Stichele
eda9968703
* examples/gtkcrc.py:
...
* morituri/common/task.py:
Add task object to listener interface methods.
2009-04-11 16:42:04 +00:00
Thomas Vander Stichele
6234b08a2f
* morituri/common/task.py:
...
Move methods around.
2009-04-11 16:38:41 +00:00
Thomas Vander Stichele
8345938584
* 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 15:40:03 +00:00
Thomas Vander Stichele
2e93bfb988
* morituri/common/crc.py (added):
...
Copy from task.py before splitting.
2009-04-11 15:36:02 +00:00
Thomas Vander Stichele
1a02c32fc1
* examples/gtkcrc.py:
...
* morituri/common/task.py:
Don't block the main loop by infinitely scheduling
set_state.
2009-04-11 14:58:42 +00:00
Thomas Vander Stichele
8486ee782b
* 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 14:46:19 +00:00
Thomas Vander Stichele
ed72dfe94f
* 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 13:37:42 +00:00
Thomas Vander Stichele
7860fe275b
* examples/ARcue.py:
...
Error out when the file doesn't exist.
* morituri/common/task.py:
Drag the lake.
Clean up prints.
2009-04-11 12:54:45 +00:00
Thomas Vander Stichele
43acc5b6f5
* morituri/common/task.py:
...
Remove queue to avoid race.
Remove prints.
Clean up debug.
Update progress after handling buffers.
2009-04-11 11:17:47 +00:00
Thomas Vander Stichele
fcfd128431
remove debugging output
2009-04-10 14:20:31 +00:00
Thomas Vander Stichele
9488415ce7
* 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-04-05 16:17:31 +00:00
Thomas Vander Stichele
18631a0fb6
* 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-26 14:23:25 +00:00
Thomas Vander Stichele
271bca108f
* examples/ARcue.py:
...
* morituri/common/task.py:
First version that seems to get some AccurateRip checksums right.
2009-03-22 15:07:42 +00:00
Thomas Vander Stichele
fc0d953138
add an example calculating crc's from a cue file
2009-03-02 08:46:41 +00:00