Commit Graph

452 Commits

Author SHA1 Message Date
Thomas Vander Stichele
367af25232 * 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 14:19:50 +00:00
Thomas Vander Stichele
2273db764c * morituri/common/program.py:
* morituri/rip/cd.py:
	  Always print MusicBrainz URL.
2011-08-14 12:20:30 +00:00
Thomas Vander Stichele
d43860bdfb * 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-14 12:18:51 +00:00
Thomas Vander Stichele
e95d7a159b * morituri/rip/cd.py:
Make sure we definitely fail on failed checksum.
2011-08-13 16:42:52 +00:00
Thomas Vander Stichele
63e705578d * doc/release:
Add note on actually running.
	* morituri/common/program.py:
	  Fix when running rip cd rip --unknown
2011-08-13 09:50:07 +00:00
Thomas Vander Stichele
a8c437307c * morituri/extern/task/task.py:
Also stub out log calls on Runner.
2011-08-07 18:24:01 +00:00
Thomas Vander Stichele
c8e5545776 * morituri/extern/task/task.py:
Also handle error() log calls.
2011-08-07 18:20:21 +00:00
Thomas Vander Stichele
a8dddb9d70 * 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-07 17:57:24 +00:00
Thomas Vander Stichele
3093d50986 * morituri/rip/debug.py:
Add checksum task for debugging.
2011-08-06 12:26:04 +00:00
Thomas Vander Stichele
8ec7bcbb9d * 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 19:18:10 +00:00
Thomas Vander Stichele
55c4bddfcf * 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 19:04:53 +00:00
Thomas Vander Stichele
798a209195 * 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-08-05 18:50:51 +00:00
Thomas Vander Stichele
b3bbf55ca2 * morituri/program/cdrdao.py:
Avoid floating point error.
2011-07-20 02:37:00 +00:00
Thomas Vander Stichele
5f8e0a5cc4 * 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 10:06:56 +00:00
Thomas Vander Stichele
5071034dfb * morituri/program/cdrdao.py:
Fix log output.
	  Do progress output while scanning TOC.
2011-07-09 10:04:59 +00:00
Thomas Vander Stichele
36b98423b5 * configure.ac:
* doc/release:
	  Back to trunk.
2011-06-05 16:03:33 +00:00
Thomas Vander Stichele
c060a3ecb9 releasing 0.1.2 2011-06-05 15:43:17 +00:00
Thomas Vander Stichele
7e5439ec78 remove fake entry 2011-06-05 14:57:36 +00:00
Thomas Vander Stichele
bdbd7768eb * morituri/rip/cd.py:
Use %default in options description.
2011-05-31 08:27:44 +00:00
Thomas Vander Stichele
0157c084a1 * morituri/rip/cd.py:
Ouch, was using the DISC TEMPLATE for the tracks.
2011-05-31 08:25:01 +00:00
Thomas Vander Stichele
c783e19605 * morituri/test/test_common_program.py:
Add a test for the template in #66.
2011-05-30 18:29:37 +00:00
Thomas Vander Stichele
ffbc4268fd * 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 18:25:40 +00:00
Thomas Vander Stichele
263260f820 * morituri/rip/cd.py:
Create variables for default templates.
2011-05-30 18:04:24 +00:00
Thomas Vander Stichele
02f5012453 * morituri/test/test_common_program.py:
Add tests for naming of disc output location.
2011-05-30 18:03:00 +00:00
Thomas Vander Stichele
2a48caa0b8 * morituri/common/gstreamer.py:
Actually remove it if it's good and old.
2011-05-29 15:37:41 +00:00
Thomas Vander Stichele
111dec9b3d * morituri/common/gstreamer.py:
In -bad the plugin is called audioparsersbad.
2011-05-27 10:38:49 +00:00
Thomas Vander Stichele
5b11648941 * morituri/common/gstreamer.py:
Add debugging about audioparsers removal.
2011-05-25 13:26:54 +00:00
Thomas Vander Stichele
ef56a14dc0 * morituri/common/gstreamer.py:
Also remove audioparsers if it's in bad.
2011-05-25 08:26:23 +00:00
Thomas Vander Stichele
6462291ba1 * configure.ac:
Time for a prerelease.
2011-05-24 18:49:43 +00:00
Thomas Vander Stichele
2aed8a046f * morituri/common/gstreamer.py:
Remove parsers for current git trunk of good too.
2011-05-24 18:46:55 +00:00
Thomas Vander Stichele
3fccbac367 * 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 17:00:04 +00:00
Thomas Vander Stichele
9a6af593f8 * 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 16:30:41 +00:00
Thomas Vander Stichele
3a42598fa5 * 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 16:09:14 +00:00
Thomas Vander Stichele
eee7505519 * morituri/common/checksum.py:
* morituri/common/gstreamer.py:
	  Remove audioparsers plugin if it has the known bug.
	  Fixes #64.
2011-05-24 16:03:02 +00:00
Thomas Vander Stichele
4c81edf912 * morituri/common/task.py:
Show us when we stop twice.
	* morituri/common/gstreamer.py:
	  Stop on Exceptions.
2011-05-24 15:16:39 +00:00
Thomas Vander Stichele
234ac4c644 * 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 15:15:44 +00:00
Thomas Vander Stichele
b540b10c33 * morituri/common/task.py:
More exception handling and debug.
2011-05-24 13:21:51 +00:00
Thomas Vander Stichele
8bc5eff73c * 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 12:51:40 +00:00
Thomas Vander Stichele
e604240ae6 * morituri/test/test_common_encode.py:
Write a non-sine wave so we have an actual flac file that will
	  typefind.
2011-05-24 10:42:25 +00:00
Thomas Vander Stichele
48e3d7ca99 * morituri/image/image.py:
Actually set exception so MultiTask tells us what went wrong.
2011-05-24 10:41:54 +00:00
Thomas Vander Stichele
114fb827cc * morituri/common/task.py:
Document and change name of a method.
2011-05-24 10:39:02 +00:00
Thomas Vander Stichele
8771d439dc * 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-24 10:27:06 +00:00
Thomas Vander Stichele
c314dcb597 * 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 18:08:25 +00:00
Thomas Vander Stichele
eef8b18435 * morituri/common/encode.py:
Convert TagReadTask to gstreamer.GstPipelineTask and
	  remove lots of duplicate code.
2011-05-23 18:05:31 +00:00
Thomas Vander Stichele
ce71bfb5c2 * morituri/common/checksum.py:
* morituri/common/encode.py:
	* morituri/common/gstreamer.py:
	  Move play to base class of GstPipelineTask.
2011-05-23 18:02:48 +00:00
Thomas Vander Stichele
3482288750 * 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 15:26:19 +00:00
Thomas Vander Stichele
1ce46272a9 * 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 14:57:16 +00:00
Thomas Vander Stichele
514bf4bc10 * morituri/common/encode.py:
Add some debug.
2011-05-23 13:46:46 +00:00
Thomas Vander Stichele
e47b30610d * 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 23:26:32 +00:00
Thomas Vander Stichele
ac66d71e6b 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 18:06:57 +00:00