Date | Commit message (Collapse) |
|
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
|
|
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.
|
|
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).
|
|
When activated, this boolean deletes a song from the tracklist
after it is played.
|
|
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.
|
|
Try to take advantage of bypass being enabled for sample rate,
then show the raw sample offset if we cannot get the rate.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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).
|
|
It can be useful to display time as absolute seconds to
ease arithmetic for tracking files.
|
|
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.
|
|
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
|
|
Attempting to perform operations on a file which which cannot
handle it should not cause dtas-console to die with a backtrace
|
|
The '!' and '@' keys are used in mplayer to skip chapters,
so perhaps this is a good analogy.
|
|
These key bindings are used in mplayer, too.
|
|
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).
|
|
I'm still normal, and still trolling, but 80x24.org will be epic :)
|
|
Ruby 2.2.0dev does not bundle the "curses" gem anymore.
Note: not a hard RubyGem dependency since dtas-console is optional.
|
|
It is easier to break out of dtas-console with one key than using a
2-finger combination.
|
|
We may get a pause event when we do not have a valid current
hash.
|
|
Lightly tested, but this seems to work.
|
|
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.
|
|
Lightly-tested, but this seems to work.
|
|
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.
|
|
It's useful to show inactive ReplayGain values, as users may
switch between the defaults and non-default values frequently.
|
|
This also matches the KEY_UP and KEY_DOWN behavior, and probably(?)
makes more sense.
|
|
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.
|
|
Occasionally we will play the output of a command, just display
that.
|
|
|