Update top level informational files (#71)

* update HACKING to mention pep8, data structures, and more test discs
* add notice of TODO deprecation
* remove ChangeLog, NEWS, and RELEASE from new versions
* rename COPYING to LICENSE
This commit is contained in:
Samantha Baldwin
2016-11-10 17:12:03 -05:00
committed by JoeLametta
parent 2fc90e0789
commit 65bfad9253
7 changed files with 34 additions and 3587 deletions

View File

@@ -1 +0,0 @@
Thomas Vander Stichele <thomas at apestaart dot org>

3301
ChangeLog

File diff suppressed because it is too large Load Diff

36
HACKING
View File

@@ -1,13 +1,32 @@
style guide style guide
----------- -----------
To avoid confusion: Where possible when writing new code, try to stay as PEP8 compliant as possible.
We understand that large portions of the codebase are not, but part of our
ongoing efforts is to clean up whipper.
- cuefile is used for the CueFile object, which wraps/parses an existing .cue major data structures
file on disk ---------------------
- tocfile: same
- toc: table of contents of a CD; instance of Table
- image.table.Track: A list of track properties, including a list of indexes,
the isrc, cdtext, pre-emphasis flag, track number, and track type (audio
or data)
- image.table.Index: A list of track index properties, including the track's path,
relative and absolute offsets within the track & disc, respectively, as
well as the track number and counter.
- image.table.Table: An ordered list of Track objects, with their leadouts,
cdtext, and catalog numbers.
- image.cue.CueFile: Generates an image.table.Table from a .cue file from an
existing rip.
- image.toc.TocFile: Generates an image.table.Table from a .toc file generated
by `cdrdao read-toc`.
notes
-----
test: single rip of kings of leon - only by the night test: single rip of kings of leon - only by the night
@@ -41,8 +60,13 @@ CDROMS
PLEXTOR CD-R PX-W8432T Read offset of device is: 355. PLEXTOR CD-R PX-W8432T Read offset of device is: 355.
Test discs test discs
---------- ----------
Julie Roberts - Julie Roberts: cdparanoia paranoid mode has a false positive
jitter correction and silently rips the incorrect track. ripping with
-Z rips the correct track.
Rush - Test for Echo: has 31 frames of silence in the first track's pregap,
test for HTOA detection regressions.
The Strokes - Someday (promo): has 1 frame silence marked as SILENCE The Strokes - Someday (promo): has 1 frame silence marked as SILENCE
The Pixies - Surfer Rosa/Come on Pilgrim: has pre-gap, and INDEX 02 on TRACK 11 The Pixies - Surfer Rosa/Come on Pilgrim: has pre-gap, and INDEX 02 on TRACK 11
Florence & The Machine - Lungs: data track Florence & The Machine - Lungs: data track

View File

212
NEWS
View File

@@ -1,212 +0,0 @@
This is morituri 0.2.3, "moved"
Coverage in 0.2.3: 68 % (2058 / 3019)
Bugs fixed in 0.2.3:
in github:
- 81: Show morituri version in cue and update TODO.
- 78: Use standard AM_PATH_PYTHON rather than broken AS_PATH_PYTHON.
- 77: Save MusicBrainz DiscID to tags.
- 74: Support dev on Eclipse and Pydev by .gitignoring two project files.
- 68: Also show the MusicBrainz lookup ID when retagging.
- 59: EN DASH in album title
- 56: image verify fails
- 53: template default for MusicBrainz miss
- 52: Makefile.am: error: required file './README' not found
- 43: README: slight markup modifications to show formatted on github start page
- 42: update lame mp3 profiles for gstreamer
- 41: "rip offset verify" subcommand not found
- 40: 0.2.2 tarball broken
- 39: Run $PYTHON, not python
in trac:
- 148: Makefile error compiling 0.2.2
- 45: lame element is deprecated, should use 'lamemp3enc' instead
- 144: Building out of git fails on Fedora 19
- 147: problems with 2.2 and 2.1 on Ubuntu 13.04 2.0 is fine tho
- 151: Morituri not finding my drive
- 152: UnicodeEncodeError: 'ascii' codec can't encode characters in position 53-59: ordinal not in range(128)
Features added in 0.2.3:
- fixed non-01 index offsets
- add new debug command, rip debug resultcache cue
- use newer lamemp3enc element for mp3 encoding
- fixed rip image verify command
Coverage in 0.2.2: 67 % (1972 / 2904), 109 python tests
Bugs fixed in 0.2.2:
in github:
- 38: No matching offset found
- 35: 'rip cd info' should not eject the disc
- 34: Use track instead of the release artist MBID for the 'Musicbrainz artist ID'
- 33: "rip offset find" fails to initialise program.Program
- 19: Set album artist tag
Features added in 0.2.1:
- added "%X" template variable for uppercase filename extension
- added rip cd info
- added storing catalog number and barcode
- disambiguate releases with same name but different catno/barcode
- use all but last track to find offset
- add support to filter path names for better file system support
- add config options for path filtering
- fixes for older pyxdg and some versions of pycdio
Bugs fixed in 0.2.1:
in trac:
- 44: Optionally strip special characters from file names
- 121: ImportError: No module named CDDB
- 126: pycdio is no more optional : pkg_resources.DistributionNotFound: pycdio
- 135: rip drive analyze report "Cannot analyze the drive. Is there a CD in it?" when not able to defeat audio cache
- 137: pycdio returns an error when analyzing drive
- 138: Error when trying to rip with pycdio .19
- 124: Checking of runtime dependencies
in github:
- 31: Cryptic error message if xdg module is too old
- 30: AttributeError: Values instance has no attribute 'unknown'
- 26: Convert values returned from pycdio to str (workaround for upstream bug)
- 24: Filenames from musicbrainz may contain invalid characters for windows filesystems
- 23: Convert drive path from unicode to str when calling cdio.Device (pycdio 0.19 / Arch Linux)
- 22: Compare AccurateRip to num tracks -1, as last track not being checked
- 21: break up logger line
- 18: Crash if no path specified for '-O' option
- 17: Use XDG cache directory
- 16: Work with older versions of python-xdg
- 14: Use with statement to open files
- 13: Use os.path.join instead of hardcoded paths.
- 11: Ignore bash-compgen, to clean up git-status.
- 9: Ask which release to use if DiscID returns several matches
- 8: abort if invalid logger specified
- 7: Warn if no offset specified and no stored offset found/pycdio not available
- 6: Add "%X" template variable for uppercase filename extension.
- 3: (Optional) dependency on cddb should be documented
- 2: No module named moap.util -- dependency shoud be documented
- 1: No module named log -- use of submodules should be documented
Features added in 0.2.0:
- added plugins system for logger
- added rip cd rip --logger to specify logger
- added reading speed, cdparanoia and cdrdao version to logger
- added rip drive analyze to detect whether we can defeat audio cache behaviour
- store drive offsets and cache defeating in config file
- rip drive list shows configured offset and audio cache defeating
- added rip image retag --release-id to specify the release id to tag with
- added %r/%R for release type to use in track/disc template
- added %x for extension to release template
Bugs fixed in 0.2.0:
- 89: Fails to rip track with \ in its name
- 105: Backslash in track names causes "Cannot find file" during rip
- 108: Unable to find offset / rip
- 109: KeyError when running "rip offset find"
- 111: Python traceback when config has no read offset for CD
- 76: morituri should allow for a configuration file
- 96: rip image retag: allow specification of release ID
- 107: Backslash in track name confuses AR step
- 112: add MusicBrainz lookup URL to generated logfile
Coverage in 0.1.3: 60 % (1716 / 2825), 85 python tests
Features added in 0.1.3:
- shorten really long file names if needed
- support multi-disc ripping
- add %y for release year in templates
- added rip cd rip --release-id option to select the exact release
- allow track and disc templates to create files in different directories
- work out relative paths from cue/m3u files to audio files
Bugs fixed in 0.1.3:
- 77: Unable to find solution to UTF-8 problem
- 93: Unable to choose if there are more than one matching CD
- 67: unable to rip multi-cd-sets correctly
- 73: rip image breaks with "query failed"
- 78: Could not create encoded file
- 84: Error when checksumming extremely short tracks
- 91: --release-id does not work for Pink Floyd - The Wall (Experience Edition) (Disc 1)
- 94: mp3vbr uses quality=0 instead of vbr-quality=0
- 95: Discs with multiple media not correctly identified.
- 99: rip offset find fails with "UnboundLocalError: local variable 'archecksum' referenced before assignment"
- 102: Unable to run without -d option
- 98: Year of release in templates
Coverage in 0.1.2: 61 % (1683 / 2755), 65 python tests
Features added in 0.1.2:
- UTF-8/unicode handling fixes
- improved error handling
- ignore tags for alac and wav
- work around GStreamer flacparse bugs
- change how paths get referenced in .cue files
- properly interpret AccurateRip results; no more assertions on unexpected
ordering of results
- add debug command
Bugs fixed in 0.1.2:
- 5: AccurateRip Error on Arctic Monkeys disc
- 10: pathnames in log and cue
- 15: AttributeError: '__main__.GstWavEnc' object has no attribute 'merge_tags'
- 24: nasty exception when cdrdao is missing
- 25: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 21: ordinal not in range(128)
- 32: Add python-setuptools as Requires in specfile
- 37: rip fails on a hidden track of single sector (or 0?) length
- 38: morituri dies trying to construct the cue file for a number of CDs
- 43: Set the album artist tag
- 46: running uninstalled: morituri-trunk - no bash completion file
- 49: Doesn't encode UTF-8 HTOA track name properly
- 50: Bogus extension stripping of HTOA track in .m3u
- 64: always failing after ripping first track
- 35: UnboundLocalError: local variable 'results' referenced before assignment
- 61: 'rip image --help' should specify that it's intended to work with .cue files
- 62: Crash if no disc in drive
- 51: Typos - s/reponses/responses
- 59: Typo in 'rip drive list' output
Coverage in 0.1.1: 64 % (1575 / 2440), 61 python tests
Features added in 0.1.1:
- added 'rip image encode' command to encode an image to a lossy codec.
- provided lossy codec profiles for vorbis, mp3, and mp3vbr
- added a complete list of known drive offsets from AccurateRip
- added a generated man page
- better exception handling in tasks
- tag audio files with musicbrainz id's
- added 'rip image retag' command to retag audio files in an image
Bugs fixed in 0.1.1:
- 11: AccurateRip failure on similar URL
- 12: morituri: 'rip -h' shows gstreamer help, not morituri help, but 'rip help' works fine.
- 14: AttributeError: 'NoneType' object has no attribute 'name'
- 16: Fatal error passing unescaped unicode strings to GStreamer
- 17: Incorrect file permissions
- 19: Use sortname in filenames
Coverage in 0.1.0: 62 % (1348 / 2150), 49 python tests
Features added in 0.1.0:
- support for MusicBrainz for metadata lookup
- support for AccurateRip verification
- detects sample read offset of drives
- performs test and copy rip
- detects and rips Hidden Track One Audio
- templates for file and directory naming
- support for lossless encoding only for now
- tagging using GStreamer
- for now, only a command line client (rip) is shipped

67
RELEASE
View File

@@ -1,67 +0,0 @@
morituri is a CD ripper aiming for accuracy over speed.
morituri runs on Linux and possibly other Unix-based systems.
Its features are modeled to compare with Exact Audio Copy on Windows.
For more information, see http://thomas.apestaart.org/morituri/trac/
This is morituri 0.2.3, "moved"
Coverage in 0.2.3: 68 % (2058 / 3019), 106 python tests
Bugs fixed in 0.2.3:
in github:
- 81: Show morituri version in cue and update TODO.
- 78: Use standard AM_PATH_PYTHON rather than broken AS_PATH_PYTHON.
- 77: Save MusicBrainz DiscID to tags.
- 74: Support dev on Eclipse and Pydev by .gitignoring two project files.
- 68: Also show the MusicBrainz lookup ID when retagging.
- 59: EN DASH in album title
- 56: image verify fails
- 53: template default for MusicBrainz miss
- 52: Makefile.am: error: required file './README' not found
- 43: README: slight markup modifications to show formatted on github start page
- 42: update lame mp3 profiles for gstreamer
- 41: "rip offset verify" subcommand not found
- 40: 0.2.2 tarball broken
- 39: Run $PYTHON, not python
in trac:
- 148: Makefile error compiling 0.2.2
- 45: lame element is deprecated, should use 'lamemp3enc' instead
- 144: Building out of git fails on Fedora 19
- 147: problems with 2.2 and 2.1 on Ubuntu 13.04 2.0 is fine tho
- 151: Morituri not finding my drive
- 152: UnicodeEncodeError: 'ascii' codec can't encode characters in position 53-59: ordinal not in range(128)
Features added in 0.2.3:
- fixed non-01 index offsets
- add new debug command, rip debug resultcache cue
- use newer lamemp3enc element for mp3 encoding
- fixed rip image verify command
Bugs fixed in 0.2.2:
in github:
- 38: No matching offset found
- 35: 'rip cd info' should not eject the disc
- 34: Use track instead of the release artist MBID for the 'Musicbrainz artist ID'
- 33: "rip offset find" fails to initialise program.Program
- 19: Set album artist tag
morituri 0.2.3 is brought to you by:
Thomas Vander Stichele
dioltas
Frederik "Freso" S. Olesen
Jens Taprogge
Jim DeLaHunt
Jonas Smedegaard
Michał Górny
Nicolas Cornu
Samantha Baldwin
Tobias Megies
Tuomo Lempiäinen
Velo Superman

4
TODO
View File

@@ -1,5 +1,9 @@
TODO: TODO:
Please see https://github.com/JoeLametta/whipper/milestones for further
TODO items; this file exists only to have contents individually removed
eventually, not to be continually updated.
EASY EASY
- self.error() invokes exit() which is bad for a gui - self.error() invokes exit() which is bad for a gui