a5735b277b
tell us when we're wrong
Thomas Vander Stichele
2009-05-15 21:02:19 +00:00
dc5f2ba75f
* examples/readdisc.py: Rip HTOA as well. Add disc-template parameter.
Thomas Vander Stichele
2009-05-15 20:40:20 +00:00
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.
Thomas Vander Stichele
2009-05-15 20:33:00 +00:00
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.
Thomas Vander Stichele
2009-05-15 19:42:08 +00:00
2962bd98f8
* morituri/test/test_image_toc.py: * morituri/test/bloc.cue (added): Add an expected .cue file for the bloc party toc.
Thomas Vander Stichele
2009-05-15 19:32:45 +00:00
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()
Thomas Vander Stichele
2009-05-15 19:23:57 +00:00
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.
Thomas Vander Stichele
2009-05-15 19:06:29 +00:00
2f384d32cd
* morituri/image/toc.py: Add some debugging.
Thomas Vander Stichele
2009-05-15 08:09:04 +00:00
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.
Thomas Vander Stichele
2009-05-15 08:08:22 +00:00
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.
Thomas Vander Stichele
2009-05-14 08:55:08 +00:00
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
Thomas Vander Stichele
2009-05-14 08:21:28 +00:00
54d4cecd34
* morituri/image/table.py: * morituri/test/test_image_table.py: Correctly calculate MusicBrainz disc id for enhanced cd's.
Thomas Vander Stichele
2009-05-07 15:06:37 +00:00
36729a4bef
* morituri/common/task.py: Log on runners too. * morituri/program/cdrdao.py: Abort if output has ERROR by killing and setting an exception.
Thomas Vander Stichele
2009-05-07 15:05:14 +00:00
18b13eb84f
* examples/readdisc.py: filter out slashes when deciding on file names.
Thomas Vander Stichele
2009-05-07 11:30:55 +00:00
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)
Thomas Vander Stichele
2009-05-07 09:19:41 +00:00
9fb4264934
* morituri/common/common.py: Set the object when we don't persist. * examples/readdisc.py: Small fixes.
Thomas Vander Stichele
2009-05-07 09:11:23 +00:00
75e8f0df5f
* examples/readdisc.py: Fix up cue file reading.
Thomas Vander Stichele
2009-05-06 21:58:57 +00:00
1485ef790c
* examples/readdisc.py: Add musicbrainz code for disc naming.
Thomas Vander Stichele
2009-05-06 21:45:12 +00:00
9b1fc33003
* morituri/image/table.py: * morituri/image/toc.py: Delete old code.
Thomas Vander Stichele
2009-05-06 08:55:28 +00:00
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.
Thomas Vander Stichele
2009-05-05 22:40:26 +00:00
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.
Thomas Vander Stichele
2009-05-05 18:46:11 +00:00
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!
Thomas Vander Stichele
2009-05-05 10:01:41 +00:00
a5d70dd317
* examples/readdisc.py: * morituri/image/table.py: * morituri/test/test_image_table.py: Fix up and deprecate stuff.
Thomas Vander Stichele
2009-05-04 23:10:39 +00:00
8e89b84c69
add test
Thomas Vander Stichele
2009-05-04 23:09:26 +00:00
2dbd307096
docs and repr fixes
Thomas Vander Stichele
2009-05-04 15:58:12 +00:00
bc36bf3aa5
* examples/readdisc.py (added): Add an example to read a whole disc. Doesn't work yet.
Thomas Vander Stichele
2009-05-04 15:58:03 +00:00
4b904cfcbc
* examples/readhtoa.py: Fix up readhtoa example. Add offset option.
Thomas Vander Stichele
2009-05-04 14:40:39 +00:00
d07fde2c96
* examples/ARcalibrate.py: * examples/readhtoa.py: * examples/readtoc.py: * morituri/program/cdrdao.py: Rename ReadTOCTask to ReadIndexTableTask. Rename ReadTableTask to ReadTOCTask.
Thomas Vander Stichele
2009-05-04 13:51:11 +00:00
9841d5e2fb
handle not having a toc
Thomas Vander Stichele
2009-05-04 13:48:22 +00:00
3a75cb2d0f
* morituri/program/cdrdao.py: Convert ReadTableTask to a CDRDAOTask subclass. * examples/ARcalibrate.py: * morituri/program/cdparanoia.py: Adapt.
Thomas Vander Stichele
2009-05-04 13:48:18 +00:00
6769480d2d
fail if we don't have a toc
Thomas Vander Stichele
2009-05-04 13:04:19 +00:00
b007882888
* morituri/program/cdrdao.py: Fix up index scanning's progress report. Add some debugging.
Thomas Vander Stichele
2009-05-04 13:04:04 +00:00
d34f3683ec
* morituri/program/cdrdao.py: * morituri/test/test_program_cdrdao.py: Fix up tests. Use an IndexTable.
Thomas Vander Stichele
2009-05-04 12:28:12 +00:00
91b9c393de
* morituri/program/cdrdao.py: Massage out a base class for running cdrdao.
Thomas Vander Stichele
2009-05-04 12:14:05 +00:00
ffbda81f09
* morituri/program/cdrdao.py: * morituri/test/test_program_cdrdao.py (added): Split out the parser from the task. Test the parser.
Thomas Vander Stichele
2009-05-04 09:23:35 +00:00
aee0a2f128
* morituri/program/cdrdao.py: * morituri/test/test_program_cdrdao.py (added): Split out the parser from the task. Test the parser.
Thomas Vander Stichele
2009-05-04 09:23:22 +00:00
ced087291f
add logging
Thomas Vander Stichele
2009-05-04 08:43:23 +00:00
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.
Thomas Vander Stichele
2009-05-04 08:40:42 +00:00
99d90552d3
* examples/ARcue.py: Handle case where we have no matching response.
Thomas Vander Stichele
2009-05-04 08:39:12 +00:00
d7f1f0a87a
* morituri/common/task.py: Distinguish more clearly between MultiSeparateTask and MultiCombinedTask.
Thomas Vander Stichele
2009-05-03 20:25:28 +00:00
1bb00ba7ff
add assert
Thomas Vander Stichele
2009-05-03 19:20:53 +00:00
6e2e58a373
* morituri/image/cue.py: * morituri/test/test_image_cue.py: Add dumping of .cue files.
Thomas Vander Stichele
2009-05-03 19:18:26 +00:00
bdf1d0b90c
docs
Thomas Vander Stichele
2009-05-03 19:17:32 +00:00
be20385fd4
* morituri/program/cdparanoia.py: Use a temporary file to rip to.
Thomas Vander Stichele
2009-05-03 19:17:21 +00:00
e3c42ddf64
remove ellipses
Thomas Vander Stichele
2009-05-03 19:16:20 +00:00
66033faac7
* examples/readtrack.py: Allow specifying the track to save.
Thomas Vander Stichele
2009-05-03 19:16:05 +00:00
836a3beea1
* morituri/common/task.py: Make SyncRunner clear previous description/progress task by tracking longest output given up to now.
Thomas Vander Stichele
2009-05-03 18:07:22 +00:00
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.
Thomas Vander Stichele
2009-05-03 17:44:23 +00:00
4e62448000
remove prints
Thomas Vander Stichele
2009-05-03 17:05:32 +00:00
daaffb78e7
* morituri/common/common.py: Create a Persister class to wrap a possible pickle path. * examples/trm.py: Use it.
Thomas Vander Stichele
2009-05-03 17:04:42 +00:00
e0c311f870
remove a print
Thomas Vander Stichele
2009-05-03 15:03:18 +00:00
81eddd26b8
verify cdparanoia's output
Thomas Vander Stichele
2009-05-03 14:54:52 +00:00
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.
Thomas Vander Stichele
2009-05-03 12:59:37 +00:00
c592e00425
add repr
Thomas Vander Stichele
2009-05-03 12:57:44 +00:00
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.
Thomas Vander Stichele
2009-05-03 10:20:22 +00:00
a47a2f2a5c
copy before splitting
Thomas Vander Stichele
2009-05-03 10:16:19 +00:00
05e90de6e3
* examples/ARcalibrate.py (added): Add an example that calculates the read offset of your drive using AccurateRip.
Thomas Vander Stichele
2009-05-03 10:08:03 +00:00
5411fffd4b
* morituri/program/cdrdao.py: Add a task to read the Table.
Thomas Vander Stichele
2009-05-03 09:55:36 +00:00
70a3c83ec3
add logging fix up for cue->table rename
Thomas Vander Stichele
2009-05-03 09:54:43 +00:00
1529c2a082
change progress notify to log
Thomas Vander Stichele
2009-05-03 09:54:21 +00:00
d26f1b90ca
add errors
Thomas Vander Stichele
2009-05-03 09:54:05 +00:00
d85dc31e12
doc fix
Thomas Vander Stichele
2009-05-03 09:53:44 +00:00
881019b844
debug fix
Thomas Vander Stichele
2009-05-03 09:53:36 +00:00
076644b879
* morituri/common/task.py: * morituri/image/image.py: Add some debugging.
Thomas Vander Stichele
2009-05-02 09:27:14 +00:00
2acff6bd94
* examples/readhtoa.py (added): Add an example that detects and rips the Hidden Track One Audio.
Thomas Vander Stichele
2009-05-01 20:05:04 +00:00
8286bf9b22
* examples/readtoc.py: * morituri/program/cdrdao.py (added): Move the ReadTocTask to the new cdrdao module.
Thomas Vander Stichele
2009-05-01 18:57:28 +00:00
54c7322a04
* examples/readtrack.py: * morituri/program/cdparanoia.py: Move ReadTrackTask to cdparanoia module.
Thomas Vander Stichele
2009-05-01 18:52:51 +00:00
5d6fb6315a
update example
Thomas Vander Stichele
2009-05-01 18:35:52 +00:00
1f183d60b7
* examples/readtrack.py (added): Add an example that reads a track using cdparanoia.
Thomas Vander Stichele
2009-05-01 18:32:12 +00:00
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.
Thomas Vander Stichele
2009-05-01 18:31:41 +00:00
d76e0a3495
* morituri/common/common.py: Create some common functions to parse MSF and back. * morituri/image/toc.py: Use it here.
Thomas Vander Stichele
2009-05-01 18:29:39 +00:00
9c22566004
moap ignore
Thomas Vander Stichele
2009-05-01 18:28:43 +00:00
c56cbf344a
add to TODO
Thomas Vander Stichele
2009-05-01 12:30:34 +00:00
96c0a92cdd
publicize path
Thomas Vander Stichele
2009-05-01 12:30:27 +00:00
5b0bfd4422
* examples/trm.py: Allow loading and saving fingerprints from a pickle.
Thomas Vander Stichele
2009-05-01 12:30:14 +00:00
beb45e4546
* morituri/image/toc.py: * morituri/test/test_image_toc.py: * morituri/test/bloc.toc (added): Fix up .toc parsing to correct index 0 behaviour. Add Bloc Party's Silent Alarm .toc file to test HTOA.
Thomas Vander Stichele
2009-05-01 12:29:48 +00:00
0a5269b2bf
* examples/readtoc.py: Update to work on my desktop.
Thomas Vander Stichele
2009-05-01 09:18:21 +00:00
4367038f6c
* morituri/common/task.py: Make task subclass log.Log
Thomas Vander Stichele
2009-05-01 08:13:51 +00:00
0cfa2d915a
* morituri/common/log.py: Add external log module and use it.
Thomas Vander Stichele
2009-05-01 08:13:35 +00:00
026fa2779d
* morituri/test/cure.toc (added): Add an example .toc file for the test.
Thomas Vander Stichele
2009-04-29 08:55:12 +00:00
f8b76ae95c
* examples/readtoc.py: Extract and print TOC.
Thomas Vander Stichele
2009-04-27 23:24:24 +00:00
f2b6991dbe
* morituri/test/test_image_toc.py (added): * morituri/image/toc.py (added): Add first stab at .toc parsing.
Thomas Vander Stichele
2009-04-27 22:18:03 +00:00
748d630ba6
* examples/readtoc.py: get errors from output too.
Thomas Vander Stichele
2009-04-27 22:16:11 +00:00
4982f588c7
* morituri/image/image.py: * morituri/image/table.py: * morituri/test/test_image_image.py: * morituri/test/test_image_table.py: Rename toc.TOC to table.Table
Thomas Vander Stichele
2009-04-27 22:15:51 +00:00
5df66ce231
* morituri/test/test_image_table.py (added): * morituri/image/table.py (added): * morituri/test/test_image_toc.py (deleted): * morituri/image/toc.py (deleted): Move files around in preparation for the .toc file parsing.
Thomas Vander Stichele
2009-04-27 22:02:07 +00:00
63515e61f3
* examples/movecue.py (added): Add a script that moves a .cue file in its corresponding directory.
Thomas Vander Stichele
2009-04-26 17:29:33 +00:00
c4f22acda5
* morituri/test/kanye.cue (added): Add a cue test with mixed mode. * morituri/image/cue.py: * morituri/test/test_image_cue.py: Handle it properly.
Thomas Vander Stichele
2009-04-26 11:19:03 +00:00
03ef79ec84
* morituri/image/cue.py: getRealPath should be here, it doesn't need anything outside the .cue file * morituri/image/image.py: Proxy it here.
Thomas Vander Stichele
2009-04-25 16:06:23 +00:00
10e5ec0b18
* morituri/common/checksum.py: Add some debugging. * morituri/test/test_image_image.py: Run less verbose.
Thomas Vander Stichele
2009-04-25 10:12:34 +00:00
837005d565
* morituri/common/task.py: Allow a SyncRunner to be constructed with verbose too. Separate a 'running' verbose mode from that. Fixes unwanted test output. * morituri/test/test_image_image.py: Run without verbosity.
Thomas Vander Stichele
2009-04-25 10:02:51 +00:00
5758cd33cb
moap ignore
Thomas Vander Stichele
2009-04-25 09:51:25 +00:00
0bbcac6d06
* morituri/test/test_common_renamer.py (added): * morituri/common/renamer.py (added): Add a way of doing transactional file renames, as well as their metafile updates.
Thomas Vander Stichele
2009-04-25 09:51:12 +00:00