19 months agominidsp-lcd-monitor: clear entire line when displaying preset/input master
Clinton Ebadi [Sat, 19 Feb 2022 20:57:59 +0000 (15:57 -0500)]
minidsp-lcd-monitor: clear entire line when displaying preset/input

Otherwise garbage may be left behind (for the input name at least,
preset is only ever a single digit so not strictly needed).

19 months agominidsp-lcd-monitor: simplify lookup of changed attributes
Clinton Ebadi [Sat, 19 Feb 2022 20:56:25 +0000 (15:56 -0500)]
minidsp-lcd-monitor: simplify lookup of changed attributes

Use the "|" operator to merge the attribute changed data into the
current attributes.

19 months agominidsp-lcd-monitor: simple volume display for minidsp 2x4HD
Clinton Ebadi [Sat, 12 Feb 2022 19:26:38 +0000 (14:26 -0500)]
minidsp-lcd-monitor: simple volume display for minidsp 2x4HD

After getting a minidsp 2x4HD to use as a crossover, I realized it was
a bit inconvenient not having a volume display.

This just listens for updates from minidsp-rs and shows the current
source/preset/volume using an Adafruit character lcd usb backback with
a 20x4 character lcd.

2 years agomame-catver-filter: filter mame roms by category
Clinton Ebadi [Mon, 12 Jul 2021 02:40:18 +0000 (22:40 -0400)]
mame-catver-filter: filter mame roms by category

8 years agoled-controller: improve driver loop
Clinton Ebadi [Wed, 26 Nov 2014 00:57:12 +0000 (19:57 -0500)]
led-controller: improve driver loop

`fx-driver' runs an fx function, passing time + delta time. Updated
simple hsv loop to run from `fx-driver'.

Miscellaneous code cleanup. Define tau, move all initialization to the
top of the program, kill some dead code. Defer delivery of interrupts
while communicating with the serial device.

8 years agoled controller: port to teensy 3.1
Clinton Ebadi [Wed, 26 Nov 2014 00:53:49 +0000 (19:53 -0500)]
led controller: port to teensy 3.1
 - For now, only target the teensy 3.1.
 - Target full 16-bit pwm (not sure if clock set correctly for full use
 - Eliminate color correction code
   - Likely wrong anyway
 - Revert to simple text based protocol
   - Teensy I/O is buffered, this is easier
 - Blink random colors when no device has the serial port open

8 years agoRename arduino led driver to appease arduino IDE
Clinton Ebadi [Wed, 26 Nov 2014 00:50:49 +0000 (19:50 -0500)]
Rename arduino led driver to appease arduino IDE

8 years agoarduino rgb led strip driver
Clinton Ebadi [Mon, 24 Nov 2014 04:48:40 +0000 (23:48 -0500)]
arduino rgb led strip driver

A few iterations in, time for version control. led-controller.scm
interfaces with this.

This supports driving an arbitrary number of rgb led strips. All
currently are set to the same color. You just wire up the pins, and
send it three bytes (r, g, b) and read the response line to keep in

Originally read r g b using Serial.parseInt(). Returning to that soon
as I am porting it to Teensy 3.1 and it has fast buffered
communication making the current approach unsuitable.

It uses a basic intensity correction table from another
project (generated by This is most likely wrong... each
color needs its own table, I think.

8 years agoxbmc file upload / playlist insert example
Clinton Ebadi [Mon, 24 Nov 2014 03:15:25 +0000 (22:15 -0500)]
xbmc file upload / playlist insert example

XBMC party mode is good for background music at parties, but sometimes
guests want to listen to their music and not mine. After trying to get
UPnP/DLNA and bluetooth streaming to work I gave up and threw together
a trivial file upload + python script.

Primitive, so far. It lets users upload a single file to a specified
directory, replaygains it (if it is mp3/flac/vorbis at least), and
then inserts it at a random position on the playlist.

8 years agoExperiments in controlling LEDs using Guile + Arduino
Clinton Ebadi [Mon, 24 Nov 2014 03:09:31 +0000 (22:09 -0500)]
Experiments in controlling LEDs using Guile + Arduino

led-controller.scm is the current working daemon. It is licensed under
the GPLv3 as it is becoming a "real" program and will likely be
released on its own.

picker/* are from the raphael js graphics library demos and are MIT
licensed. They connect to the led daemon using GET requests to set the
current color.

fade3.scm, fade4.scm, and led-web.scm are hacks that gradually evolved
into led-controller.scm

8 years agodualshock 3 -> zsnes button converter
Clinton Ebadi [Mon, 24 Nov 2014 03:03:22 +0000 (22:03 -0500)]
dualshock 3 -> zsnes button converter

zsnes explodes when you attempt to configure a dualshock 3 button in
the gui. This lets you convert whatever button/joystick numbers
reported by your favorite input driver for a dualshock 3 to the
internal button codes used by zsnes.

This will work for arbitrary joysticks. You must redefine axis-count
and button-count to match your device.

8 years agoCommon Lisp hack to rename some videos
Clinton Ebadi [Mon, 24 Nov 2014 03:01:20 +0000 (22:01 -0500)]
Common Lisp hack to rename some videos

X-Files file names in my copy of Season 01 were making xbmc unhappy,
use fad and cl-ppcre to move them. Because `rename' doesn't
exist (d'oh).

8 years agoBasic gimp gradient loader
Clinton Ebadi [Mon, 24 Nov 2014 02:59:58 +0000 (21:59 -0500)]
Basic gimp gradient loader

Can generate a linear blend of arbitrary steps from a gimp gradient
file. Kind of works for generating input for my arduino led controller.

8 years agoSomething about generating smooth playlists
Clinton Ebadi [Mon, 24 Nov 2014 02:58:30 +0000 (21:58 -0500)]
Something about generating smooth playlists

I think this code is intended to use the bpm of a library of input
files and generate a playlist that picks songs gracefully moving
toward a changing target bpm.

8 years agoPartial implementation of scsh define-record
Clinton Ebadi [Mon, 24 Nov 2014 02:55:42 +0000 (21:55 -0500)]
Partial implementation of scsh define-record

8 years agoBeerXML to xhtml
Clinton Ebadi [Mon, 24 Nov 2014 02:54:53 +0000 (21:54 -0500)]
BeerXML to xhtml

Brewtarget html output is bad. A first attempt at hacking together an
html generator for beerxml. Pretty incomplete, might serve as an
trivial base for something better.

8 years agoPainfully trivial automata
Clinton Ebadi [Mon, 24 Nov 2014 02:53:05 +0000 (21:53 -0500)]
Painfully trivial automata

8 years agoConverting old unused darcs scratch repo to git
Clinton Ebadi [Mon, 24 Nov 2014 02:51:42 +0000 (21:51 -0500)]
Converting old unused darcs scratch repo to git

I've got an entire two commits in my old scratch repo ... throwing
everything that has accumulated there and isn't *too* embarrasing into
a git repo.

Curse you magit for becoming better than darcsum.