Commit Graph

38 Commits

Author SHA1 Message Date
Thomas Vander Stichele
2f3c0fdcaf * morituri/common/encode.py:
* morituri/program/cdparanoia.py:
	* morituri/rip/cd.py:
	  Clean up the temporary unencoded file.
	  Pass profile as objects to tasks, so that temp files have the right
	  extension.
2009-06-01 09:45:30 +00:00
Thomas Vander Stichele
f33c50cead * morituri/common/encode.py:
* morituri/program/cdparanoia.py:
	  Add encoding profiles, kept simple for now as a class and
	  subclasses.  Use them to encode.  Calculate peak level while
	  encoding, compared to EAC and replaygain's value.
	* morituri/rip/cd.py:
	  Use the encoding profiles, ripping with the right extension.
	  Add a --profile parameter for it.
2009-05-31 23:04:58 +00:00
Thomas Vander Stichele
262801e554 * morituri/rip/cd.py:
Add asserts for comparing id's between the simple toc and
	  the full table.
	  Create the output directory before ripping the htoa.
	  Ignore data tracks for now.
	  Don't fail if we have no AccurateRip responses.
	* morituri/image/table.py:
	  Add a session ivar to Track.
	  Factor in session leadin when calculating track length
	  of last track in a session.
	  add getMusicBrainzSubmitURL()
	  add _getSessionGap() because the session gap size is different
	  for session 2 and all following.
	  Use it in merge() to get offsets right.
	  Fix getAccurateRipURL by only using the audio tracks for the
	  'length in tracks' number
	  Temporarily disable writing out data tracks to a .cue file,
	  since it's not implemented yet.
	  Add canCue to see if we can write a .cue file from the given table,
	  and debug why not if not.
	* morituri/program/cdrdao.py:
	  Rework to rip each session separately instead of using session 9.
	  This fixes session 9 read-toc missing the pregap.
	  Add a simple LineParser for handling output from disk-info.
	  Count tracks relatively for the session, because the output for
	  session 2 for track numbers picks up where session 1 left off.
	  Don't set leadout from TOC printing since for the same reason
	  session 2's leadout is absolute, not relative to start of session.
	  Add a DiscInfoTask.
	  Convert Table and Toc reading tasks to multitasks, first getting the
	  number of sessions, then reading table/toc for each session.
	* morituri/test/test_image_table.py:
	  Fix up MusicBrainz disc id for my Ladyhawke disc.
	  Add AccurateRip URL verification, compared against EAC's.
	* morituri/test/test_image_toc.py:
	  Use two separate session read-toc output files to verify
	  the case of Das Capital.
	  Verify musicbrainz URL.
2009-05-25 14:59:45 +00:00
Thomas Vander Stichele
631b1478b8 * morituri/program/cdparanoia.py:
* morituri/image/image.py:
	  Correctly chain up to parent __init__ for MultiTasks
2009-05-25 14:47:07 +00:00
Thomas Vander Stichele
85e9058594 * morituri/program/cdparanoia.py:
Add copy and test CRC's to object.
2009-05-23 19:47:58 +00:00
Thomas Vander Stichele
3f1ace2ce2 * morituri/program/cdparanoia.py:
* morituri/program/cdrdao.py:
	* morituri/rip/cd.py:
	* morituri/rip/offset.py:
	  Add device argument to ripping/scanning tasks.
2009-05-23 18:14:31 +00:00
Thomas Vander Stichele
41c92fcda4 pychecker fixes 2009-05-22 20:44:10 +00:00
Thomas Vander Stichele
bd17f96022 * RELEASE:
* misc/pycheckerrc:
	* misc/show-coverage.py:
	* morituri/image/Makefile.am:
	* morituri/program/Makefile.am:
	* RELEASE (added):
	* morituri/image/Makefile.am (added):
	* morituri/program/Makefile.am (added):
	* misc/show-coverage.py (added):
	* misc/pycheckerrc (added):
	  more additions
2009-05-22 20:19:55 +00:00
Thomas Vander Stichele
b08c054be9 fix bug caught by pychecker 2009-05-22 20:09:35 +00:00
Thomas Vander Stichele
bedd5d1fc1 use constants 2009-05-22 20:08:36 +00:00
Thomas Vander Stichele
483c7b8a0c * morituri/program/cdrdao.py:
read all sessions by reading session 9.
	* morituri/image/toc.py:
	  Parse ZERO statements properly.
	  Also set absolute offsets when we know them from the .toc file.
	  Properly set audio flag on tracks.
	  FIXME: probably doesn't work if the .toc does not have lengths.
	* morituri/image/table.py:
	  Add some debug to cddb disc id calculation.
	  Fix absolutize function, it was going one index too far.
	  raise ValueError when overriding .absolute with a wrong value.
	* examples/readdisc.py:
	  Show CDDB disc id at the start.
	  Assert when toc and table have different disc id's (to be fixed)
	* morituri/test/test_image_cue.py:
	  Update for having the table already with absolute values.
	* morituri/test/test_image_toc.py:
	  Add Ladyhawke CDDB test, it has a data track.
2009-05-16 19:09:27 +00:00
Thomas Vander Stichele
0a56fc129e * morituri/image/cue.py:
* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/image/toc.py:
	* morituri/program/cdparanoia.py:
	* morituri/program/cdrdao.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_table.py:
	  Rename IndexTable to Table.
2009-05-16 09:31:38 +00:00
Thomas Vander Stichele
09fe46ee99 * morituri/image/cue.py:
* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/image/toc.py:
	* morituri/program/cdrdao.py:
	* morituri/test/test_image_cue.py:
	* morituri/test/test_image_table.py:
	  Rename ITTrack to Track.
2009-05-16 09:29:01 +00:00
Thomas Vander Stichele
59cb5d0dcb * morituri/common/checksum.py:
* morituri/common/common.py:
	* morituri/image/image.py:
	* morituri/image/table.py:
	* morituri/program/cdparanoia.py:
	  Move constants to common
2009-05-16 09:21:55 +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
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
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
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
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
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
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
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
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
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
5411fffd4b * morituri/program/cdrdao.py:
Add a task to read the Table.
2009-05-03 09:55:36 +00:00
Thomas Vander Stichele
d26f1b90ca add errors 2009-05-03 09:54:05 +00:00
Thomas Vander Stichele
8286bf9b22 * examples/readtoc.py:
* morituri/program/cdrdao.py (added):
	  Move the ReadTocTask to the new cdrdao module.
2009-05-01 18:57:28 +00:00
Thomas Vander Stichele
54c7322a04 * examples/readtrack.py:
* morituri/program/cdparanoia.py:
	  Move ReadTrackTask to cdparanoia module.
2009-05-01 18:52:51 +00:00
Thomas Vander Stichele
08789fc6cb * morituri/test/cdparanoia.progress (added):
* morituri/test/test_program_cdparanoia.py (added):
	* morituri/program/__init__.py (added):
	* morituri/program/cdparanoia.py (added):
	  Add a module to wrap cdparanoia.  Add a test for parsing
	  the progress report output.
2009-05-01 18:31:41 +00:00