Commit Graph

226 Commits

Author SHA1 Message Date
Thomas Vander Stichele
93f033dfca 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-04-01 20:40:21 +00:00
Thomas Vander Stichele
c4e170daad * 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-23 10:09:24 +00:00
Thomas Vander Stichele
69a1e731a3 * morituri/common/program.py:
Actually return the result from verifyTrack.
	  Debug the cache loading some more.  Make a note for a TODO.
2012-01-22 11:00:55 +00:00
Thomas Vander Stichele
61a5d2432f * morituri/common/musicbrainzngs.py:
Get the artist credit for a track/album; Fixes Gorky - Gorky.
2012-01-21 18:05:26 +00:00
Thomas Vander Stichele
a8a7a33b0a * morituri/common/checksum.py:
* morituri/common/program.py:
	  Fix/add logging.
2012-01-21 18:04:41 +00:00
Thomas Vander Stichele
c2838ad05c * 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 17:49:36 +00:00
Thomas Vander Stichele
919076e720 doc fixes 2011-10-28 17:15:40 +00:00
Thomas Vander Stichele
cd6865c9d2 * morituri/common/musicbrainzngs.py:
Fix case of metadata not having length.
	  Fix case of release not having a date.
2011-10-28 16:36:39 +00:00
Thomas Vander Stichele
b5fc509747 * 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-22 15:52:57 +00:00
Thomas Vander Stichele
83d212a20e * 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 22:37:37 +00:00
Thomas Vander Stichele
131535cde5 * morituri/common/musicbrainz.py:
* morituri/rip/debug.py:
	  Doc/output fixes.
2011-10-19 18:45:22 +00:00
Thomas Vander Stichele
6ab37720df * morituri/common/Makefile.am:
* morituri/common/musicbrainz.py:
	* morituri/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 18:00:11 +00:00
Thomas Vander Stichele
2c27b73d09 * 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 15:19:45 +00:00
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