From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 208.118.235.0/24 X-Spam-Status: No, score=-2.1 required=3.0 tests=AWL,BAYES_00,URIBL_BLOCKED shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: dtas-all@80x24.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 77012205E1 for ; Mon, 7 Dec 2015 11:14:14 +0000 (UTC) Received: from localhost ([::1]:53831 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5tkD-0003nZ-UL for dtas-all@80x24.org; Mon, 07 Dec 2015 06:14:13 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36643) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5tkB-0003nT-Pj for dtas-all@nongnu.org; Mon, 07 Dec 2015 06:14:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a5tk6-00088S-Se for dtas-all@nongnu.org; Mon, 07 Dec 2015 06:14:11 -0500 Received: from dcvr.yhbt.net ([64.71.152.64]:55935) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a5tk6-00087d-NE for dtas-all@nongnu.org; Mon, 07 Dec 2015 06:14:06 -0500 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 838ED2042E; Mon, 7 Dec 2015 11:14:05 +0000 (UTC) Date: Mon, 7 Dec 2015 11:14:05 +0000 From: Eric Wong To: dtas-all@nongnu.org Subject: tracklist changes pushed out, release coming... Message-ID: <20151207111405.GA2633@dcvr.yhbt.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.71.152.64 X-BeenThere: dtas-all@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dtas-all-bounces+dtas-all=80x24.org@nongnu.org Sender: dtas-all-bounces+dtas-all=80x24.org@nongnu.org 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 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 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 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 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