Commit Graph

213 Commits

Author SHA1 Message Date
Thomas Vander Stichele
516a01d47a * morituri/common/program.py:
Add Musicbrainz command.
2011-09-15 14:22:37 +00:00
Thomas Vander Stichele
513706eab6 add ivars to TrackMetadata 2011-09-04 14:21:29 +00:00
Thomas Vander Stichele
2ed3f8837f * morituri/common/program.py:
If any track is missing duration, set the whole album duration
	  to 0.
2011-09-04 14:19:29 +00:00
Thomas Vander Stichele
d2672cfa6a * morituri/common/gstreamer.py:
flacparse is busted in gst-plugins-good 0.10.30 too.
2011-09-04 14:17:47 +00:00
Thomas Vander Stichele
928e2e9ba7 print out duration before for comparison on musicbrainz 2011-08-15 09:03:13 +00:00
Thomas Vander Stichele
7cff47a8d4 * morituri/common/program.py:
Don't fail if there is no metadata.
2011-08-14 14:48:02 +00:00
Thomas Vander Stichele
e60b6d8441 * morituri/common/program.py:
* morituri/rip/debug.py:
	  Pychecker fixes.
2011-08-14 14:20:06 +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
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
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
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
faf18f32f6 add debug 2011-05-30 13:08:29 +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
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
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
4454abcc85 comment 2011-05-24 10:42:45 +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
c5593a4070 add exception to debug 2011-05-23 18:26:56 +00:00
Thomas Vander Stichele
9e70e24516 add a repr to show GError 2011-05-23 18:24:08 +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
1c6ec82df9 add comment 2011-05-22 15:18:06 +00:00
Thomas Vander Stichele
5fc1428622 distribute 2011-05-22 12:42:18 +00:00
Thomas Vander Stichele
965043dbf5 * morituri/common/gstreamer.py:
Remove unused imports.
	* morituri/image/image.py:
	  Remove halfbaked code.
2011-05-22 11:14:46 +00:00
Thomas Vander Stichele
6c2f3cc378 * 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 17:01:19 +00:00
Thomas Vander Stichele
c301015537 * 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 11:50:39 +00:00
Thomas Vander Stichele
0da5dd0aa1 * 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-21 11:22:04 +00:00
Thomas Vander Stichele
019ad538d8 * morituri/common/common.py:
Don't fail on loading pickle.
2011-05-19 10:03:30 +00:00
Thomas Vander Stichele
0b520f2e86 * morituri/common/encode.py:
Alac does not have merge_tags.  Fixes #15.
2011-05-19 01:23:53 +00:00
Thomas Vander Stichele
f70ba7cb32 * 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 00:28:36 +00:00
Thomas Vander Stichele
9fe80e238e * morituri/common/task.py:
Add more debug.
2011-05-19 00:27:20 +00:00
Thomas Vander Stichele
7bd0c5e2c0 * 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-04-08 09:04:25 +00:00