Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/axelson/piano_ex
https://github.com/axelson/piano_ex
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/axelson/piano_ex
- Owner: axelson
- Created: 2018-12-16T17:30:21.000Z (about 6 years ago)
- Default Branch: main
- Last Pushed: 2023-04-29T23:41:41.000Z (over 1 year ago)
- Last Synced: 2024-12-16T00:47:30.345Z (about 1 month ago)
- Language: C
- Size: 924 KB
- Stars: 3
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PianoEx
A simple Pandora player visualizer and controller.
![Screenshot](screenshot.png)
Rough diagram
```
pianobar -> command.sh -> PianoCtl.PianoInputReader
beam_notify |
v
PianoCtl.Server -> PianoUi
```To test:
./test-example.sh
In IEx run `PianoCtl.Notifier.create_script` to create the command.sh script
## TODO
- [ ] Clean up the parsing code (rather hacky right now)
- [ ] Gracefully handle when the image cannot be downloaded (should have a placeholder)
- [x] Cover art should be resized to fit
- [ ] Extract text into a separate scene
- [x] Find a good name for the Splash sceneDone:
- [x] Change PianoParser to be able to accurately detect events
- [x] Display the current song in the scenic scene
- [x] Nodes should be configured from config
- [x] Fetch and display cover art
- [x] write the OS pid to `~/.config/pianobar/piano_ctl_pid`
- [x] command.sh should check the pid, and only write to the pipe if the process is still running
- [x] Add play/pause and next buttons
- [x] PianoCtl.CommandRunner is broken
- [x] Tap on cover art to hide## EventCmd format
```
event_name # The event name
# An empty line
attr1=val1 # A list of attrs
attr2=val2
attr2=val2
attr2=val2
# Another empty line
```Examples:
songstart
// time passes
songfinishstationfetchplaylist
songstart