Commit Graph

126 Commits

Author SHA1 Message Date
Thomas Vander Stichele
dc9ac1c6e3 * 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 20:33:00 +00:00
Thomas Vander Stichele
e0ed33b1da * 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 19:42:08 +00:00
Thomas Vander Stichele
2962bd98f8 * morituri/test/test_image_toc.py:
* morituri/test/bloc.cue (added):
	  Add an expected .cue file for the bloc party toc.
2009-05-15 19:32:45 +00:00
Thomas Vander Stichele
f2ba07c729 * 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 19:23:57 +00:00
Thomas Vander Stichele
e87dc1b471 * 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 19:06:29 +00:00
Thomas Vander Stichele
2f384d32cd * morituri/image/toc.py:
Add some debugging.
2009-05-15 08:09:04 +00:00
Thomas Vander Stichele
5cae5cf60f * 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
	* examples/readdisc.py:
	  Add --track-template.
	  Pass counter to setFile.
2009-05-15 08:08:22 +00:00
Thomas Vander Stichele
0c5373851f * 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 08:55:08 +00:00
Thomas Vander Stichele
82db5d3b1d * 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-14 08:21:28 +00:00
Thomas Vander Stichele
54d4cecd34 * morituri/image/table.py:
* morituri/test/test_image_table.py:
	  Correctly calculate MusicBrainz disc id for enhanced cd's.
2009-05-07 15:06:37 +00:00
Thomas Vander Stichele
36729a4bef * 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 15:05:14 +00:00
Thomas Vander Stichele
e5ad3bde58 * morituri/common/task.py:
* morituri/image/image.py:
	  Remove prints.  Describe tasks.
2009-05-07 11:11:22 +00:00
Thomas Vander Stichele
c06814e139 * 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 09:19:41 +00:00
Thomas Vander Stichele
9fb4264934 * morituri/common/common.py:
Set the object when we don't persist.
	* examples/readdisc.py:
	  Small fixes.
2009-05-07 09:11:23 +00:00
Thomas Vander Stichele
9b1fc33003 * morituri/image/table.py:
* morituri/image/toc.py:
	  Delete old code.
2009-05-06 08:55:28 +00:00
Thomas Vander Stichele
049496a8b1 * 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 22:40:26 +00:00
Thomas Vander Stichele
9992fb267f * 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 18:46:11 +00:00
Thomas Vander Stichele
2f464207db * 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 10:01:41 +00:00
Thomas Vander Stichele
a5d70dd317 * examples/readdisc.py:
* morituri/image/table.py:
	* morituri/test/test_image_table.py:
	  Fix up and deprecate stuff.
2009-05-04 23:10:39 +00:00
Thomas Vander Stichele
8e89b84c69 add test 2009-05-04 23:09:26 +00:00
Thomas Vander Stichele
c17a28d7ae * 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 16:01:19 +00:00
Thomas Vander Stichele
2dbd307096 docs and repr fixes 2009-05-04 15:58:12 +00:00
Thomas Vander Stichele
d07fde2c96 * examples/ARcalibrate.py:
* examples/readhtoa.py:
	* examples/readtoc.py:
	* morituri/program/cdrdao.py:
	  Rename ReadTOCTask to ReadIndexTableTask.
	  Rename ReadTableTask to ReadTOCTask.
2009-05-04 13:51:11 +00:00
Thomas Vander Stichele
3a75cb2d0f * morituri/program/cdrdao.py:
Convert ReadTableTask to a CDRDAOTask subclass.
	* examples/ARcalibrate.py:
	* morituri/program/cdparanoia.py:
	  Adapt.
2009-05-04 13:48:18 +00:00
Thomas Vander Stichele
b007882888 * morituri/program/cdrdao.py:
Fix up index scanning's progress report.
	  Add some debugging.
2009-05-04 13:04:04 +00:00
Thomas Vander Stichele
d34f3683ec * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py:
	  Fix up tests.  Use an IndexTable.
2009-05-04 12:28:12 +00:00
Thomas Vander Stichele
91b9c393de * morituri/program/cdrdao.py:
Massage out a base class for running cdrdao.
2009-05-04 12:14:05 +00:00
Thomas Vander Stichele
ffbda81f09 * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py (added):
	  Split out the parser from the task.  Test the parser.
2009-05-04 09:23:35 +00:00
Thomas Vander Stichele
aee0a2f128 * morituri/program/cdrdao.py:
* morituri/test/test_program_cdrdao.py (added):
	  Split out the parser from the task.  Test the parser.
2009-05-04 09:23:22 +00:00
Thomas Vander Stichele
ced087291f add logging 2009-05-04 08:43:23 +00:00
Thomas Vander Stichele
22e81b4665 * 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 08:40:42 +00:00
Thomas Vander Stichele
d22bff1079 * morituri/common/checksum.py:
Update debugging.  Add repr.
2009-05-04 08:39:39 +00:00
Thomas Vander Stichele
d7f1f0a87a * morituri/common/task.py:
Distinguish more clearly between MultiSeparateTask and
	  MultiCombinedTask.
2009-05-03 20:25:28 +00:00
Thomas Vander Stichele
1bb00ba7ff add assert 2009-05-03 19:20:53 +00:00
Thomas Vander Stichele
6e2e58a373 * morituri/image/cue.py:
* morituri/test/test_image_cue.py:
	  Add dumping of .cue files.
2009-05-03 19:18:26 +00:00
Thomas Vander Stichele
bdf1d0b90c docs 2009-05-03 19:17:32 +00:00
Thomas Vander Stichele
be20385fd4 * morituri/program/cdparanoia.py:
Use a temporary file to rip to.
2009-05-03 19:17:21 +00:00
Thomas Vander Stichele
e3c42ddf64 remove ellipses 2009-05-03 19:16:20 +00:00
Thomas Vander Stichele
836a3beea1 * morituri/common/task.py:
Make SyncRunner clear previous description/progress task by
	  tracking longest output given up to now.
2009-05-03 18:07:22 +00:00
Thomas Vander Stichele
d1c3bb3def * 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 17:44:23 +00:00
Thomas Vander Stichele
4e62448000 remove prints 2009-05-03 17:05:32 +00:00
Thomas Vander Stichele
daaffb78e7 * morituri/common/common.py:
Create a Persister class to wrap a possible pickle path.
	* examples/trm.py:
	  Use it.
2009-05-03 17:04:42 +00:00
Thomas Vander Stichele
e0c311f870 remove a print 2009-05-03 15:03:18 +00:00
Thomas Vander Stichele
81eddd26b8 verify cdparanoia's output 2009-05-03 14:54:52 +00:00
Thomas Vander Stichele
d8e288d848 * 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 12:59:37 +00:00
Thomas Vander Stichele
c592e00425 add repr 2009-05-03 12:57:44 +00:00
Thomas Vander Stichele
718275c5ee * morituri/common/taskgtk.py:
Bug fix.
2009-05-03 10:30:33 +00:00
Thomas Vander Stichele
fc907f1953 * 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 10:20:22 +00:00
Thomas Vander Stichele
a47a2f2a5c copy before splitting 2009-05-03 10:16:19 +00:00
Thomas Vander Stichele
5411fffd4b * morituri/program/cdrdao.py:
Add a task to read the Table.
2009-05-03 09:55:36 +00:00