From 9f741a4bd0ce857cb9dc011dc8669380e943c953 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Sat, 5 May 2018 23:37:50 +0200 Subject: [PATCH] README: rework into a Ronn manpage --- Makefile | 8 +++++ README.md | 93 +++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 78 insertions(+), 23 deletions(-) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f41b84d --- /dev/null +++ b/Makefile @@ -0,0 +1,8 @@ +# This Makefile is meant to generate the documentation. +# To build the project, use Cargo directly! + +RONN = ronn +MANPAGE = nrgrip.1 + +$(MANPAGE): README.md + $(RONN) <$< >$@ diff --git a/README.md b/README.md index cd7a8e7..8368100 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,68 @@ -NRGrip - extract audio data and cue sheet from an NRG audio CD image -==================================================================== +nrgrip(1) - rip Nero Burning ROM audio NRG images +================================================= -This program works on a Nero Burning ROM's NRG image of an audio CD and is able -to: +SYNOPSIS +-------- -- read and display its metadata; +`nrgrip` [-icrx] [options] -- extract the cue sheet; +`nrgrip` [-h | -V] -- extract the raw audio tracks as one single file, which can then be encoded by +DESCRIPTION +----------- + +NRGrip works on a Nero Burning ROM's NRG image of an audio CD and is able to: + +* read and display its metadata; + +* extract the cue sheet; + +* extract the raw audio tracks as one single file, which can then be encoded by the user to a more convenient audio format such as FLAC, and possibly split according to the cue sheet. For now, only NRG v2 is handled (not NRG v1), and not all of the metadata chunks are decoded. If you have interest in adding support for additional chunks or -formats and have a test image handy, please contact the author or open a -ticket. In particular, it would be interesting to support ISRC/CD-Text; handling +formats and have a test image handy, please contact the author or open an +issue. In particular, it would be interesting to support ISRC/CD-Text; handling of multisession and hybrid (audio and data) discs would also be a nice feature. -NRGrip is licensed under the terms of the Expat (MIT) license. See the `COPYING` -file. +OPTIONS +------- +At least one action switch must be provided, along with any number of option +switches. -Installing ----------- +### Actions -NRGrip is written in Rust. Make sure [Cargo](http://doc.crates.io/) is installed -on your system, then: +* `-i`, `--info`: + display the NRG image metadata (default action) - cargo build --release - cargo install +* `-c`, `--extract-cue`: + extract cue sheet from the NRG metadata +* `-r`, `--extract-raw`: + extract the raw audio tracks -Usage ------ +* `-x`, `--extract`: + same as `-cr` -To see the full usage, run: +### Additional options - nrgrip --help +* `-S`, `--no-strip-subchannel`: + don't strip the 96-bit subchannel from the extracted audio data (this option + has no effect if the input image has standard 2352-byte sector size) -Basically, you can display the metadata and extract the data with: +EXAMPLE +------- + +The following command will display the metadata and extract both the cue sheet +and the audio data: nrgrip -ix image.nrg The cue sheet will be extracted as `image.cue`, and the audio data as -`image.raw`. +`image.raw` in the current directory. The raw audio data from a CD is 16 bit, little endian, 44100 Hz, stereo. To play it, you may use, for instance, `aplay` from the ALSA utils, or `ffplay` @@ -70,3 +88,32 @@ To split the FLAC file according to the cue sheet, you may use, Or [mp3splt](http://mp3splt.sourceforge.net/): mp3splt -c image.cue image.flac + +INSTALLATION +------------ + +NRGrip is written in Rust. Make sure [Cargo](http://doc.crates.io/) is installed +on your system, then you can install directly from the Git repository with: + + cargo install --git https://code.lm7.fr/mcy/nrgrip.git + +Or if you cloned the repository already: + + cargo build --release + cargo install + +You may also generate the manpage with: + + make + +COPYRIGHT +--------- + +NRGrip was written by Matteo Cypriani <> and is licensed under the +terms of the Expat (MIT) license. See the [COPYING](COPYING) file. + +SEE ALSO +-------- + +Additional information can be found on +[NRGrip's wiki](https://code.lm7.fr/mcy/nrgrip/wiki).