]>
rhodes.io Git - squeeze-el.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Christophe Rhodes [Thu, 30 Oct 2014 18:32:07 +0000 (18:32 +0000)]
handle the case when there are zero connected players
Christophe Rhodes [Sat, 25 Oct 2014 21:28:33 +0000 (22:28 +0100)]
much better `squeeze-unhex-and-decode-utf8-string'
It turns out that `url-unhex-string' uses the multiple-concat strategy
that I just removed from `squeeze-update-state', which ends up scaling
quadratically in the size of the input. This is bad, particularly
when we are working (as I am) with large output string such as
resulting from an albums query.
Christophe Rhodes [Sat, 25 Oct 2014 21:26:31 +0000 (22:26 +0100)]
slightly better `squeeze-update-state'
use a temporary buffer rather than multiple calls to `concat'
Christophe Rhodes [Tue, 21 Oct 2014 21:04:26 +0000 (22:04 +0100)]
include underscore as a valid character in plist keys
Christophe Rhodes [Tue, 21 Oct 2014 16:48:22 +0000 (17:48 +0100)]
whitespace
Christophe Rhodes [Tue, 21 Oct 2014 16:48:11 +0000 (17:48 +0100)]
helpful `squeeze-parse-count' function
use it in `squeeze-parse-players-line'
Christophe Rhodes [Tue, 21 Oct 2014 16:40:32 +0000 (17:40 +0100)]
manage messages split into multiple chunks
buffer content until we find at least one newline character.
Technically this doesn't handle multiple messages ending in an
incomplete one; as proof of concept it'll do.
Christophe Rhodes [Thu, 16 Oct 2014 13:33:19 +0000 (14:33 +0100)]
a couple of robustification fixes
- let squeeze-string-plistify handle a nil `end' parameter
- decode the url-unhexified string as utf-8
Christophe Rhodes [Thu, 16 Oct 2014 13:19:49 +0000 (14:19 +0100)]
better interface for squeeze and squeeze-control
address and port arguments, and read them from the user if a prefix
argument is given
Christophe Rhodes [Thu, 16 Oct 2014 13:17:08 +0000 (14:17 +0100)]
handle new? behaviour of %s given a character
I'm sure it worked before, but now it prints the integer, not a
one-element character. Use an explicit call to `string' to fix it.
Christophe Rhodes [Sun, 10 Aug 2014 07:25:59 +0000 (08:25 +0100)]
simplify squeeze-mixer-compute-bar a bit
compute a quotient rather than repeated comparisons with fractional
part
Christophe Rhodes [Fri, 25 Jul 2014 18:34:23 +0000 (19:34 +0100)]
provide squeeze
Christophe Rhodes [Mon, 21 Apr 2014 20:56:55 +0000 (21:56 +0100)]
decode utf-8 as well as unhex in comint network stream output
Christophe Rhodes [Sat, 19 Apr 2014 18:22:51 +0000 (19:22 +0100)]
clean up squeze-control-refresh
handle accepting process output in a separate function
Christophe Rhodes [Tue, 8 Apr 2014 21:03:53 +0000 (22:03 +0100)]
use string-to-number rather than parse-integer
Christophe Rhodes [Sat, 5 Apr 2014 20:09:10 +0000 (21:09 +0100)]
save point within squeeze-control-display-players
Christophe Rhodes [Sat, 5 Apr 2014 13:04:18 +0000 (14:04 +0100)]
code cleanup
new squeeze-send-string function to handle sending things to the
inferior-squeeze
Christophe Rhodes [Sat, 5 Apr 2014 12:53:03 +0000 (13:53 +0100)]
start working on changing playlists
for now, just simple numeric favourites, through a bit of a sucky
interface. Baby steps...
Christophe Rhodes [Sat, 5 Apr 2014 12:52:26 +0000 (13:52 +0100)]
actually add the completion function to completions
Christophe Rhodes [Sun, 30 Mar 2014 20:36:13 +0000 (21:36 +0100)]
refresh syncgroups
Christophe Rhodes [Sun, 30 Mar 2014 20:28:33 +0000 (21:28 +0100)]
minimal support for syncgroups
Christophe Rhodes [Sun, 30 Mar 2014 19:28:45 +0000 (20:28 +0100)]
add README
Christophe Rhodes [Wed, 26 Mar 2014 11:07:02 +0000 (11:07 +0000)]
mouse events for mixer sliders
Sure, why not?
Christophe Rhodes [Tue, 25 Mar 2014 16:22:11 +0000 (16:22 +0000)]
add a keymap to the mixer bar
also cleverness with intangible text property to avoid having
a useless space at the end of lines
Christophe Rhodes [Tue, 25 Mar 2014 09:30:54 +0000 (09:30 +0000)]
clamp volume to between 0 and 100
doesn't handle muted players yet
Christophe Rhodes [Mon, 24 Mar 2014 21:29:46 +0000 (21:29 +0000)]
we might not always get a squeeze-playerid property
Don't send a player request with nil as the mac address
Christophe Rhodes [Mon, 24 Mar 2014 21:28:03 +0000 (21:28 +0000)]
oh duh, + is url-encoded
No wonder volume down was working fine and volume up not so well
Christophe Rhodes [Mon, 24 Mar 2014 21:11:05 +0000 (21:11 +0000)]
grab bag of extra goodness
* legal
defface forms for face definitions
* only redisplay players once when refreshing
* better factoring for parsing player events
* mixer bars and volume control
Christophe Rhodes [Mon, 24 Mar 2014 09:16:12 +0000 (09:16 +0000)]
improve squeeze-control startup
Christophe Rhodes [Sun, 23 Mar 2014 11:10:36 +0000 (11:10 +0000)]
separate out display and state management
attempt to keep track of power states, and display them on change. We
don't handle all power change messages yet (I think) so this isn't
complete but at least we handle our own power toggles
some other scattered fixes
Christophe Rhodes [Fri, 21 Mar 2014 20:11:18 +0000 (20:11 +0000)]
display power state in squeeze control
still needs an explicit refresh but otherwise OK
Christophe Rhodes [Fri, 21 Mar 2014 20:10:05 +0000 (20:10 +0000)]
don't snarf newline characters in messages
Christophe Rhodes [Fri, 21 Mar 2014 19:33:56 +0000 (19:33 +0000)]
minimally useful squeeze control mode
I can turn players on and off! Yes!
Christophe Rhodes [Thu, 20 Mar 2014 09:57:30 +0000 (09:57 +0000)]
initial commit
basic comint-based mode for interacting with the Squeezebox (aka
Logitech Media Server) CLI