about summary refs log tree commit homepage
path: root/Documentation
DateCommit message (Collapse)
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
2014-08-26doc: document "tl get"/"dtas-tl cat" escaping gotcha
We shell-escape filenames, so they may not show up properly when shuttled across the wire.
2014-06-06update copyrights and email address for 2014
I'm still normal, and still trolling, but 80x24.org will be epic :)
2013-12-01splitfx: support --no-dither/-D option
splitfx is incapable of knowing in 100% of cases whether dithering should be used (as it has no visibility into sox internals), so support disabling it completely via command-line. This is like the identical sox option, and passed to sox(1), too. This feature is useful for splitting already-mastered 16-bit recordings.
2013-09-30dtas-console: allow exit via 'q' key
It is easier to break out of dtas-console with one key than using a 2-finger combination.
2013-09-30player (protocol): rename "tl previous" to "tl prev"
This gives us consistency with the "cue prev" command, is easier-to-type, and is consistent in length with "tl next". We'll just map "previous" -> "tl prev" when we implement the MPRIS bridge.
2013-09-30player: support seeking based on embedded cuesheet (FLAC)
This adds the ability to seek internally within FLAC file based on the internal CUE sheet. Other formats may be supported in the future, but FLAC is the only one I know of which supports embedded cue sheets. Note: flac 1.3.0 is recommended for users of non-CDDA-compatible formats. See updates to dtas-player_protocol(7) for details.
2013-09-28player: support bypass for rate, bits, channel
This may be used to avoid automatic: * resampling (rate) * down/upmixing (channel) * dither/truncation (bits) Using any bypass mode means we can no longer guarantee gapless playback for audio collections where rate, channel, or bits vary. This can however be useful when CPU usage is too high. This may also be useful in audio engineering situations.
2013-09-22doc: add manpage for dtas-splitfx
We should document it so we remember how to use it.
2013-09-22dtas-tl: add "reto" command
This behaves like "goto", but takes a regular expression instead of a track_id
2013-09-10document dtas-tl(1) and the "tl" commands in the protocol
Everything should be documented, even if it's a work-in-progress. I reserve the right to change them...
2013-09-01doc/dtas-xdelay: reference sox/play env, update email address
Since dtas-xdelay uses play/sox, we need to document AUDIODEV, AUDIODRIVER, and SOX_OPTS environment variables. Also point comments to the mailing list while we're at it.
2013-09-01player: add "state dump" command to serialize state
This helps in case dtas-player is hit with SIGKILL or the system crashes. This does not fsync(2) as that could introduce delays on slow filesystems. Users should open the file manually and fsync themselves if they need to.
2013-09-01doc: add contact info to all documentation
Users need to be able to communicate with us.
2013-09-01doc: sink_examples: reference dtas-xdelay and friends
dtas-xdelay could use some more exposure, especially considering megabuck speakers have some of the same features :P
2013-09-01doc: reorganize sections around dtas-player
Move all sink examples to the dtas-player_sink_examples manpage. Remove redundant troubleshooting.txt, that now resides in dtas-player(1).
2013-08-31dtas-sourcedit: allow loading YAML from stdin
This should make it easy to save/load sink profiles depending on the users mood. One could easily create different profiles depending on different listening criteria. dtas-ctl source cat sox > casual.yml dtas-sourceedit sox < critical.yml
2013-08-28add license/copyright headers/footers to all files
All files we distribute in the tarball need to have a copyright/license specified for Savannah. We don't need the example state file anymore.
2013-08-28doc: protocol: question source ed tryorder, minor edits
Minor notes for future development.
2013-08-28doc: cleanup makefile formatting/naming
Hopefully slightly easier-to-read/parse for humans (especially non-English speakers).
2013-08-27doc: dtas-player_protocol: note proposed revamp
Better to break compatibility while the project is very young.
2013-08-27doc: add more examples to dtas-player_sink_examples
This adds examples for using ssh(1) with play(1)
2013-08-27doc: dtas-player_sink_examples manpage
This should hopefully make it easier to introduce users to sink usage.
2013-08-26add lightly-tested ffmpeg support
Since ffmpeg/ffprobe are wrappers around their libav-variants, I haven't had the chance to actually test with "real" ffmpeg, but the usage is probably similar enough to not matter.