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.
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.
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.
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.
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.
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.
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.
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.
* 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.
* 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.