Date | Commit message (Collapse) |
|
We can't do much for readahead when it comes to dtas-player
running arbitrary commands.
|
|
We must not leave open files lingering when the player pauses,
as it could prevent remote filesystems from unmounting.
|
|
We should generate "XYZ_0001.stats" files,
not "XYZ_0001.flac.stats".
|
|
Both of these are optional, so stop trying them if we
do not detect them.
|
|
When activated, this boolean deletes a song from the tracklist
after it is played.
|
|
We will allow forcing updates since upgrading dependent software
(e.g. sox, avprobe, ffprobe) may allow previously-ignored files
to become support
|
|
It needs to display the track ID on the left like in
0.13.0 and earlier versions. Oops.
Fixes: cb5a016bf5e1 ("dtas-tl: shell-unescape cat output")
|
|
Harmless, but noisy and ugly.
|
|
We do the same with edit and this makes tracklists look nicer with
non-7-bit-ASCII characters. While we're at it, use each_slice to
request more info from the tracklist to reduce syscalls on both
ends.
|
|
POSIX filesystems allow any combination of bytes, so we should be
able to edit the tracklist when we have a filename with non-UTF-8
(or whatever locale the user uses). Try to present the user with
a reasonable name when they have an external encoding (typically
UTF-8); but be prepared to dump out whatever binary sequence
the filesystem allows.
|
|
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
|
|
Our spawn fix does not cover singleton dispatch from the
Process class; only bareword "function" calls.
|
|
Not in any way a stable interface, yet, and still incomplete. This
should emulate parts of the mpd protocol which should make it easier
to debug and develop.
|
|
This can be useful to avoid using the queue internally.
|
|
Having sequential track IDs can improve readability, so complicate
our code a bit to ensure users get nicer looking track IDs.
Followup to commit 90dcf561fd22c8a53c03d97292f86a82e74ca4a3
('Revert "dtas-tl: simplify existing addtail/addhead while we're at it"')
|
|
This partially reverts commit 0dde5917fb5135ee3601383c29ffc0490071ea9d.
This fixes "addtail" on an empty tracklist and preserves sequential
ordering of track IDs, which might make sense for usability.
|
|
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).
|
|
Oops :x
commit 0dde5917fb5135ee3601383c29ffc0490071ea9d
("dtas-tl: simplify existing addtail/addhead while we're at it")
|
|
No need to keep track of added track IDs when we can walk the
array backwards to insert in the correct order. Also,
fix a stupid (probably?) typo in the "addhead" implementation,
too. I've known about Array#reverse_each for a while...
|
|
We need to add new songs in reverse order of what's in
the file to preserve ordering when they're added after
an existing ID. This way we don't have to remember the
track we just added, either.
|
|
This should allow convenient rearranging and deleting of tracks from
the tracklist from your favorite $EDITOR.
|
|
It is orders of magnitude more efficient to implement this
in the player and very noticeable when using large playlists.
|
|
This makes interrupting the potentially long output of
"dtas-mlib dump" less ugly. Perhaps it makes sense for our
other scripts to follow suit.
|
|
We need this script to work under Ruby 1.9.3 as well,
for the time being.
|
|
Using an RFC-822-like format since YAML quoting rules aren't very
human-friendly, and we already prevent newlines from entering our
DB anyways.
|
|
Eventually this will support searching and be the basis
of an mpd-compatible proxy in front of dtas-player
|
|
This can speed up archiving in some cases, as FLAC with
compression-level 8 may be excessively slow.
|
|
Oops, files in bin/ should be executable.
|
|
Temporary files may still have spaces or weird chars in them.
Just keep in mind we need to use $EDITOR/$VISUAL as-is since that
may contain additional command-line arguments, so we cannot pass
an array.
|
|
When a player is paused with nothing player, we will not waste CPU
time polling for the player to become available. It is wasteful
of processing power and battery life.
|
|
This is dependent on Linux /proc/ (the "pos: " field
of /proc/$PID/fdinfo/$FD to be exact).
This was written to avoid seek latencies on a remote FUSE
filesystem with occasional packet loss.
|
|
We'll be using the rate for automatically calculating CDDA
alignment in the future.
|
|
This allows splitfx YAML files to operate more seamlessly with
external commands such as play(1) especially when combined with
the -t/--trim option.
|
|
Broken by commit c02f0b8182b35df1a318418bbd0036c00be93b5c
("source/splitfx: allow watching extra external scripts")
Oops
|
|
I nearly forgot about this myself
|
|
It can be useful to display time as absolute seconds to
ease arithmetic for tracking files.
|
|
It can often be useful to expose only part of a track for quick
inspection. This lets us do that.
|
|
Oops
|
|
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.
|
|
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.
|
|
This can be useful for speeding up splitfx during development,
as sox defaults to maximum compression with FLAC and that is
extremely slow.
|
|
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.
|
|
We already convert xs arg to be an Array, so avoid bloating
our code with redundancy.
|
|
This is mainly for consistency in behavior with dtas-sourceedit.
Using dtas-sourcedit is still more common and recommended as it
is less likely to introduce audible gaps and pauses.
|