SqueezeButtonPi is a tool some of you might find useful if you are trying to build a Raspberry Pi based Squeezebox player and you want to use various buttons or rotary encoders.
It's currently a bit limited - only supports playback control commands without feedback (play, pause, power, skip, volume) but it could easily be extended to take server feedback and support things like "favorites" although for the latter someone should take the time to create a "hold" gesture detection for a button, something I didn't have the time for so far. One nice feature is that it's able to autodetect a common Squeezebox setup so you often don't need to manually configure the MAC, the server etc. and it can do automatic server switching. MAIN FEATURES: - Supports buttons and rotary encoders - Can be run as a daemon at startup and is fully command-line configurable - Automatically detects the MAC address of your RPi (or you can configure it manually) - Automatically detects what server your player is connected to and switches the server if your player does so it can be used in multi-server setups without a configuration change - can use authenticating servers, although only with manual username/password configuration Here's the source code and more documentation: https://github.com/coolio107/SqueezeButtonPi-Daemon USAGE: Code: -------------------- sbpd [OPTION...] [e,pin1,pin2,CMD,edge] [b,pin,CMD,edge...] -------------------- Options arguments: Code: -------------------- -A, --address=Server-Address Set server address. Default: autodetect -M, --mac=MAC-Address Set MAC address of player. Deafult: autodetect -p, --password=password Set password for server. Default: none -P, --port=xxxx Set server control port. Default: autodetect -u, --username=user name Set user name for server. Default: none -d, --daemonize Daemonize -k, --kill Kill daemon -s, --silent Don't produce output -v, --verbose Produce verbose output -?, --help Give this help list --usage Give a short usage message -V, --version Print program version -------------------- Non-Option arguments. At least one needs to be specified for the daemon to do anything useful Arguments are a comma-separated list of configuration parameters: Code: -------------------- For rotary encoders (one, volume only): e,pin1,pin2,CMD\[,edge\] "e" for "Encoder" p1, p2: GPIO PIN numbers in BCM-notation CMD: Command. Unused for encoders, always VOLM for Volume edge: Optional. one of 1 - falling edge 2 - rising edge 0, 3 - both For buttons: b,pin,CMD\[,edge\] "b" for "Button" pin: GPIO PIN numbers in BCM-notation CMD: Command. One of: PLAY: Play/pause PREV: Jump to previous track NEXT: Jump to next track VOL+: Increase volume VOL-: Decrease volume POWR: Toggle power state edge: Optional. one of 1 - falling edge 2 - rising edge 0, 3 - both -------------------- --- learn more about iPeng, the iPhone and iPad remote for the Squeezebox and Logitech UE Smart Radio as well as iPeng Party, the free Party-App, at penguinlovesmusic.com *New: iPeng 9, the Universal App for iPhone, iPad and Apple Watch* ------------------------------------------------------------------------ pippin's Profile: http://forums.slimdevices.com/member.php?userid=13777 View this thread: http://forums.slimdevices.com/showthread.php?t=107001 _______________________________________________ diy mailing list diy@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/diy