Commit Graph

70 Commits

Author SHA1 Message Date
Thomas Vander Stichele
dfc9fe8cee update 2009-04-20 22:46:57 +00:00
Thomas Vander Stichele
a9ec95e56d * 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 22:20:07 +00:00
Thomas Vander Stichele
18fcc1b813 * morituri/common/task.py:
* morituri/image/image.py:
	  Move MultiTask to the task module.
2009-04-20 21:34:51 +00:00
Thomas Vander Stichele
8973d53cce * 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 21:31:27 +00:00
Thomas Vander Stichele
1fc0c2bbdb * examples/ARcue.py:
Fix a bug in the gtk example.
2009-04-20 21:30:04 +00:00
Thomas Vander Stichele
58a855c630 * examples/readtoc.py:
Read the toc using cdrdao.  Now sets progress based on which
	  frame it is on.
2009-04-19 22:55:16 +00:00
Thomas Vander Stichele
9905dbad75 * morituri/common/task.py:
Add a __main__ example using DummyTask.
2009-04-19 22:01:39 +00:00
Thomas Vander Stichele
cfeedbca3c * morituri/common/task.py:
Make sure we also show progress when it's 0%, at the start.
2009-04-19 21:48:23 +00:00
Thomas Vander Stichele
68b6db9e10 * morituri/image/cue.py:
Use names for matches in regexps.
2009-04-19 21:47:18 +00:00
Thomas Vander Stichele
a7e3779473 * examples/readtoc.py (added):
Add an example to read the TOC, not finished yet.
2009-04-19 17:26:33 +00:00
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