about summary refs log tree commit homepage
path: root/bin/dtas-tl
DateCommit message (Collapse)
2016-12-27http -> https, and relocate homepage to https://80x24.org/dtas/
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).
2016-01-21dtas-tl: fix "cat" output
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")
2016-01-17dtas-tl: shell-unescape cat output
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.
2016-01-17dtas-tl: hopefully fix up encoding issues
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.
2016-01-02copyright updates for 2016
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
2015-12-25enable "frozen_string_literal: true"
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
2015-12-15dtas-tl: add "aac" (add-after-current) command
This can be useful to avoid using the queue internally.
2015-12-15dtas-tl: "edit" gives sequential track IDs on new tracks
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"')
2015-12-15Revert "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.
2015-12-14dtas-tl: fixup addtail again
Oops :x commit 0dde5917fb5135ee3601383c29ffc0490071ea9d ("dtas-tl: simplify existing addtail/addhead while we're at it")
2015-12-14dtas-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...
2015-12-14dtas-tl edit: fix ordering of newly-added songs
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.
2015-12-14dtas-tl: learn an "edit" sub command
This should allow convenient rearranging and deleting of tracks from the tracklist from your favorite $EDITOR.
2015-12-13player: support "tl clear" internally
It is orders of magnitude more efficient to implement this in the player and very noticeable when using large playlists.
2015-01-19update copyright years and links to mailing list archives
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
2014-12-22dtas-tl: halve write() syscalls when emitting tracklists
Notably, this speeds up "dtas-tl cat" output a little bit. Hrm, Ruby really should be using writev here, we'll need to investigate at a later date.
2014-08-16rely on filesystem encoding
This avoids compatibility problems as File.expand_path respects the "filesystem" encoding of Ruby. I'm not 100% sure this is correct, as Ruby encoding support still confuses me, but this fixes a problem where I attempted to add UTF-8 filename with non-US-ASCII characters in it on ruby-trunk.
2014-06-06update copyrights and email address for 2014
I'm still normal, and still trolling, but 80x24.org will be epic :)
2013-10-10dtas-tl: "reto" command does not scan track IDs
Using a regexp to match trackIDs is probably not intended by the user.
2013-09-22dtas-tl: add "reto" command
This behaves like "goto", but takes a regular expression instead of a track_id
2013-09-10dtas-tl: add-{tail,head} -> add{tail,head}
Shorten these commands since they're frequently used and to make eventual tab completion easier.
2013-09-09dtas-tl: add a handy "clear" command
This is implemented in client space, as the MPRIS 2.0 spec does not say this needs to be implemented at all...
2013-09-09dtas-tl: expand paths before using them
It's easier to handle the client and player to be in different directories (and we also do this for dtas-enq(1))
2013-09-09dtas-tl: add add-tail command
This adds a bunch of tracks sequentially to the end of the tracklist
2013-09-09player: implement basic tracklist functionality
This should allow us to repeat through a list of tracks with relative ease. There is a rudimentary dtas-tl client implemented. This may be removed in the future.