From 490d84380a367ac913dc7eb5b78532dee220a959 Mon Sep 17 00:00:00 2001 From: JoeLametta Date: Sun, 8 Jan 2017 20:04:19 +0100 Subject: [PATCH] Amend previous tagged release (#107) --- CHANGELOG.md | 31 +++++++++-- README.md | 103 +++++++++++++++++++++---------------- morituri/__init__.py | 2 +- morituri/test/bloc.cue | 2 +- morituri/test/breeders.cue | 2 +- morituri/test/cure.cue | 2 +- 6 files changed, 92 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 17add68c..352a2fac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,36 @@ # Change Log -## [Unreleased](https://github.com/JoeLametta/whipper/tree/HEAD) +## [v0.4.2](https://github.com/JoeLametta/whipper/tree/v0.4.2) -[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.4.0...HEAD) +[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.4.1...v0.4.2) + +**Closed issues:** + +- 0.4.1 Release created but version number in code not bumped [\#105](https://github.com/JoeLametta/whipper/issues/105) + +**Merged pull requests:** + +- Amend previous tagged release [\#107](https://github.com/JoeLametta/whipper/pull/107) ([JoeLametta](https://github.com/JoeLametta)) +- Update links to Arch Linux AUR packages in README. [\#103](https://github.com/JoeLametta/whipper/pull/103) ([Freso](https://github.com/Freso)) + +## [v0.4.1](https://github.com/JoeLametta/whipper/tree/v0.4.1) (2017-01-06) +[Full Changelog](https://github.com/JoeLametta/whipper/compare/v0.4.0...v0.4.1) + +**Implemented enhancements:** + +- Fixed README broken links and added a better changelog [\#90](https://github.com/JoeLametta/whipper/pull/90) ([JoeLametta](https://github.com/JoeLametta)) +- Whipper attempts to rip with no CD inserted [\#81](https://github.com/JoeLametta/whipper/issues/81) **Merged pull requests:** +- Small cleanups of setup.py [\#102](https://github.com/JoeLametta/whipper/pull/102) ([Freso](https://github.com/Freso)) +- Persist False value for defeats\_cache correctly [\#98](https://github.com/JoeLametta/whipper/pull/98) ([ribbons](https://github.com/ribbons)) +- Update suggested commands given by `drive list` [\#97](https://github.com/JoeLametta/whipper/pull/97) ([ribbons](https://github.com/ribbons)) +- add url and license to setup.py [\#96](https://github.com/JoeLametta/whipper/pull/96) ([RecursiveForest](https://github.com/RecursiveForest)) +- remove configure.configure, use \_\_version\_\_, remove getRevision\(\) [\#94](https://github.com/JoeLametta/whipper/pull/94) ([RecursiveForest](https://github.com/RecursiveForest)) +- cdrdao no-disc ejection & --eject [\#93](https://github.com/JoeLametta/whipper/pull/93) ([RecursiveForest](https://github.com/RecursiveForest)) +- argparse & logging [\#92](https://github.com/JoeLametta/whipper/pull/92) ([RecursiveForest](https://github.com/RecursiveForest)) +- Update README.md [\#91](https://github.com/JoeLametta/whipper/pull/91) ([pierrrrrrre](https://github.com/pierrrrrrre)) - soxi: remove self.\_path unused variable, mark dep as 'soxi' [\#89](https://github.com/JoeLametta/whipper/pull/89) ([RecursiveForest](https://github.com/RecursiveForest)) - Fix spelling mistake in README.md [\#86](https://github.com/JoeLametta/whipper/pull/86) ([takeshibaconsuzuki](https://github.com/takeshibaconsuzuki)) - Error reporting enhancements \(conditional-raise-instead-of-assert version\) [\#80](https://github.com/JoeLametta/whipper/pull/80) ([chrysn](https://github.com/chrysn)) @@ -58,6 +83,7 @@ - Don't allow ripping without an explicit offset, and make pycdio a required dependency [\#23](https://github.com/JoeLametta/whipper/issues/23) - Delete stale branches [\#7](https://github.com/JoeLametta/whipper/issues/7) - get rid of the gstreamer-0.10 dependency [\#2](https://github.com/JoeLametta/whipper/issues/2) +- Merge 'fork' into 'master' [\#1](https://github.com/JoeLametta/whipper/issues/1) **Fixed bugs:** @@ -71,7 +97,6 @@ **Closed issues:** - Minimal makedepends for building [\#17](https://github.com/JoeLametta/whipper/issues/17) -- Merge 'fork' into 'master' [\#1](https://github.com/JoeLametta/whipper/issues/1) **Merged pull requests:** diff --git a/README.md b/README.md index 030f990b..98fb4de3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Whipper -[![License: GPLv3+](https://img.shields.io/badge/license-GPLv3+-blue.svg)](https://github.com/JoeLametta/whipper/blob/master/LICENSE) [![Build Status](https://travis-ci.org/JoeLametta/whipper.svg?branch=master)](https://travis-ci.org/JoeLametta/whipper) [![Current version number](https://img.shields.io/badge/version-0.4.1-red.svg)](https://github.com/JoeLametta/whipper/releases/latest) [![IRC](https://img.shields.io/badge/irc-%23whipper%40freenode-008000.svg)](https://webchat.freenode.net/?channels=%23whipper) [![GitHub Stars](https://img.shields.io/github/stars/JoeLametta/whipper.svg)](https://github.com/JoeLametta/whipper/stargazers) [![GitHub Issues](https://img.shields.io/github/issues/JoeLametta/whipper.svg)](https://github.com/JoeLametta/whipper/issues) + +[![License: GPLv3](https://img.shields.io/badge/license-GPLv3-CC7722.svg)](https://github.com/JoeLametta/whipper/blob/master/LICENSE) [![Build Status](https://travis-ci.org/JoeLametta/whipper.svg?branch=master)](https://travis-ci.org/JoeLametta/whipper) [![Current version number](https://img.shields.io/badge/version-0.4.2-blue.svg)](https://github.com/JoeLametta/whipper/releases/latest) [![IRC](https://img.shields.io/badge/irc-%23whipper%40freenode-brightgreen.svg)](https://webchat.freenode.net/?channels=%23whipper) [![GitHub Stars](https://img.shields.io/github/stars/JoeLametta/whipper.svg)](https://github.com/JoeLametta/whipper/stargazers) [![GitHub Issues](https://img.shields.io/github/issues/JoeLametta/whipper.svg)](https://github.com/JoeLametta/whipper/issues) Whipper is a Python 2 CD-DA ripper, fork of the morituri project (_CDDA ripper for *nix systems aiming for accuracy over speed_). It improves morituri which development seems to have halted merging old ignored pull requests, improving it with bugfixes and new features. @@ -8,6 +9,7 @@ Whipper is developed and tested _only_ on Linux distributions but _may_ work fin In order to track whipper's current development it's advised to check its commit history (README **isn't** still complete). ## Table of content + - [Rationale](#rationale) - [Features](#features) - [Changelog](#changelog) @@ -30,22 +32,24 @@ In order to track whipper's current development it's advised to check its commit - [Links](#links) ## Rationale + For a detailed description, see morituri's wiki page: [The Art of the Rip]( https://web.archive.org/web/20160528213242/https://thomas.apestaart.org/thomas/trac/wiki/DAD/Rip). ## Features -* Detects correct read offset (in samples) -* Has ability to defeat cache of drives -* Performs Test & Copy rips -* Verifies rip accuracy using the [AccurateRip database](http://www.accuraterip.com/) -* Uses [MusicBrainz](https://musicbrainz.org/doc/About) for metadata lookup -* Supports reading the [pre-emphasis](http://wiki.hydrogenaud.io/index.php?title=Pre-emphasis) flag embedded into some CDs (and correctly tags the resulting rip) -* Detects and rips _non digitally silent_ [Hidden Track One Audio](http://wiki.hydrogenaud.io/index.php?title=HTOA) (HTOA) -* Provides batch ripping capabilities -* Provides templates for file and directory naming -* Supports lossless encoding of ripped audio tracks -* Allows re-tagging of already completed rips -* Allows extensibility through external logger plugins + +- Detects correct read offset (in samples) +- Has ability to defeat cache of drives +- Performs Test & Copy rips +- Verifies rip accuracy using the [AccurateRip database](http://www.accuraterip.com/) +- Uses [MusicBrainz](https://musicbrainz.org/doc/About) for metadata lookup +- Supports reading the [pre-emphasis](http://wiki.hydrogenaud.io/index.php?title=Pre-emphasis) flag embedded into some CDs (and correctly tags the resulting rip) +- Detects and rips _non digitally silent_ [Hidden Track One Audio](http://wiki.hydrogenaud.io/index.php?title=HTOA) (HTOA) +- Provides batch ripping capabilities +- Provides templates for file and directory naming +- Supports lossless encoding of ripped audio tracks +- Allows re-tagging of already completed rips +- Allows extensibility through external logger plugins ## Changelog @@ -54,12 +58,15 @@ See [CHANGELOG.md](https://github.com/JoeLametta/whipper/blob/master/CHANGELOG.m For detailed information, please check the commit history. ## Installation -With the exception of an [AUR package for Arch Linux](https://aur.archlinux.org/packages/whipper), whipper isn't currently available in a prepackaged form so, in order to use it, it must be built from its source code. + +With the exception of an [AUR package for Arch Linux](https://aur.archlinux.org/packages/whipper) and a [Copr repository for Fedora](https://copr.fedorainfracloud.org/coprs/mruszczyk/whipper/), whipper isn't currently available in a prepackaged form so, in order to use it, it must be built from its source code. If you are building from a source tarball or checkout, you can choose to use whipper installed or uninstalled _but first install all the required dependencies_. ### Required dependencies + Whipper relies on the following packages in order to run correctly and provide all the supported features: + - [cdparanoia](https://www.xiph.org/paranoia/), for the actual ripping - [cdrdao](http://cdrdao.sourceforge.net/), for session, TOC, pre-gap, and ISRC extraction - [GStreamer](https://gstreamer.freedesktop.org/) and its python bindings, for encoding (it's going to be removed soon™) @@ -76,6 +83,7 @@ Whipper relies on the following packages in order to run correctly and provide a - [sox](http://sox.sourceforge.net/), for track peak detection ### Fetching the source code + Change to a directory where you want to put whipper source code (for example, `$HOME/dev/ext` or `$HOME/prefix/src`) ```bash @@ -84,6 +92,7 @@ cd whipper ``` ### Building the bundled dependencies + Whipper uses and packages a slightly different version of the `accuraterip-checksum` tool: You can edit the install path in `config.mk` @@ -96,9 +105,11 @@ cd .. ``` ### Finalizing the installation + Install whipper: `python2 setup.py install` ## Usage + Whipper currently only has a command-line interface called `whipper` which is self-documenting: `whipper -h` gives you the basic instructions. Whipper implements a tree of commands: for example, the top-level `whipper` command has a number of sub-commands. @@ -116,6 +127,7 @@ is not, because the `-d` argument applies to the `cd` command. ~~Check the man page (`whipper(1)`) for more information.~~ (currently not available as whipper's documentation is planned to be reworked ([Issue #73](https://github.com/JoeLametta/whipper/issues/73)). ## Getting started + The simplest way to get started making accurate rips is: 1. Pick a relatively popular CD that has a good chance of being in the AccurateRip database @@ -140,6 +152,7 @@ The simplest way to get started making accurate rips is: `whipper cd rip` ## Configuration file documentation + The configuration file is stored according to the [XDG Base Directory Specification]( http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) when possible. @@ -162,7 +175,7 @@ The possible sections are: Example section to configure `whipper cd rip` defaults: -``` +```Python [rip.cd.rip] unknown = True output_directory = ~/My Music @@ -174,37 +187,40 @@ profile = flac Note: to get a literal `%` character it must be doubled. ## Backward incompatible changes -* Whipper executable name changed: from `rip` to `whipper` ([PR #70](https://github.com/JoeLametta/whipper/pull/70)) -* Whipper has adopted new config/cache/state file paths ([PR #42](https://github.com/JoeLametta/whipper/pull/42)) - * Now always follows XDG specifications - * Paths used when XDG environment variables are available: - * `$XDG_CONFIG_HOME/whipper` - * `$XDG_CACHE_HOME/whipper` - * `$XDG_DATA_HOME/whipper` +- Dropped external git submodules ([PR #31](https://github.com/JoeLametta/whipper/pull/31), [PR #92](https://github.com/JoeLametta/whipper/pull/92)) +- Whipper executable name changed: from `rip` to `whipper` ([PR #70](https://github.com/JoeLametta/whipper/pull/70)) +- Whipper has adopted new config/cache/state file paths ([PR #42](https://github.com/JoeLametta/whipper/pull/42)) + - Now always follows XDG specifications - * Paths used when XDG environment variables are **NOT** available: - * `$HOME/.config/whipper` - * `$HOME/.cache/whipper` - * `$HOME/.local/share/whipper` + - Paths used when XDG environment variables are available: + - `$XDG_CONFIG_HOME/whipper` + - `$XDG_CACHE_HOME/whipper` + - `$XDG_DATA_HOME/whipper` - * Configuration file information: - * `.moriturirc`, `morituri.conf` aren't used anymore + - Paths used when XDG environment variables are **NOT** available: + - `$HOME/.config/whipper` + - `$HOME/.cache/whipper` + - `$HOME/.local/share/whipper` - * When XDG environment variables are available it's located in: - * `$XDG_CONFIG_HOME/whipper/whipper.conf` + - Configuration file information: + - `.moriturirc`, `morituri.conf` aren't used anymore - * When XDG environment variables are **NOT** available it's located in: - * `$HOME/.config/whipper/whipper.conf` + - When XDG environment variables are available it's located in: + - `$XDG_CONFIG_HOME/whipper/whipper.conf` - * Plugins folder path: - * When XDG environment variables are available it's located in: - * `$XDG_DATA_HOME/whipper/plugins` + - When XDG environment variables are **NOT** available it's located in: + - `$HOME/.config/whipper/whipper.conf` - * When XDG environment variables are **NOT** available it's located in: - * `$HOME/.local/share/whipper/plugins` + - Plugins folder path: + - When XDG environment variables are available it's located in: + - `$XDG_DATA_HOME/whipper/plugins` + + - When XDG environment variables are **NOT** available it's located in: + - `$HOME/.local/share/whipper/plugins` ## Running uninstalled + To make it easier for developers, you can run whipper straight from the source checkout: @@ -214,6 +230,7 @@ whipper -h ``` ## Logger plugins + Whipper supports using external logger plugins to write rip `.log` files. List available plugins with `whipper cd rip -h`. Specify a logger to rip with by passing `-L loggername`: @@ -224,15 +241,15 @@ whipper cd rip -L what ### Official loggers -* [morituri-yamlloger](https://github.com/JoeLametta/morituri-yamllogger) - default whipper logger (provided as external logger for compatibility with morituri), yaml format -* [morituri-eaclogger](https://github.com/JoeLametta/morituri-eaclogger) - eac-like logger attempting to maintain strict compatiility with EAC -* [morituri-whatlogger](https://github.com/RecursiveForest/morituri-whatlogger) - eac-like logger containing the informational enhancements of the yamllogger, originally designed for use on What.CD +- [morituri-yamlloger](https://github.com/JoeLametta/morituri-yamllogger) - default whipper logger (provided as external logger for compatibility with morituri), yaml format +- [morituri-eaclogger](https://github.com/JoeLametta/morituri-eaclogger) - eac-like logger attempting to maintain strict compatiility with EAC +- [morituri-whatlogger](https://github.com/RecursiveForest/morituri-whatlogger) - eac-like logger containing the informational enhancements of the yamllogger, originally designed for use on What.CD ## License Licensed under the [GNU GPLv3 license](http://www.gnu.org/licenses/gpl-3.0). -``` +```Text Copyright (C) 2009 Thomas Vander Stichele Copyright (C) 2016 JoeLametta @@ -251,7 +268,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ``` - ## Contributing ### Bug reports & feature requests @@ -285,10 +301,11 @@ Thanks to: - [Samantha Baldwin](https://github.com/RecursiveForest) ## Links + You can find us and talk about the project on IRC: [freenode](https://webchat.freenode.net/?channels=%23whipper), **#whipper** channel. - [PassTheHeadphones thread (official)](https://passtheheadphones.me/forums.php?action=viewthread&threadid=150) - [Arch Linux whipper AUR package](https://aur.archlinux.org/packages/whipper/) - [Arch Linux whipper-git AUR package](https://aur.archlinux.org/packages/whipper-git/) +- [Fedora Copr repository for whipper](https://copr.fedorainfracloud.org/coprs/mruszczyk/whipper/) - [Unattended ripping using whipper (script by Thomas McWork)](https://github.com/thomas-mc-work/most-possible-unattended-rip) - diff --git a/morituri/__init__.py b/morituri/__init__.py index 420e3cbc..362f9084 100644 --- a/morituri/__init__.py +++ b/morituri/__init__.py @@ -2,7 +2,7 @@ import os import sys -__version__ = '0.4.1' +__version__ = '0.4.2' level = logging.WARNING if 'WHIPPER_DEBUG' in os.environ: diff --git a/morituri/test/bloc.cue b/morituri/test/bloc.cue index 968d482a..f1a7c9b4 100644 --- a/morituri/test/bloc.cue +++ b/morituri/test/bloc.cue @@ -1,5 +1,5 @@ REM DISCID AD0BE00D -REM COMMENT "morituri 0.4.1" +REM COMMENT "morituri 0.4.2" FILE "data.wav" WAVE TRACK 01 AUDIO PREGAP 03:22:70 diff --git a/morituri/test/breeders.cue b/morituri/test/breeders.cue index d09609bc..5bf9d192 100644 --- a/morituri/test/breeders.cue +++ b/morituri/test/breeders.cue @@ -1,5 +1,5 @@ REM DISCID BE08990D -REM COMMENT "morituri 0.4.1" +REM COMMENT "morituri 0.4.2" CATALOG 0652637280326 PERFORMER "THE BREEDERS" TITLE "MOUNTAIN BATTLES" diff --git a/morituri/test/cure.cue b/morituri/test/cure.cue index 8442a63e..b4be5a28 100644 --- a/morituri/test/cure.cue +++ b/morituri/test/cure.cue @@ -1,5 +1,5 @@ REM DISCID B90C650D -REM COMMENT "morituri 0.4.1" +REM COMMENT "morituri 0.4.2" CATALOG 0602517642256 FILE "data.wav" WAVE TRACK 01 AUDIO