Commit Graph

40 Commits

Author SHA1 Message Date
Thomas Vander Stichele
6df7313dc4 * morituri/program/cdrdao.py:
Parse version number.
	* morituri/rip/cd.py:
	  Warn about cdrdao versions with a bug.
	* morituri/test/test_program_cdrdao.py:
	  Test that we can parse the version.
2009-09-05 22:06:02 +00:00
Thomas Vander Stichele
bd146a9a35 fix distcheck 2009-06-28 12:43:22 +00:00
Thomas Vander Stichele
1e063f08a7 * morituri/test/test_common_program.py:
* morituri/common/program.py:
	  Extract a common method to get textual representation of
	  AccurateRip results, and test it.
	* morituri/rip/cd.py:
	* morituri/rip/image.py:
	  Use the method.
2009-06-24 20:47:44 +00:00
Thomas Vander Stichele
c24574dfec shorten accurip variable names 2009-06-24 17:17:17 +00:00
Thomas Vander Stichele
6e3eeed548 remove unused import 2009-06-20 16:18:00 +00:00
Thomas Vander Stichele
1643d1ec50 * Makefile.am:
* misc/pycheckerrc:
	* morituri/common/accurip.py:
	* morituri/common/checksum.py:
	* morituri/common/encode.py:
	* morituri/image/table.py:
	* morituri/rip/drive.py:
	  Fix up for pychecker warnings for 2.6
	  Fix rip drive list, which forgot some modules.
2009-06-20 10:57:12 +00:00
Thomas Vander Stichele
efdc830893 * morituri/rip/main.py:
* morituri/rip/image.py (added):
	  Add command to verify an image.
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Fix AccurateRip checksum output.
2009-06-16 21:09:27 +00:00
Thomas Vander Stichele
10375235da * morituri/common/drive.py:
Really make pycdio and cdio optional.
	* morituri/rip/drive.py:
	* morituri/rip/offset.py:
	  Use drive.getAllDevicePaths()
2009-06-16 19:27:18 +00:00
Thomas Vander Stichele
d17829c36a * morituri/result/result.py:
Add max confidence from database.
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Move AccurateRip checking to program.py
	  Re-rip if verification failed when continuing a rip.
2009-06-15 07:07:41 +00:00
Thomas Vander Stichele
b9a62bceb4 fix htoapath setting 2009-06-14 17:41:02 +00:00
Thomas Vander Stichele
1efa2d7b20 * morituri/common/program.py:
* morituri/rip/cd.py:
	  Serialize the rip result after every rip, so we can pick up
	  where we left off with all result data.
2009-06-09 19:39:59 +00:00
Thomas Vander Stichele
5652cee15e fix problem when not connected 2009-06-07 22:49:19 +00:00
Thomas Vander Stichele
644e67f105 more variable shuffling 2009-06-07 17:16:04 +00:00
Thomas Vander Stichele
2d892291a8 * morituri/common/program.py:
Move getPath to Program.
	  Remove arguments to ripTrack that can be gotten from
	  trackResult.
	* morituri/rip/cd.py:
	  Continue without musicbrainz metadata.
	  Unify htoa and normal track ripping.
	* morituri/result/result.py:
	  Add getTrackResult so it's easier to look up track results
	  when there's a HTOA.
2009-06-07 17:10:54 +00:00
Thomas Vander Stichele
df779bc8df * morituri/common/program.py:
* morituri/rip/cd.py:
	  Move HTOA checking to program.
2009-06-07 16:06:58 +00:00
Thomas Vander Stichele
a460abc475 * morituri/result/logger.py:
Fix for toctable->table
	* morituri/common/program.py:
	* morituri/rip/cd.py:
	  Move lots of functionality to program module.
2009-06-07 15:22:55 +00:00
Thomas Vander Stichele
28c2a47d62 * morituri/result/result.py:
Change toctable to table since it's a full index table.
	* morituri/common/Makefile.am:
	* morituri/common/program.py (added):
	  Add module and class for program state.
	* morituri/rip/cd.py:
	  Use the program state to clean up the do() function.
2009-06-07 14:20:30 +00:00
Thomas Vander Stichele
d75066d1bb pychecker cleanup 2009-06-07 13:46:26 +00:00
Thomas Vander Stichele
662c14cf6f * morituri/rip/cd.py:
Massage into 80 characters per line.
	  Make pycdio/cdio optional.
2009-06-07 13:37:54 +00:00
Thomas Vander Stichele
64d241808a * morituri/rip/drive.py:
Make pycdio and cdio optional.
2009-06-07 13:34:41 +00:00
Thomas Vander Stichele
8f88db0a29 * morituri/image/table.py:
Add getPregap() method.
	* morituri/rip/cd.py:
	  Use artist.name, not getUniqueName, to avoid monstruous names for
	  Muse.
	  Pass mbdiscid to getPath, so Unknown Disc can be saved with it.
	  Don't set the date if the release doesn't have one.
	  Set pregap on trackResult using new Track.getPregap()
	  Write all log/cue/m3u files as utf-8.
