about summary refs log tree commit homepage
path: root/bin/dtas-console
DateCommit message (Collapse)
2019-01-02dtas 0.16.0 v0.16.0
A bunch of minor fixes and cleanups accumulating for the past two years since the last release. It's tough to remember to make releases when I'm always running the latest version from git :x Most notably, "io_splice" is no longer used for dtas-linux users since "sleepy_penguin" includes all the functionality we use. This is to reduce memory overhead from extra DSOs(*) There's also some deprecation warning fixes for the still-undocumented "dtas-mlib" command. 12 changes since v0.15.0 (2017-04-07): pipeline: new module for running process pipelines console: ensure time calculations are done in UTC Rakefile: update path for uploads player: support guessing encodings for comments get rid of Windows-31J regexps mlib: compatibility with Sequel 5.x mlib: remove redundant tag massaging and encoding mlib: use flock to get around SQLite busy errors mlib: ignore files with nil times dtas/watchable: check SystemCallError mlib: fix unused variable warning use sleepy_penguin 3.5+ for splice and tee support (*) https://udrepper.livejournal.com/8790.html
2017-11-19console: ensure time calculations are done in UTC
We must do this if the user does not use UTC in their time zone, otherwise things could get a bit wacky in the display.
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-01-25player: support "consume" mode for tracklist
When activated, this boolean deletes a song from the tracklist after it is played.
2016-01-05console: show tracklist shuffle status, too
We support this feature, so it should probably be shown along with the repeat status of the tracklist. Ensure we notify all of our listeners about the status change in player, too.
2016-01-04console: try harder to show rate
Try to take advantage of bypass being enabled for sample rate, then show the raw sample offset if we cannot get the rate.
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
2016-01-01console: display paused commands properly
Running commands can be "paused" (actually, they're stopped), so we must display them correctly when attempting to encode them in the correct format instead of barfing when we attempt to call the 'encode' method on a Hash object.
2015-12-31dtas-console: show trim and "tl repeat" status
It probably makes sense for the -console user to know if tracklist repeat and trim are enabled. Have player emit these in "current" output and let the console client track them for now.
2015-12-31dtas-console: show paused track and time offset
When invoking the "current" command, the player now returns the first track + offset in the queue. This should make it easier to show what's paused or not.
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-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-17use monotonic clock on Ruby 2.1+
The monotonic clock is immune to stepping adjustments so it is more suitable for tracking elapsed time differences. Process.clock_gettime also generates less garbage on 64-bit systems due to the use of Flonum.
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-19dtas-console: avoid crashing on failed cue seeks
Attempting to perform operations on a file which which cannot handle it should not cause dtas-console to die with a backtrace
2014-12-27dtas-console: keys for "cue next/prev"
The '!' and '@' keys are used in mplayer to skip chapters, so perhaps this is a good analogy.
2014-12-21dtas-console: '>' and '<' keys for tracklist next/prev
These key bindings are used in mplayer, too.
2014-09-22dtas-console: force encoding for current locale
This is the one place we display the filename for users, so it should hopefully make it displayable. Users who care about proper display should use a locale which matches their music collection (or rename their music collection to match).
2014-06-06update copyrights and email address for 2014
I'm still normal, and still trolling, but 80x24.org will be epic :)
2014-02-24dtas-console: add note to install "curses" gem if missing
Ruby 2.2.0dev does not bundle the "curses" gem anymore. Note: not a hard RubyGem dependency since dtas-console is optional.
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-09dtas-console: avoid using current if it is nil
We may get a pause event when we do not have a valid current hash.
2013-09-06dtas-console: show paused track when paused
Lightly tested, but this seems to work.
2013-08-29remove "encoding: binary" header use
We don't need it since IO#read(bytes, buf) will convert to ASCII-8BIT anyways. Everywhere else, we ensure path names are already binary. We do this mainly at the client layer before using Shellwords to escape the paths. We also must be careful about parsing output from soxi/avprobe which can show us metadata in whatever encoding is in the file. We must still handle data from parsing command output as binary, as the encoding of file metadata tends to vary. This also should buy us Syck compatibility for Ruby 1.9.3 users on Debian systems where Ruby 1.9.3 still uses Syck.
2013-08-28dtas-console: support terminal resize
Lightly-tested, but this seems to work.
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-25dtas-console: always show ReplayGain line
It's useful to show inactive ReplayGain values, as users may switch between the defaults and non-default values frequently.
2013-08-25dtas-console: swap 'j' / 'k' bindings to match docs
This also matches the KEY_UP and KEY_DOWN behavior, and probably(?) makes more sense.
2013-08-25dtas-console: implement better ReplayGain and format support
Add hotkeys for the (probably) frequently changed ReplayGain mode, preamp and fallback_gain parameters. And display the RGFX volume change. While we're at it, we'll display the format info to get a better idea of what we're decoding and playing to.
2013-08-25dtas-console: don't barf if there is no infile
Occasionally we will play the output of a command, just display that.
2013-08-24initial commit