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
|
|
|
|
It happens with some video files, apparently.
|
|
The SQLite busy waiting scheme isn't great for usability
and the busy timeout is done by sleep+backoff. I prefer
to say we only support filesystems with flock() for our
little DB.
|
|
Redundant since ("player: support guessing encodings for comments")
|
|
Apparently some degree of thread-safety is being enforced;
not sure I agree, but oh well...
|
|
Oops, a Perlism crept in :x
|
|
This is faster than relying on eval() for older Rubies.
https://bugs.ruby-lang.org/issues/13077
Ruby 2.5 is targetted for release in December 2017.
|
|
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).
|
|
This ought to avoid busy DB errors.
|
|
.each on a Sequel dataset is more appropriate for the way we
emit comments.
And using Array#map! is more efficient when we do not
need the original array.
|
|
We will allow forcing updates since upgrading dependent software
(e.g. sox, avprobe, ffprobe) may allow previously-ignored files
to become support
|
|
Almost, we will need to get a list of all suffixes supported
by ffprobe or avprobe. This could prove tricky..
|
|
We need to ensure children and comments are all deleted before
parents are.
|
|
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
|
|
For a music collection (even a large one), SQLite is sufficient
and less overhead than all of Sequel.
|
|
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
|
|
We cannot use "dirname" in queries, oops :x
|
|
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.
|
|
DTAS does not expose any sort of public API for external users,
so it will not be documented using RDoc. Currently all of our
documentation is in plain-text or Markdown (only for manpages).
|
|
The caller should dictate how the output format goes,
not the library.
|
|
This allows fast-ish tag searching, but the internal API
is still subject to change to ease emulation of mpd.
|
|
We'll continue supporting Ruby 1.9.3 as long as Debian wheezy is
supported.
|
|
These are the same stats used by the mpd "stats" command.
|
|
Files in a music library may be deleted or renamed, so our
library should not persist old data.
Unfortunately this double-stats all files, but using a hash
for temporary storage could also bloat memory/disk usage and
probably isn't worth it at the moment.
|
|
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
|