2009-06-07 12:54:32 +00:00
Thomas Vander Stichele
8ef93523e4 * morituri/test/cdparanoia.progress:
Add a shorter test file, 23 seconds.
	* morituri/test/test_program_cdparanoia.py:
	  Update the test to adapt.  Check for track quality.
	* morituri/program/cdparanoia.py:
	  Add a measure of track quality based on the number of reads.
	  Use the [wrote] output for progress updates, a bit more
	  jittery in its output.
	* morituri/rip/cd.py:
	  Set track quality on RipResult.
2009-06-06 11:16:41 +00:00
Thomas Vander Stichele
03cb3b0880 * morituri/rip/cd.py:
Use RipResult to store result information.
	* morituri/result/logger.py (added):
	  Add a Logger to handle the RipResult, much like
	  EAC's log file.
2009-06-05 09:47:03 +00:00
Thomas Vander Stichele
c7a423bb24 * morituri/rip/cd.py:
Comment out number of track setting on tag for now.
	  MusicBrainz can give us dates in YYYY, YYYY-MM, and YYYY-MM-DD
	  format, so convert to YYYY-MM-DD always.
	  Unmount the data part of the CD we want to rip if it is mounted.
	  Adapt to peak level change.
	  Don't try to write data tracks to the m3u file.
	  Resolve the device path to the actual device path.
2009-06-05 09:44:08 +00:00
Thomas Vander Stichele
192d0739c5 * morituri/common/encode.py:
Add a test() method to the profile so we can warn about bad
	  flacenc versions.
	  Encode track number and count, and release date, if possible.
	* morituri/rip/cd.py:
	  Fix another off-by-one error in the tag encoding.
2009-06-01 22:42:32 +00:00
Thomas Vander Stichele
2b17b8e912 * morituri/program/cdparanoia.py:
* morituri/rip/cd.py:
	  Handle another off-by-one error in the m3u handling.
	  Add a getTagList function.
	  Use it to encode tags.
2009-06-01 12:53:14 +00:00
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
b3c2949066 * morituri/rip/cd.py:
Clean up track numbering confusion.
2009-05-31 13:30:41 +00:00
Thomas Vander Stichele
05dfeaa3a2 * morituri/common/task.py:
Add debug.
	* morituri/rip/drive.py:
	  Show all drives, not just the ones that happen to have an Audio CD
	  inserted.
2009-05-26 21:30:49 +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
59e8310135 * morituri/common/common.py:
Add a persisted cache so that we can store pickles on discs.
	  Automatically delete them if the class version is newer than
	  the object's.
	* morituri/rip/cd.py:
	  Use it.
2009-05-24 18:13:16 +00:00
Thomas Vander Stichele
a3783c2be4 pychecker fixes 2009-05-23 18:18:50 +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
5f872bdaf8 * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/drive.py (added):
	  Add 'rip drive list' command to list available drives.
	* morituri/common/accurip.py:
	  Add force.
	* morituri/rip/cd.py:
	  Add --output-directory argument.
2009-05-23 16:03:05 +00:00
Thomas Vander Stichele
9710e3cc7c * morituri/common/Makefile.am:
* morituri/rip/cd.py:
	* morituri/common/accurip.py (added):
	  Add a module for handling a cache of AccurateRip results.
	  Use it.
2009-05-23 13:38:44 +00:00
Thomas Vander Stichele
da8145798d * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/cd.py (added):
	  Add second command, 'rip cd rip' before factoring out functionality.
2009-05-23 10:03:51 +00:00
Thomas Vander Stichele
9e3e1d53cb * morituri/rip/Makefile.am:
* morituri/rip/main.py:
	* morituri/rip/offset.py (added):
	  Add first command, 'rip offset find'
2009-05-23 09:00:03 +00:00
Thomas Vander Stichele
80475df042 more pychecker fixes 2009-05-22 20:52:38 +00:00
Thomas Vander Stichele
a35b4d4a01 * AUTHORS:
* Makefile.am:
	* NEWS:
	* TODO:
	* autogen.sh:
	* configure.ac:
	* examples/ARcalibrate.py:
	* misc/Makefile.am:
	* misc/morituri-uninstalled:
	* morituri.spec.in:
	* morituri/Makefile.am:
	* morituri/common/Makefile.am:
	* morituri/common/logcommand.py:
	* morituri/extern/Makefile.am:
	* morituri/rip/Makefile.am:
	* morituri/rip/__init__.py:
	* morituri/rip/main.py:
	* morituri/test/Makefile:
	* morituri/test/Makefile.am:
	* configure.ac (added):
	* AUTHORS (added):
	* morituri.spec.in (added):
	* Makefile.am (added):
	* morituri/test/Makefile.am (added):
	* morituri/extern/Makefile.am (added):
	* morituri/common/logcommand.py (added):
	* morituri/common/Makefile.am (added):
	* morituri/Makefile.am (added):
	* morituri/rip (added):
	* morituri/rip/__init__.py (added):
	* morituri/rip/Makefile.am (added):
	* morituri/rip/main.py (added):
	* misc/Makefile.am (added):
	* misc/morituri-uninstalled (added):
	* autogen.sh (added):
	* NEWS (added):
	  Start autotooling.  Add a command-line application.
2009-05-22 20:08:16 +00:00