about summary refs log tree commit homepage
path: root/Documentation
DateCommit message (Collapse)
2024-05-07splitfx: support tshift directive HEAD master
This directive is useful for cutting sections of audio out in addition to making it easier to share track offsets between different recordings of the same source.
2024-02-01dtas-splitfx: add --stats/-S switch
Similar to the switch in dtas-archive(1), I got tired of having to manually add stats to all the rips I was tracking out.
2023-10-12favor ffmpeg over deprecated avconv
When this project started avconv was favored in Debian, but that hasn't been the case in many years. Increase the priority of ffmpeg to match the current situation in Debian.
2023-07-03dtas-archive: support -m/--match=REGEXP switch
Sometimes I only want to archive files matching a certain regexp pattern.
2022-02-03splitfx: document changes ahead of 0.20.0 release
--filter, per-track comments and environments are the subtle but major new features for the next release.
2022-01-23dtas-tl prune: cull missing files from tracklist
This helps for folks creating and replacing many throwaway files while editing with dtas-splitfx, or compulsive renamers.
2022-01-11doc: drop ordered map from examples
"omap" is specific to Ruby and makes interopability with other languages more difficult. While it's true environment variables are stored as an ordered array of C strings (see environ(7)); order doesn't matter in practice. Everyone in the real world treats the environment as an unordered key-value store, and we shall follow.
2020-04-20splitfx: support --err-suffix option
Write the contents of "stderr". This is useful for capturing the per-track output of the sox(1) "stats" effect when combined with parallel "--jobs".
2020-02-03doc: update copyrights for 2020
Using the 'update-copyright' script from gnulib[1]: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright [1] https://git.savannah.gnu.org/git/gnulib.git
2020-01-06doc: remove most recommendations for sleepy_penguin
sleepy_penguin is still a hair faster than libffi+fiddle, but most users probably won't notice. So stop documenting it, but just don't introduce performance regressions for existing users.
2019-11-14doc: use new HTTPS address at lists.gnu.org
lists.gnu.org is no longer accessible via FTP.
2019-11-09doc: trivial typo fixes
2019-04-22doc: remove inaccurate comment about "GNU-ism"
touch(1posix) documents the presence of "-r"
2016-12-27http -> https, and relocate homepage to https://80x24.org/dtas/
HTTPS allows some level of security(*) and we've actually supported it on 80x24.org for many months, now. So, point new readers to it. Moving away from hostname-based homepages will allow us to save on subjectAltName space (and bandwith) when negotiating an HTTPS connection. We'll also have an .onion mirror for Tor users, soon, too; in case we can't afford to pay ICANN in the future. (assuming TLS libraries don't have any more Heartblead-level bugs in them, CAs aren't compromised, MITM HTTPS stripping proxies don't get in your way, and your certificate bundle isn't compromised).
2016-04-24player: extra "cue" seeking functionality
These commands allow easier jumping within a track marked by embedded CUE sheets. I've found them helpful for tracking out large recordings of multiple tracks (e.g. vinyl transfers or live concert recordings).
2016-01-26doc: update documentation for tl consume and shuffle
shuffle was never documented in dtas-tl(1) when it was introduced, and consume is a new feature.
2016-01-18doc: preserve times in website
We should not be busting caches and wasting visitor's bandwidth for unmodified files.
2016-01-18doc: convert to perlpod(1) from Markdown
perlpod(1) is already installed by default on Debian and RedHat-based systems; and probably most modern *nixes; pandoc(1) (and Haskell) are not. POD also more standardized than Markdown (which flavor? :P), especially for generating manpages. So save any potential documentation editors some disk space by not forcing them to install Haskell and pandoc. Finally, I'm a mildly proficient in Perl and do not know Haskell at all and have a better chance at reading/hacking the source if the document generator breaks.
2016-01-17doc: update-footer.rb: fix for frozen_string_literal
Oops :x
2016-01-07dtas-tl: document "aac" addition
Note to self: remember to document new features as they're added.
2016-01-02copyright updates for 2016
Using the 'update-copyright' script from gnulib[1]: git ls-files | UPDATE_COPYRIGHT_HOLDER='all contributors' \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ xargs /path/to/gnulib/build-aux/update-copyright [1] git://git.savannah.gnu.org/gnulib.git
2015-12-26remove vestigial mentions of opusenc
We removed support for opusenc back in May as it was not really suitable for audio production and a maintenance burden. ref: commit 7ca5d0bfc714c254c374af9cbc2e024a8b439725 ("splitfx: remove support for encoding opus")
2015-12-25doc: various wording fixes and doc enhancements
English grammar is not easy :x While we're at it, dtas-archive.txt is expanded to document things like: http://80x24.org/dtas-all/20150918085401.GA8610@dcvr.yhbt.net/ (bus failure).
2015-12-25enable "frozen_string_literal: true"
While we're in the area, make a wording change from "GPLv3 or later" to "GPL-3.0+", as the latter is favored by SPDX.org
2015-12-14player: implement software volume control
This is on a linear scale from 0.0 (mute) to 1.0 (no change) This is in the MPRIS spec and mpd as well (scaled to 0-100) This changes dtas-console key bindings (0/9) slightly to match mplayer more closely. ReplayGain preamp adjustment has moved from '0'/'9' to '7'/'8' keys. The 'm' key also toggles mute state (the pre-mute volume is stored in the dtas-console instance, not in dtas-player itself).
2015-12-14doc: document additions to tracklist handling
2015-12-14dtas-tl: learn an "edit" sub command
This should allow convenient rearranging and deleting of tracks from the tracklist from your favorite $EDITOR.
2015-12-07player: tl (repeat|shuffle|max) and trim swap values
It makes more sense to return the previous value rather than the newly-set one, since the user presumably knows what they're setting and might care about the previous value.
2015-12-07player: refactor and document tracklist interface
The dpc_tl method was becoming too large, split it up into sub-methods for easier readability. While we're at it, at least make "tl repeat" consistent with "tl shuffle" when setting new values.
2015-10-30allow building the gem without pandoc
Not everybody cares for manpages.
2015-09-07player: add "queue cat" command
This will dump the contents of the current queue, including positional seeking information and commands. This is mainly intended for debugging and tools which rely on dtas internals.
2015-05-24splitfx: allow -p/--sox-pipe option
This allows splitfx YAML files to operate more seamlessly with external commands such as play(1) especially when combined with the -t/--trim option.
2015-05-19dtas-console: bind "o" to display time in absolute seconds
It can be useful to display time as absolute seconds to ease arithmetic for tracking files.
2015-05-17dtas-splitfx: support --trim argument
It can often be useful to expose only part of a track for quick inspection. This lets us do that.
2015-05-10splitfx: --bits and --rate for quick-n-dirty generic targets
generic targets (e.g. "wav") is useful for quickly checking if clipping is introduced by dither and resampling, so we'll support changing the sample rate and bits-per-sample from the command-line so users don't need to setup their own targets or wait on FLAC encoding.
2015-05-10splitfx: pass compression factor to sox(1)
This can be useful for speeding up splitfx during development, as sox defaults to maximum compression with FLAC and that is extremely slow.
2015-05-10doc: favor the "gain" effect over "vol"
Followup-to commit 403ed90e2e7bed3e017938d76e17037b0d5059b6 (replaygain uses the "gain" effect instead of "vol") The `gain' effect seems superior as it can "see" across the effects chain to take into account extra/lost headroom.
2015-05-10splitfx: support -O/--outdir switch to control output dir
It is useful to force output to a writable directory if the YAML file is on a read-only mount point or to force the output to a large tmpfs mount point to avoid SSD/HDD wear.
2015-04-13doc: update for dtas-sinkedit inotify support
New features need to be documented.
2015-04-07dtas-archive: paranoid archival script
This archives audio files (typically .wav from a portable devices) as FLAC and performs a best-effort verification the file was transferred succesfully without bit errors by dropping kernel caches and rechecking the result.
2015-01-28player: support the "trim" parameter
This feature is intended to allow users to "zoom-in" on a particular portion of a track to tweak parameters (either with dtas-sourceedit(1) or via playback of splitfx YAML files). This may be combined with looping the tracklist (via "tl repeat").
2015-01-25use omap (ordered map) for env hashes
While the Ruby Hash class is ordered in 1.9+, the YAML specifications do not specify hashes as ordered by default. Thus we must explicitly declare ordering via !omap for interopability with non-Ruby tools. This makes the YAML output of dtas-sourcedit and dtas-sinkedit slightly more verbose Users of dtas-splitfx are also encouraged to declare !omap when creating their YAML files for interoperability. Ordering env is important because any implementation of built-in variable expansion is dependent on it.
2015-01-19update copyright years and links to mailing list archives
The documentation part is managed by the new Documentation/update-copyright script. For the future, the rest may be managed by the update-copyright tool in gnulib
2015-01-19splitfx: export TBEG and TLEN variables
These are the raw sample counts for the "trim" effect and may be useful for arithmetic in the shell.
2015-01-19doc: dtas-env(7) manpage for environment vars
This rounds out the documentation a bit and hopefully introduces/encourages some commonality between the playback and processing/production components of dtas. Clarify some splitfx-related environment variables while we're at it.
2015-01-19dtas-sourceedit: update player as user saves in the editor
This allows changes in the source YAML file to be reflected immediately in player after the user saves the file in their favorite $EDITOR. Previously, a user would need to: 1) start dtas-sourceedit, spawning $EDITOR 2) edit the file 3) save changes 4) exit $EDITOR 5) repeat starting from 1) until happy with the results Now, the workflow allows avoiding the context switch between their $EDITOR and terminal to restart dtas-sourcedit: 1) start dtas-sourceedit, spawning $EDITOR 2) edit the file 3) save changes 4) repeat starting from 1) until happy with the results 5) exit $EDITOR In my experience, this greatly speeds up tuning of the playback change, giving all the repeatability and flexibility of editing text files while having the immediacy of an interactive UI. Keep in mind this can cause problems for those with auto-save enabled in their $EDITOR buffer at inopportune times, so a -N/--no-watch option is added.
2015-01-03splitfx: add INDIR and INBASE environment variables
These are intended to act like `$(@D)' and `$(@F)' in GNU make(1) and to ease managing temporary files for some effects (e.g. noiseprof + noisered in sox) for splitfx users.
2014-12-28splitfx: use $FX env consistently in targets, too
While we're at it, document the splitfx manpage and make the example suitable for tests.
2014-12-27player: support "source restart" command
This becomes useful for systems without inotify when we're editing YAML (or whatever) files frequently and want changes to be reflected right away during playback. This is a weaker version of the plain "restart" command, which restarts the entire playback chain.
2014-12-22doc: flesh out "tl" subcommand docs
The following subcommands are now documented: * current * current-id * next * prev