Add the config object to the root command. * morituri/rip/offset.py: Save the drive's read offset when we find it.
3129 lines
93 KiB
Plaintext
3129 lines
93 KiB
Plaintext
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
Add the config object to the root command.
|
|
* morituri/rip/offset.py:
|
|
Save the drive's read offset when we find it.
|
|
|
|
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
* morituri/common/config.py:
|
|
Use XDG if we can import xdg.
|
|
Fix writing the config.
|
|
|
|
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/drive.py:
|
|
* morituri/rip/drive.py:
|
|
Extract getDeviceInfo function.
|
|
|
|
2012-12-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/config.py (added):
|
|
* morituri/test/test_common_config.py (added):
|
|
* morituri/common/Makefile.am:
|
|
* morituri/test/Makefile.am:
|
|
First stab at adding a configuration file to store
|
|
drive read offsets.
|
|
|
|
2012-11-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Reset rip duration when we continue a rip but have to rerip
|
|
a track.
|
|
|
|
2012-11-27 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/result/result.py:
|
|
Track ripping speed for test and encode per-track.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: mustbenice
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/result/result.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/test/test_program_cdparanoia.py:
|
|
Get cdparanoia version.
|
|
Store both cdparanoia and cdrdao versions on rip result.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Make sure we calculate fractional speed.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: mustbenice
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/result/logger.py:
|
|
* morituri/result/result.py:
|
|
Calculate speed of reading track.
|
|
Output Test and Copy speed per track in log.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
Add plugins directory.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/logger.py:
|
|
* morituri/result/result.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/main.py:
|
|
Expose loggers as pluggable.
|
|
Add --logger option to rip cd rip to specify logger.
|
|
|
|
2012-11-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* morituri/configure/installed.py.in:
|
|
* morituri/configure/uninstalled.py.in:
|
|
Create configure.configure.pluginsdir
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
back to development.
|
|
|
|
=== release 0.1.3 ===
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* NEWS:
|
|
* README:
|
|
* RELEASE:
|
|
* configure.ac:
|
|
* morituri.doap:
|
|
Releasing 0.1.3, "cranes"
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Also remove buggy audio parsers when encoding.
|
|
Fixes #73.
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Use vbr-quality instead of quality for vbr. Fixes #94.
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
Fix pychecker warnings.
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Add %y to template for year. Fixes #98.
|
|
|
|
2012-11-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/common/program.py:
|
|
* morituri/image/table.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/test/test_common_common.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Handle cases where disc_template and track_template are not in
|
|
the same directory.
|
|
|
|
2012-11-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_encode.py:
|
|
Work around https://bugzilla.gnome.org/show_bug.cgi?id=688625
|
|
|
|
2012-11-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/common.py:
|
|
Make tests log.
|
|
|
|
2012-11-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/image/cue.py:
|
|
* morituri/image/toc.py:
|
|
factor out getRealPath
|
|
|
|
2012-11-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Add test for getRealPath. Fix bug found by it for absolute paths.
|
|
|
|
2012-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Increase coverage.
|
|
|
|
2012-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* Makefile.am:
|
|
* doc/Makefile.am:
|
|
Adapt to changing over to git module for python-command
|
|
|
|
2012-11-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task/gstreamer.py:
|
|
Fix wrong commit made to fix #89.
|
|
|
|
2012-11-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/offset.py:
|
|
Don't let an exception on testing an offset slip pass.
|
|
Fixes #99.
|
|
|
|
2012-11-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/rip/cd.py:
|
|
Add a number of tries to rip a track.
|
|
|
|
2012-11-10 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* misc/pep8.py (added):
|
|
* Makefile.am:
|
|
Add pep8 target.
|
|
|
|
2012-08-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task/gstreamer.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
Protect backslashes in names. Fixes #89.
|
|
|
|
2012-08-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/drive.py:
|
|
If cdio.get_devices_with_cap finds a single drive, it returns a
|
|
str instead of a list. Work around that bug. Fixes #102.
|
|
* morituri/test/test_common_drive.py (added):
|
|
* morituri/test/Makefile.am:
|
|
Add test for it. Caught a bug in my first implementation, too!
|
|
|
|
2012-08-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
Add a GstPipelineTask that lets us log.
|
|
Handle checksumming of small tracks better.
|
|
|
|
2012-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
Handle EmptyError.
|
|
|
|
2012-07-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Add encode debug.
|
|
|
|
2012-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Use a temp var to make code more readable.
|
|
|
|
2012-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/logger.py:
|
|
Fix logging of AR data
|
|
|
|
2012-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Tell us which track is not in the db.
|
|
|
|
2012-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/musicbrainzngs.py:
|
|
Handle multiple artists correctly.
|
|
|
|
2012-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Christophe Fergeau <cfergeau@redhat.com)
|
|
|
|
* morituri/common/program.py:
|
|
When morituri finds multiple matches for a given release, it only
|
|
keeps the releases whose length are the closest to the CD being
|
|
ripped.
|
|
|
|
However, this currently interacts badly with the --release-id
|
|
parameter because this duration filtering is done before trying to
|
|
do the release-id matching. The release that the user has specified
|
|
may have been removed from the potential matches by the time the
|
|
release
|
|
id match is tried.
|
|
This commit removes the duration filtering when the user explicitly
|
|
specified a release id. I've observed this bug with the first disc
|
|
of The Wall (Experience Edition) by the Pink Floyd.
|
|
Fixes #91.
|
|
|
|
2012-04-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Christophe Fergeau <cfergeau@redhat.com)
|
|
|
|
* morituri/common/program.py:
|
|
When --release-id is used, we are not making guesses based on the
|
|
CD lengths, so the message saying that we picked the closest match
|
|
in duration, which can still trigger, is inappropriate.
|
|
|
|
2012-01-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* TODO:
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Add rip cd rip --release-id as an option to select the exact
|
|
release this disc is a part of.
|
|
Fixes Radiohead - Pablo Honey and U2 - Achtung Baby
|
|
|
|
2012-01-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Properly write utf-8 encoded strings to stdout.
|
|
|
|
2012-01-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Actually return the result from verifyTrack.
|
|
Debug the cache loading some more. Make a note for a TODO.
|
|
|
|
2012-01-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/musicbrainzngs.py:
|
|
Get the artist credit for a track/album; Fixes Gorky - Gorky.
|
|
|
|
2012-01-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/program.py:
|
|
Fix/add logging.
|
|
|
|
2012-01-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
Spec fix.
|
|
* morituri/image/image.py:
|
|
Log fix.
|
|
|
|
2011-10-29 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Remove musicbrainz command.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
Doing a pre-release.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_program.py:
|
|
Remove use of musicbrainz module.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
Don't package old musicbrainz test.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/Makefile.am:
|
|
Hopefully fix both make and make distcheck.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/morituri.release.3451f29c-9bb8-4cc5-bfcc-bd50104b94f8.json (added):
|
|
* morituri/test/test_common_musicbrainzngs.py (added):
|
|
Add test for previous bug of a release not having a date.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
* morituri/common/musicbrainzngs.py:
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Add -R option to rip to record API results for debugging.
|
|
|
|
2011-10-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/musicbrainzngs.py:
|
|
Fix case of metadata not having length.
|
|
Fix case of release not having a date.
|
|
|
|
2011-10-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/musicbrainzngs.py:
|
|
* morituri/common/program.py:
|
|
* morituri/extern/Makefile.am:
|
|
Use musicbrainz NGS for ripping.
|
|
Can now rip Weezer, the Blue Album, both discs.
|
|
|
|
2011-10-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
* morituri/common/musicbrainzngs.py (added):
|
|
Rewrite using python-musicbrainz-ngs.
|
|
Add rip debug musicbrainzngs command for testing,
|
|
seems to work on Weezer - Blue Album - disc 2
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/Makefile.am:
|
|
* morituri/extern/musicbrainzngs/musicbrainz.py (svn:special):
|
|
* morituri/extern/musicbrainzngs/mbxml.py (svn:special):
|
|
* morituri/extern/musicbrainzngs (added):
|
|
* morituri/extern/musicbrainzngs/mbxml.py (added):
|
|
* morituri/extern/musicbrainzngs/__init__.py (added):
|
|
* morituri/extern/musicbrainzngs/musicbrainz.py (added):
|
|
Pull in my fork of python-musicbrainz-ngs
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/musicbrainz.py:
|
|
* morituri/rip/debug.py:
|
|
Doc/output fixes.
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Adapt to splitup.
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Add rip debug musicbrainz command to look up information on
|
|
disc id's.
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/musicbrainz.py:
|
|
* morituri/common/program.py:
|
|
* morituri/test/test_common_program.py:
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_common_musicbrainz.py (added):
|
|
* morituri/common/musicbrainz.py (added):
|
|
Split off musicbrainz-specific code.
|
|
|
|
2011-10-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* TODO:
|
|
* morituri/extern/task/task.py:
|
|
Instead of chaining next in multi tasks, making the call
|
|
chain larger (and exceed maximum depth on track 75), schedule
|
|
it immediately.
|
|
|
|
2011-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
Include test .xml responses.
|
|
|
|
2011-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add shrinkPath to write shorter path names.
|
|
* morituri/test/test_common_common.py (added):
|
|
Add test.
|
|
* morituri/program/cdparanoia.py:
|
|
Catch ENAMETOOLONG and shrink path.
|
|
* morituri/common/program.py:
|
|
Update track result's filename if it was shrunk.
|
|
* morituri/rip/cd.py:
|
|
set the possibly shrunk path on the result.
|
|
|
|
2011-09-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Log properly again.
|
|
Properly set exception when we can't rename the file.
|
|
|
|
2011-09-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task/gstreamer.py:
|
|
Query using time if DEFAULT fails.
|
|
|
|
2011-09-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Add Musicbrainz command.
|
|
|
|
2011-09-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
If any track is missing duration, set the whole album duration
|
|
to 0.
|
|
|
|
2011-09-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
flacparse is busted in gst-plugins-good 0.10.30 too.
|
|
|
|
2011-08-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Don't fail if there is no metadata.
|
|
|
|
2011-08-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/debug.py:
|
|
Pychecker fixes.
|
|
|
|
2011-08-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* TODO:
|
|
Add a note about das capital disc.
|
|
* morituri/test/release.08397059-86c1-463b-8ed0-cd596dbd174f.xml:
|
|
* morituri/test/release.93a6268c-ddf1-4898-bf93-fb862b1c5c5e.xml:
|
|
Add musicbrainz ws1 results for Das Capital and Ladyhawke.
|
|
* morituri/test/test_common_program.py:
|
|
Fix typos.
|
|
Add tests for Ladyhawke and Das Capital duration and parsing.
|
|
* morituri/test/test_image_table.py:
|
|
Fix according to new algorithm.
|
|
* morituri/test/test_image_toc.py:
|
|
Get frame length for both cd's.
|
|
* morituri/image/table.py:
|
|
Add getFrameLength method. Fix up duration.
|
|
|
|
2011-08-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Always print MusicBrainz URL.
|
|
|
|
2011-08-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/release.c7d919f4-3ea0-4c4b-a230-b3605f069440.xml:
|
|
Add release data for Bettie Serveert, Lamprey
|
|
* morituri/test/test_common_program.py:
|
|
Add a test for parsing and getting the whole duration.
|
|
* morituri/common/common.py:
|
|
Add a method to format time.
|
|
* morituri/common/program.py:
|
|
Add duration to tracks and release metadatas.
|
|
When there are multiple matches, look up the closest in duration.
|
|
Make sure that multiple matches closest in duration contain same
|
|
artist and title.
|
|
Complain about the other ones.
|
|
* morituri/image/table.py:
|
|
Add a method to calculate a duration from the table.
|
|
* morituri/test/test_image_table.py:
|
|
Add a test for it.
|
|
|
|
2011-08-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Make sure we definitely fail on failed checksum.
|
|
|
|
2011-08-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* doc/release:
|
|
Add note on actually running.
|
|
* morituri/common/program.py:
|
|
Fix when running rip cd rip --unknown
|
|
|
|
2011-08-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task/task.py:
|
|
Also stub out log calls on Runner.
|
|
|
|
2011-08-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task/task.py:
|
|
Also handle error() log calls.
|
|
|
|
2011-08-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Make sure exceptions don't prevent the task from chaining up
|
|
to the parent stop() implementation, giving the runner a chance
|
|
to actually stop.
|
|
|
|
2011-08-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/debug.py:
|
|
Add checksum task for debugging.
|
|
|
|
2011-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/common.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_common_encode.py:
|
|
Moved quoteParse.
|
|
|
|
2011-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/gstreamer.py:
|
|
* morituri/extern/Makefile.am:
|
|
* morituri/extern/task/gstreamer.py:
|
|
* morituri/common/gstreamer.py (added):
|
|
Extract function to remove audio parsers.
|
|
Fix up dist.
|
|
|
|
2011-08-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/extern/task (added):
|
|
* morituri/extern/task/taskgtk.py (added):
|
|
* morituri/extern/task/gstreamer.py (added):
|
|
* morituri/extern/task/task.py (added):
|
|
* morituri/common/taskgtk.py (deleted):
|
|
* morituri/common/gstreamer.py (deleted):
|
|
* morituri/common/task.py (deleted):
|
|
Move task-related modules into an extern directory so other
|
|
projects can use them.
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/image/image.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/debug.py:
|
|
* morituri/rip/image.py:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/offset.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
* morituri/test/test_common_encode.py:
|
|
* morituri/test/test_image_image.py:
|
|
Adapt. Tests work.
|
|
|
|
2011-07-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Avoid floating point error.
|
|
|
|
2011-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Log which task we are notifying progress on.
|
|
* morituri/common/program.py:
|
|
Solve a problem where a release does not have an .id,
|
|
which means it's only half in musicbrainz (artist
|
|
and title, but no URL to the disc)
|
|
|
|
2011-07-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Fix log output.
|
|
Do progress output while scanning TOC.
|
|
|
|
2011-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* doc/release:
|
|
Back to trunk.
|
|
|
|
=== release 0.1.2 ===
|
|
|
|
2011-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* NEWS:
|
|
* README:
|
|
* RELEASE:
|
|
* configure.ac:
|
|
* morituri.doap:
|
|
Releasing 0.1.2, "VCR"
|
|
|
|
2011-05-31 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Use %default in options description.
|
|
|
|
2011-05-31 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Ouch, was using the DISC TEMPLATE for the tracks.
|
|
|
|
2011-05-30 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_program.py:
|
|
Add a test for the template in #66.
|
|
|
|
2011-05-30 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Templates should have same number of slashes.
|
|
This avoids #66.
|
|
(Possibly, it should also be the same directory, or more code
|
|
should be written to handle that case).
|
|
* morituri/rip/main.py:
|
|
Catch CommandError.
|
|
|
|
2011-05-30 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Create variables for default templates.
|
|
|
|
2011-05-30 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_program.py:
|
|
Add tests for naming of disc output location.
|
|
|
|
2011-05-29 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Actually remove it if it's good and old.
|
|
|
|
2011-05-27 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
In -bad the plugin is called audioparsersbad.
|
|
|
|
2011-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Add debugging about audioparsers removal.
|
|
|
|
2011-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Also remove audioparsers if it's in bad.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
Time for a prerelease.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Remove parsers for current git trunk of good too.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Query for duration and use it in level callback to set progress.
|
|
Works around F-15 bug where encode progress is not being updated.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/debug.py (added):
|
|
Add helper command to debug tasks.
|
|
* morituri/common/encode.py:
|
|
Add debug.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_encode.py:
|
|
Use pink-noise as a wave form to make sure it's long enough.
|
|
Fixes last tests for F-15.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/gstreamer.py:
|
|
Remove audioparsers plugin if it has the known bug.
|
|
Fixes #64.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Show us when we stop twice.
|
|
* morituri/common/gstreamer.py:
|
|
Stop on Exceptions.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add an EmptyError.
|
|
* morituri/common/checksum.py:
|
|
Set it when we don't get any frames.
|
|
* morituri/rip/main.py:
|
|
Catch it and stop ripping if this happens.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
More exception handling and debug.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
add task argument to TaskRunner.schedule so we can get exceptions.
|
|
Add .schedule method to Task to pass self.
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/common/gstreamer.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/program/cdrdao.py:
|
|
Adapt.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_encode.py:
|
|
Write a non-sine wave so we have an actual flac file that will
|
|
typefind.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Actually set exception so MultiTask tells us what went wrong.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Document and change name of a method.
|
|
|
|
2011-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Add a cvar to stop going to playing.
|
|
* morituri/image/image.py:
|
|
Convert AudioLengthTask to GstPipelineTask.
|
|
* morituri/test/test_image_image.py:
|
|
Adapt to new typefind error we run in.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Stop task when we get an exception.
|
|
Don't make pipeline go to PLAYING if we got an exception
|
|
before doing so.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Convert TagReadTask to gstreamer.GstPipelineTask and
|
|
remove lots of duplicate code.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/common/gstreamer.py:
|
|
Move play to base class of GstPipelineTask.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Add a stop method and a stopped overridable handler.
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
Adapt to using stopped.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_encode.py:
|
|
Generate an actual file by spawning gst-launch; otherwise
|
|
with proper error handling we get an error from wavparse that
|
|
there is not enough data to typefind.
|
|
* morituri/common/gstreamer.py:
|
|
Move the gst import to start() and set it as a class attribute.
|
|
Document methods.
|
|
* morituri/common/encode.py:
|
|
Convert EncodeTask to a GstPipelineTask.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Add some debug.
|
|
|
|
2011-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
AccurateRip responses should be treated per track; one response set
|
|
isn't necessarily from the same pressing.
|
|
The first response set contains all the highest confidence
|
|
checksums, and so on in decreasing order.
|
|
So don't assert about one track having a checksum matching from
|
|
a different response set.
|
|
Fixes #5.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
based on code by: Loïc Minier <lool@dooz.org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/accurip.py (added):
|
|
Add a rip accurip show command to show the accuraterip information
|
|
for a given URL. See #5.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Extract one function to write a FILE line.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Ross Burton <ross@burtonini.com>
|
|
|
|
* morituri/image/table.py:
|
|
When writing the .cue file, only write the basename, since
|
|
the .cue file gets stored in the album directory.
|
|
Fixes #10.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
Give a nice error message if cdrdao cannot read the disc.
|
|
Fixes #62.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Since stop can be same as start, add + 1 to progress calculation.
|
|
Fixes #37.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/gstreamer.py:
|
|
Remove unused imports.
|
|
* morituri/image/image.py:
|
|
Remove halfbaked code.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Factor out function to write .m3u lines.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Loïc Minier <lool@dooz.org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Don't strip extension of HTOA track.
|
|
Fixes #50.
|
|
|
|
2011-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/logger.py:
|
|
Always write strftime in C locale. Fixes second bug
|
|
mentioned in #49.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
* morituri/common/gstreamer.py (added):
|
|
Factor out GstException and GstPipelineTask.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* misc/morituri-uninstalled:
|
|
The binary name is rip, so add an option to override.
|
|
Fixes #46.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/image.py:
|
|
Document image subcommand. Fixes #61.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
Package error progress output. Fixes distcheck on slaves.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_program_cdparanoia.py:
|
|
Update expected quality percentage.
|
|
Was broken since its commit in [432].
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/image/table.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/image.py:
|
|
* morituri/rip/offset.py:
|
|
* morituri/test/test_common_accurip.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_table.py:
|
|
Pychecker fixes.
|
|
|
|
2011-05-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Actually raise the exception.
|
|
* morituri/common/task.py:
|
|
Document interface more clearly.
|
|
* morituri/test/test_common_checksum.py:
|
|
Use tcommon for test.common
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Don't fail on loading pickle.
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Alac does not have merge_tags. Fixes #15.
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/common/encode.py:
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Add action and what args to describe task better.
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add more debug.
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
More debug info: args, version, revision.
|
|
|
|
2011-05-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/configure/configure.py (svn:keywords):
|
|
Expand revision.
|
|
* morituri/configure/configure.py:
|
|
Set it on the revision local.
|
|
|
|
2011-04-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
wavenc does not have merge_tags, it seems.
|
|
So don't call an element a tagger, don't merge tags if there is
|
|
no tagger, and complain if there is no merge_tags when we think
|
|
there should be.
|
|
|
|
2011-03-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
cdparanoia can hang indefinitely on scsi read errors.
|
|
For example, on some drives, when trying negative offsets.
|
|
Notice them, count them, and fail after 100.
|
|
* morituri/test/test_program_cdparanoia.py:
|
|
* morituri/test/cdparanoia.progress.error (added):
|
|
Add a test for this output.
|
|
|
|
2011-03-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/offset.py:
|
|
When finding the offset, also load and possibly unmount, resolving
|
|
to the real path for the device.
|
|
|
|
2011-03-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Debug failing to write tags better. See #60.
|
|
|
|
2011-03-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Extend FileSizeError with an extra message.
|
|
* morituri/rip/offset.py:
|
|
Print a reasonable warning when we cannot rip with a certain offset.
|
|
See #57.
|
|
|
|
2011-03-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/drive.py:
|
|
Fix typo. Fixes #59.
|
|
|
|
2011-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Create a GstException to wrap a Gst.GError.
|
|
Create a base GstPipelineTask class.
|
|
Use it in Checksum and TRM tasks.
|
|
Raise and don't proceed to call .paused() when a GstError happens.
|
|
Should help debug https://bugs.launchpad.net/bugs/735053
|
|
* morituri/test/test_common_checksum.py:
|
|
Adapt test.
|
|
|
|
2011-01-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Ross Burton
|
|
|
|
* morituri/common/program.py:
|
|
On compilation albums the album artist is different to the artist.
|
|
If this is the case, morituri should write both tags.
|
|
Fixes #43.
|
|
|
|
2011-01-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/image/table.py:
|
|
* morituri/rip/cd.py:
|
|
Get CDDB disc id. Use it to print info when not found on
|
|
MusicBrainz.
|
|
|
|
2011-01-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Add -U/--unknown option to continue ripping even if the CD is
|
|
unknown. Default to False.
|
|
|
|
2010-12-30 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Add load and eject device. Do so before and after ripping.
|
|
|
|
2010-11-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Loïc Minier <lool at debian dot org>
|
|
|
|
* examples/ARcalibrate.py:
|
|
* examples/ARcue.py:
|
|
* examples/readdisc.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/offset.py:
|
|
s/reponse/response.
|
|
Fixes #51.
|
|
|
|
2010-11-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Add logCategory to CDRDAO tasks.
|
|
Remove errors from parser, set them publically on task.
|
|
Properly raise exceptions on data cd's with correct stack origin.
|
|
|
|
2010-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Comment where we got the template variables from.
|
|
* morituri/rip/cd.py:
|
|
Document the template variables.
|
|
|
|
2010-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Warn about missing cdparanoia too.
|
|
|
|
2010-06-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add MissingDependencyException.
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/rip/main.py:
|
|
Use it to warn about missing cdrdao.
|
|
|
|
2010-06-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add exception traceback for easier debugging.
|
|
|
|
2010-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
Add requires for python-setuptools since we use parse_version.
|
|
Fixes #32.
|
|
|
|
2010-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Set results by default so that it is set even if we get an
|
|
exception getting them.
|
|
Fixes #35.
|
|
|
|
2010-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py:
|
|
Fix distcheck by writing unicode toc filename in a temp dir.
|
|
|
|
2010-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Log the version at the beginning to help in bug reports.
|
|
|
|
2010-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/main.py:
|
|
Fix another UnicodeEncodeError problem as mentioned in #25.
|
|
|
|
2010-04-18 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/jose.toc (added):
|
|
* morituri/test/JoséGonzález.toc (deleted):
|
|
Rename utf-8 file to a normal file.
|
|
* morituri/test/common.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
* morituri/test/test_common_encode.py:
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Copy the normal file first to the utf-8 filename, if supported.
|
|
Skip tests that need unicode when we are not in a utf-8 locale.
|
|
|
|
2010-04-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* doc/release:
|
|
Back to trunk.
|
|
|
|
=== release 0.1.1 ===
|
|
|
|
2010-04-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* NEWS:
|
|
* README:
|
|
* RELEASE:
|
|
* configure.ac:
|
|
* doc/release:
|
|
* morituri.doap:
|
|
Releasing 0.1.1, 'Dead'
|
|
|
|
2010-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
* morituri/rip/image.py:
|
|
Provide status on the retagging.
|
|
|
|
2010-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Peter Oliver
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Respect umask for encoded files. Fixes #17.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Before moving the newly tagged file to overwrite the original
|
|
one, copy over mode.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Commit one missing line from patch in #4 for multi-artist discs.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Peter Oliver
|
|
|
|
* morituri/common/program.py:
|
|
Handle multi-artist releases where track artist is unset.
|
|
Fixes #14.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/image.py:
|
|
Fix more utf-8 issues.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Remove dead code.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Fix wrong code for checksum comparison.
|
|
|
|
2010-04-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Rename some vars to start with mbid. Fix pychecker issues.
|
|
|
|
2010-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Add a retagging command.
|
|
Add a getMusicBrainz() method.
|
|
Also store musicbrainz track/album/artist ids.
|
|
Patch provided by Peter Oliver. Fixes #4.
|
|
* morituri/rip/cd.py:
|
|
Use it.
|
|
* morituri/image/image.py:
|
|
Add a task to retag an image.
|
|
* morituri/rip/image.py:
|
|
Add a command to retag an image.
|
|
|
|
2010-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Add tasks to read, write, and safely retag flac files.
|
|
* morituri/test/test_common_encode.py:
|
|
Add tests for this.
|
|
|
|
2010-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Style fixes.
|
|
* morituri/common/common.py:
|
|
Add functions to convert a gst.TagList to a dict and compare them.
|
|
* morituri/common/task.py:
|
|
Add setAndRaiseException which gives us an appropriate
|
|
exceptionMessage as if we raised where we called this new function.
|
|
|
|
2010-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
pychecker fix.
|
|
|
|
2010-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Add a task to read tags.
|
|
* morituri/test/test_common_encode.py:
|
|
Add a test.
|
|
|
|
2010-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Add a vbr profile.
|
|
|
|
2010-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/image.py:
|
|
Don't splitext on inputdir; fixes encoding of directories like
|
|
Sigur Ros - Takk... (which removed a period)
|
|
|
|
2010-04-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Do some 80 character cleanups.
|
|
|
|
2010-04-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/image.py:
|
|
Fix problem to encode from files with unicode chars.
|
|
|
|
2010-04-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Add some debug.
|
|
* morituri/common/encode.py:
|
|
Add more debug.
|
|
Handle the case where peak is full scale, and peakdB thus 0,
|
|
which triggered not setting self.peak.
|
|
|
|
2010-04-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
patch by: Peter Oliver
|
|
|
|
* morituri/common/program.py:
|
|
Allow using sortName for artist/track using %S/%s.
|
|
Fixes #19.
|
|
|
|
2010-04-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* doc/release:
|
|
Document having clean test run.
|
|
* morituri/common/encode.py:
|
|
Catch and properly stop on gst.QueryError.
|
|
Don't set peak in stop if we had an error.
|
|
* morituri/test/test_common_encode.py:
|
|
* morituri/test/test_common_renamer.py:
|
|
* morituri/test/test_image_cue.py:
|
|
Clean up after tests.
|
|
|
|
2010-04-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/cue.py:
|
|
Add logCategory.
|
|
* morituri/image/image.py:
|
|
If subtasks had an exception, retrigger the exception and stop.
|
|
|
|
2010-04-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Fix AudioLengthTask for the case where we don't have the decoder,
|
|
by instead of doing get_state, waiting for an ASYNC_DONE or ERROR
|
|
message. Properly raise a gst.GError in that case.
|
|
* morituri/common/task.py:
|
|
Add some debug.
|
|
* morituri/test/test_image_image.py:
|
|
After this fix, we now catch the TYPE_NOT_FOUND because of an
|
|
empty stream instead of the later gst.QueryError.
|
|
* morituri/test/test_common_encode.py:
|
|
Let us know what it is if not a gst.QueryError.
|
|
|
|
2010-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* doc/Makefile.am:
|
|
Don't put rip.1 manpage in subdir.
|
|
|
|
2010-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
add quoteParse function to quote properly for gst.parse_launch()
|
|
* morituri/common/checksum.py:
|
|
Fix single quote problem.
|
|
use self.setException()
|
|
* morituri/common/encode.py:
|
|
Fix single quote problem.
|
|
* morituri/image/image.py:
|
|
Fix single quote problem.
|
|
Reraise gst.QueryError.
|
|
* morituri/test/test_common_encode.py:
|
|
* morituri/test/test_common_encode.py (added):
|
|
Add tests for unicode/single/double quote.
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/test_common_checksum.py:
|
|
Add tests for single/double quote.
|
|
* morituri/test/common.py:
|
|
add twisted-like failUnlessRaises to TestCase that returns
|
|
the exception, so we can check wrapped exceptions in TaskException.
|
|
Fixes #16.
|
|
|
|
2010-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Wrap exceptions during tasks in a TaskException, storing the
|
|
message, for improved error reporting later on.
|
|
|
|
2010-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* doc/Makefile.am:
|
|
* morituri.spec.in:
|
|
* morituri/extern/Makefile.am:
|
|
Use help2man.py to generate manpage.
|
|
|
|
2010-04-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
* morituri/common/program.py:
|
|
* morituri/image/image.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/rip/image.py:
|
|
* morituri/rip/offset.py:
|
|
Move all gst-using imports inside functions and classes
|
|
to avoid 'import gst' eating our options.
|
|
Fixes #12.
|
|
|
|
2010-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* bin/Makefile.am:
|
|
Install rip as the script.
|
|
|
|
2010-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
Add missing result.py
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/JoséGonzález.toc (added):
|
|
* morituri/test/José González.toc (deleted):
|
|
automake doesn't handle spaces in names, so move it.
|
|
|
|
2010-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* bin/rip.in:
|
|
Add our PYTHONLIBDIR to sys.path if needed. Should make this
|
|
work when doing ./configure; sudo checkinstall make install
|
|
on e.g. Ubuntu.
|
|
|
|
2010-03-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* bin/rip.in (added):
|
|
* bin/rip (deleted):
|
|
Generate bin/rip so we can do sys.path stuff.
|
|
|
|
2010-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/offset.py:
|
|
Add a more complete list of offsets, obtained using misc/offsets.py
|
|
|
|
2010-03-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* misc/offsets.py (added):
|
|
Add a script to calculate list of offsets based on AccurateRip's
|
|
online database, according to popularity.
|
|
|
|
2010-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py:
|
|
Handle utf-8 properly.
|
|
|
|
2010-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Fix a problem with Arid's new album of not having an id.
|
|
|
|
2010-01-31 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/accurip.py:
|
|
The AccuRip cache dir could exist without the file; handle that
|
|
case.
|
|
|
|
2009-12-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
For Various Artists releases, fall back to the release artist if
|
|
the track artist is None.
|
|
|
|
2009-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Add ImageEncodeTask to encode a disk image to a different profile
|
|
and directory.
|
|
* morituri/common/encode.py:
|
|
Add lossy encoding profiles for mp3 and vorbis.
|
|
Rename muxer to tagger since that's what we use it for.
|
|
Do progress probe after level to make sure we get samples for
|
|
offsets.
|
|
* morituri/rip/image.py:
|
|
Add rip image encode command.
|
|
|
|
2009-10-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/José González.toc (added):
|
|
Add test file for a test.
|
|
|
|
2009-10-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add exceptionMessage on Task to store the result of
|
|
log.getExceptionMessage when the stack is still valid.
|
|
|
|
2009-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
Back to TRUNK.
|
|
|
|
=== release 0.1.0 ===
|
|
|
|
2009-09-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* NEWS:
|
|
* RELEASE:
|
|
* configure.ac:
|
|
Releasing 0.1.0, "Youngblood".
|
|
|
|
2009-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
explicitize keyword args.
|
|
Break some 80+ lines.
|
|
|
|
2009-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/offset.py:
|
|
Pass device parameter to ReadTrackTask. Thanks to Alex B for
|
|
spotting this on my blog.
|
|
|
|
2009-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/rip/offset.py:
|
|
Another unicode fix.
|
|
|
|
2009-09-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* HACKING:
|
|
More unicode notes.
|
|
* morituri/common/program.py:
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/result/result.py:
|
|
* morituri/rip/cd.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Further unicode fixes, for options, CD-Text, paths, ...
|
|
|
|
2009-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Wrap read in an exception handler.
|
|
* morituri/common/task.py:
|
|
Debug exceptions more.
|
|
|
|
2009-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* HACKING:
|
|
Note unicode handling.
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/image/table.py:
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/common/checksum.py:
|
|
Use unicode for paths.
|
|
Use repr for path representation.
|
|
* morituri/test/test_common_checksum.py:
|
|
Add test for unicode audio file name.
|
|
|
|
2009-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/image/toc.py:
|
|
* morituri/test/test_image_cue.py:
|
|
* morituri/test/test_image_toc.py:
|
|
Read input file as utf-8. Fix logging of paths.
|
|
* morituri/image/image.py:
|
|
Document and add asserts for unicodeness of paths.
|
|
Encode path in launch lines as utf-8
|
|
|
|
2009-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make SyncRunner wrap start() so we correctly handle any
|
|
exception being thrown.
|
|
|
|
2009-09-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_common_checksum.py (added):
|
|
Add a check to make sure that checksumming an empty file doesn't
|
|
hang. Fix the hang.
|
|
|
|
2009-09-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
Add pycdio as requirement.
|
|
|
|
2009-09-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
Fix getting AccurateRip results for albums with a HTOA.
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_common_program.py:
|
|
* morituri/test/silentalarm.result.pickle (added):
|
|
Add testcase for it, Bloc Party's Silent Alarm.
|
|
|
|
2009-09-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri.spec.in:
|
|
Update requirements to work around known bugs.
|
|
|
|
2009-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Fix warning against rebuilt package.
|
|
|
|
2009-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* README:
|
|
Fix up dependencies.
|
|
* morituri.spec.in:
|
|
Fix dependencies and noarch install location.
|
|
* morituri/common/Makefile.am:
|
|
Add result.py to dist
|
|
|
|
2009-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* m4/Makefile.am:
|
|
* m4/as-ac-expand.m4 (added):
|
|
Correctly set installation dir for noarch python files so that it
|
|
works on 64 bit.
|
|
|
|
2009-09-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Handle errors. Tested by not having a CD in the drive.
|
|
|
|
2009-07-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Document better.
|
|
Create an ITaskListener interface where we can document.
|
|
Log some more.
|
|
|
|
2009-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Fix deprecationwarning for python 2.6
|
|
|
|
2009-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_common_program.py (added):
|
|
* morituri/common/program.py:
|
|
Break verifyImage into two so we can test it.
|
|
Test it using an AccurateRip result for Luke Haines Is Dead
|
|
which had a wrongly ripped track 10.
|
|
|
|
|
|
2009-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/result.py:
|
|
Document some more.
|
|
|
|
2009-06-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/dBAR-020-002e5023-029d8e49-040eaa14.bin (added):
|
|
Add AR result for Luke Haines Is Dead disc 1
|
|
|
|
2009-06-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/drive.py:
|
|
Really make pycdio and cdio optional.
|
|
* morituri/rip/drive.py:
|
|
* morituri/rip/offset.py:
|
|
Use drive.getAllDevicePaths()
|
|
|
|
2009-06-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
Better debug.
|
|
|
|
2009-06-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/program.py:
|
|
* morituri/rip/cd.py:
|
|
Move HTOA checking to program.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Massage into 80 characters per line.
|
|
Make pycdio/cdio optional.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/drive.py:
|
|
Make pycdio and cdio optional.
|
|
|
|
2009-06-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/result/result.py:
|
|
Add a Logger base class.
|
|
|
|
2009-06-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* configure.ac:
|
|
* morituri/Makefile.am:
|
|
* morituri/result (added):
|
|
* morituri/result/result.py (added):
|
|
* morituri/result/__init__.py (added):
|
|
* morituri/result/Makefile.am (added):
|
|
Add classes to store track and rip results in.
|
|
|
|
2009-06-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Add an argument for the delimiter in formatting.
|
|
* morituri/common/encode.py:
|
|
Most programs use peak volume, not power, so do this too.
|
|
|
|
2009-06-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/common.py:
|
|
Add a method for diffing multiline strings.
|
|
|
|
2009-06-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/cd.py:
|
|
Clean up track numbering confusion.
|
|
|
|
2009-05-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/encode.py (added):
|
|
* examples/encode.py (added):
|
|
Add an Encode Task, hardcoded to flac for now.
|
|
Add an example, that also sets tags.
|
|
|
|
2009-05-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add documentation.
|
|
Use a _task counter instead of duplicating tasks to
|
|
__tasks; this allows us to add tasks after starting.
|
|
Catch Exceptions during next() so that we don't get
|
|
stuck in a main loop that doesn't exit.
|
|
Raise it later when we're done.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Since the version was inherited from the current code
|
|
in unpickled objects, separate into classVersion and
|
|
an instanceVersion set from __init__.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
Add a logName for debugging.
|
|
|
|
2009-05-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
* morituri/image/image.py:
|
|
Correctly chain up to parent __init__ for MultiTasks
|
|
|
|
2009-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/capital.1.toc (added):
|
|
* morituri/test/capital.2.toc (added):
|
|
Add two .toc's for two sessions of a 2 session disc
|
|
* morituri/image/table.py:
|
|
Add a merge method to merge in a second session.
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_image_toc.py:
|
|
Add a test for merging the Das Capital sessions, gets
|
|
the CDDB disc id right.
|
|
|
|
2009-05-24 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
Add a version ivar to help with versioning pickled objects.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Add copy and test CRC's to object.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/Makefile.am:
|
|
* morituri/common/drive.py (added):
|
|
Add drive module.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/accurip.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/Makefile.am:
|
|
* morituri/test/test_image_image.py:
|
|
* morituri/test/test_common_accurip.py (added):
|
|
Move accuraterip stuff to the accurip module.
|
|
Move/create new test file.
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/rip/Makefile.am:
|
|
* morituri/rip/main.py:
|
|
* morituri/rip/offset.py (added):
|
|
Add first command, 'rip offset find'
|
|
|
|
2009-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* Makefile.am:
|
|
* morituri/test/Makefile.am:
|
|
Make distcheck work.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
More pychecker fixes.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/common/renamer.py:
|
|
Pychecker fixes.
|
|
|
|
2009-05-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Move constants to common
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
* examples/readhtoa.py:
|
|
* examples/readtoc.py:
|
|
Rename IndexTable to Table.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
* morituri/image/cue.py:
|
|
Use FRAMES_PER_SECOND where appropriate.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Get our metadata only from the toc.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Also work for discs without htoa.
|
|
|
|
2009-05-16 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Write .m3u file.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Rip HTOA as well. Add disc-template parameter.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py:
|
|
* morituri/test/bloc.cue (added):
|
|
Add an expected .cue file for the bloc party toc.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/toc.py:
|
|
Add some debugging.
|
|
|
|
2009-05-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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
|
|
Fix off-by-one in setFile
|
|
* examples/readdisc.py:
|
|
Add --track-template.
|
|
Pass counter to setFile.
|
|
|
|
2009-05-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-10 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py:
|
|
Fix example.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
Correctly calculate MusicBrainz disc id for enhanced cd's.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
filter out slashes when deciding on file names.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Remove prints. Describe tasks.
|
|
|
|
2009-05-07 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Set the object when we don't persist.
|
|
* examples/readdisc.py:
|
|
Small fixes.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Fix up cue file reading.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
Add musicbrainz code for disc naming.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/table.py:
|
|
* morituri/image/toc.py:
|
|
Delete old code.
|
|
|
|
2009-05-06 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py:
|
|
* morituri/image/table.py:
|
|
* morituri/test/test_image_table.py:
|
|
Fix up and deprecate stuff.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readdisc.py (added):
|
|
Add an example to read a whole disc. Doesn't work yet.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py:
|
|
Fix up readhtoa example. Add offset option.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcalibrate.py:
|
|
* examples/readhtoa.py:
|
|
* examples/readtoc.py:
|
|
* morituri/program/cdrdao.py:
|
|
Rename ReadTOCTask to ReadIndexTableTask.
|
|
Rename ReadTableTask to ReadTOCTask.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Convert ReadTableTask to a CDRDAOTask subclass.
|
|
* examples/ARcalibrate.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Adapt.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Fix up index scanning's progress report.
|
|
Add some debugging.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_program_cdrdao.py:
|
|
Fix up tests. Use an IndexTable.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Massage out a base class for running cdrdao.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
* morituri/test/test_program_cdrdao.py (added):
|
|
Split out the parser from the task. Test the parser.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Update debugging. Add repr.
|
|
|
|
2009-05-04 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Handle case where we have no matching response.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Distinguish more clearly between MultiSeparateTask and
|
|
MultiCombinedTask.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
* morituri/test/test_image_cue.py:
|
|
Add dumping of .cue files.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdparanoia.py:
|
|
Use a temporary file to rip to.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py:
|
|
Allow specifying the track to save.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make SyncRunner clear previous description/progress task by
|
|
tracking longest output given up to now.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Create a Persister class to wrap a possible pickle path.
|
|
* examples/trm.py:
|
|
Use it.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/taskgtk.py:
|
|
Bug fix.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcalibrate.py (added):
|
|
Add an example that calculates the read offset of your drive
|
|
using AccurateRip.
|
|
|
|
2009-05-03 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/program/cdrdao.py:
|
|
Add a task to read the Table.
|
|
|
|
2009-05-02 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Add some debugging.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readhtoa.py (added):
|
|
Add an example that detects and rips the Hidden Track One Audio.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
* morituri/program/cdrdao.py (added):
|
|
Move the ReadTocTask to the new cdrdao module.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py:
|
|
* morituri/program/cdparanoia.py:
|
|
Move ReadTrackTask to cdparanoia module.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtrack.py (added):
|
|
Add an example that reads a track using cdparanoia.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Debug fixes.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/common.py:
|
|
Create some common functions to parse MSF and back.
|
|
* morituri/image/toc.py:
|
|
Use it here.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/trm.py:
|
|
Allow loading and saving fingerprints from a pickle.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Update to work on my desktop.
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make task subclass log.Log
|
|
|
|
2009-05-01 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/log.py:
|
|
Add external log module and use it.
|
|
|
|
2009-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/cure.toc (added):
|
|
Add an example .toc file for the test.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Extract and print TOC.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_toc.py (added):
|
|
* morituri/image/toc.py (added):
|
|
Add first stab at .toc parsing.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
get errors from output too.
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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
|
|
|
|
2009-04-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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.
|
|
|
|
2009-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/movecue.py (added):
|
|
Add a script that moves a .cue file in its corresponding directory.
|
|
|
|
2009-04-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
getRealPath should be here, it doesn't need anything outside
|
|
the .cue file
|
|
* morituri/image/image.py:
|
|
Proxy it here.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/checksum.py:
|
|
Add some debugging.
|
|
* morituri/test/test_image_image.py:
|
|
Run less verbose.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_image.py:
|
|
Fix name.
|
|
|
|
2009-04-25 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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.
|
|
|
|
2009-04-21 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
* morituri/image/image.py:
|
|
Move MultiTask to the task module.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Fix a bug in the gtk example.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py:
|
|
Read the toc using cdrdao. Now sets progress based on which
|
|
frame it is on.
|
|
|
|
2009-04-20 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Add a __main__ example using DummyTask.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Make sure we also show progress when it's 0%, at the start.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
Use names for matches in regexps.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/readtoc.py (added):
|
|
Add an example to read the TOC, not finished yet.
|
|
|
|
2009-04-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkchecksum.py:
|
|
* morituri/common/checksum.py:
|
|
Final crc->checksum fixes.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/image/image.py:
|
|
* morituri/test/test_image_image.py:
|
|
Make everything use TOC for the id's.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Refactor to use TOC class.
|
|
* morituri/image/toc.py:
|
|
Fully document.
|
|
|
|
2009-04-15 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-14 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Also look for audio file basename relative to cue file.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Make output a bit nicer, mentioning whether tracks were
|
|
accurately ripped.
|
|
|
|
2009-04-13 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Add option to run either command-line or gtk.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
Create a MultiTask base class, and make AudioRipCRCTask
|
|
use it.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* examples/gtkcrc.py:
|
|
Rework both examples to look more similar.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Move the gtk-based progress bar to task.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Update the docs.
|
|
|
|
2009-04-12 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test/test_image_image.py (added):
|
|
Add tests for AudioRip CRC'ing images.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/image.py:
|
|
If paths are relative, make them relative to cue file.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
clear with whitespace.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Add task object to listener interface methods.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Move methods around.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* 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 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/crc.py (added):
|
|
Copy from task.py before splitting.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Don't block the main loop by infinitely scheduling
|
|
set_state.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* examples/gtkcrc.py:
|
|
* morituri/common/task.py:
|
|
Make a real Task interface and use it.
|
|
Make runners reusable for multiple tasks.
|
|
gtkcrc.py seems to be blocking updates however.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/test (added):
|
|
* morituri/test/test_image_cue.py (added):
|
|
* morituri/test/kings-single.cue (added):
|
|
* morituri/test/__init__.py (added):
|
|
* morituri/test/kings-separate.cue (added):
|
|
Add test suite. Add Kings Of Leon cue files.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
Error out when the file doesn't exist.
|
|
* morituri/common/task.py:
|
|
Drag the lake.
|
|
Clean up prints.
|
|
|
|
2009-04-11 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Remove queue to avoid race.
|
|
Remove prints.
|
|
Clean up debug.
|
|
Update progress after handling buffers.
|
|
|
|
2009-04-05 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py:
|
|
Introduce constants for FRAMES_PER_DISC_FRAME
|
|
* examples/ARcue.py:
|
|
Use the constant.
|
|
Get the CRC right for the last track too.
|
|
|
|
2009-03-26 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/task.py:
|
|
Use an adapter to assemble CD frames.
|
|
Take into account special rules for first and last track.
|
|
Mention some bugs.
|
|
Remember to drag the lake from the task.
|
|
|
|
2009-03-22 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* examples/ARcue.py:
|
|
* morituri/common/task.py:
|
|
First version that seems to get some AccurateRip checksums right.
|
|
|
|
2009-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/image/cue.py:
|
|
publicize CueFile.tracks
|
|
Add a method to get track lengths
|
|
* examples/readcue.py:
|
|
Use it.
|
|
|
|
2009-02-28 Thomas Vander Stichele <thomas at apestaart dot org>
|
|
|
|
* morituri/common/task.py (added):
|
|
Add a task abstraction.
|
|
|