Commit Graph

297 Commits

Author SHA1 Message Date
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
Thomas Vander Stichele
b8af96fd3c add example of crc'ing with gtk progress bar 2009-03-02 08:46:19 +00:00
Thomas Vander Stichele
370b48c659 add sync runner.
add error check for not getting all samples.
2009-03-02 08:42:43 +00:00
Thomas Vander Stichele
4c2b6e4c74 * morituri/image/cue.py:
publicize CueFile.tracks
	  Add a method to get track lengths
	* examples/readcue.py:
	  Use it.
2009-02-28 13:43:44 +00:00
Thomas Vander Stichele
7e1c8aac31 * morituri/common/task.py (added):
Add a task abstraction.
2009-02-28 13:43:04 +00:00
Thomas Vander Stichele
0daad73e0e add code to read cue files 2009-01-06 11:45:05 +00:00
Thomas Vander Stichele
fcd9b22e5d add inits 2009-01-06 11:44:40 +00:00
Thomas Vander Stichele
8bedff6f04 add example 2009-01-06 11:44:19 +00:00
Thomas Vander Stichele
28df0647d1 add header 2009-01-06 11:44:05 +00:00
Thomas Vander Stichele
5e0d4013ea moap ignore 2009-01-06 11:43:55 +00:00
Thomas Vander Stichele
20421488be add morituri 2009-01-04 14:39:57 +00:00