Discussion:
tracklist changes pushed out, release coming...
Eric Wong
2015-12-07 11:14:05 UTC
Permalink
Pushed out a bunch of tracklist-related changes to "master" of
git://80x24.org/dtas

Eric Wong (4):
tracklist: shuffle support
tracklist: support limiting maximum tracklist size
player: refactor and document tracklist interface
player: tl (repeat|shuffle|max) and trim swap values

Documentation/dtas-player_protocol.txt | 8 +-
lib/dtas/player/client_handler.rb | 193 ++++++++++++++++++++-------------
lib/dtas/tracklist.rb | 108 ++++++++++++++----
test/test_tracklist.rb | 37 +++++++
4 files changed, 250 insertions(+), 96 deletions(-)

Will probably release the current tree in a day or two with a few minor
tweaks, and have the mpd emulation proxy as a separate release in a few
more weeks.

The work-in-progress "mpd" branch is also pushed and
will be frequently rebased against master.

There's actually a lot of documentation stuff I'll need to catch
up on for the release. I tend to be better at writing commit messages
:x

And so, commit messages available below:

commit 1a63ca046d42dc9d35fe656c034e0c791834ae67
Author: Eric Wong <***@80x24.org>
Date: Mon Dec 7 11:04:32 2015 +0000

player: 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.

commit ebf129cb0e067c204343bfdd3c73c38abae7f335
Author: Eric Wong <***@80x24.org>
Date: Mon Dec 7 10:43:07 2015 +0000

player: 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.

commit b08fe09e296524daf4de7ed16e0bed224f5008a2
Author: Eric Wong <***@80x24.org>
Date: Mon Dec 7 09:50:26 2015 +0000

tracklist: support limiting maximum tracklist size

This defaults to 16384? This is what mpd uses by default as well.
Of course folks interacting with dtas-player directly can override
this:

dtas-tl max INTEGER
dtas-tl max

This is NOT meant to be a hard security measure for local users
talking to dtas-player directly. It is only to prevent
accidentally stupid things like flooding the playlist with
a broken script and to prevent remote users from DoS-ing
us via the to-be-written mpd proxy/emulation layer.

Remember: dtas-player itself will ALWAYS remain capable of
executing arbitrary code :)

commit 3e013d3f24f0f935dce985d4c6bd155889e05dbb
Author: Eric Wong <***@80x24.org>
Date: Mon Dec 7 03:51:33 2015 +0000

tracklist: shuffle support

This is in the MPRIS 2.0 TrackList spec and also in mpd (as "repeat"
mode), so we can probably support it directly in player to ease
implementations of future wrappers.
--
EW
Loading...