Canticle is a command-line music/audio streaming application. It uses Blessed as front-end for youtube-dl and mplayer. Canticle is designed for streaming only and does not download media for off-line playback.
This software uses the MIT License.
Canticle has served me well for a good stretch of time even though I neglect doing work to improve it. If I were to put forth the effort to finish cleaning it up, it might even be something nice. Not sure if that'll ever happen. Occasionally dependencies will break this app; be patient, sometimes these things work themselves out.
- Uses the entire terminal window to provide a friendly user interface.
- Command console accepts text commands for managing playlists and playback.
- Add URL's from popular streaming sites such as YouTube to local playlists.
- Option to shuffle playback.
- Keyboard shortcuts for seeking through tracks. (0.0.3)
- Keyboard shortcuts for controlling in-app volume. (0.0.3)
- User specific options can be set in
~/.config/canticle/*.json
. (0.0.3) - Keyboard shortcuts for controlling playback. (0.0.3)
- (0.0.4) Command to validate that existing tracks in a playlist have valid streams.
- (0.0.4) Example:
validate playlist example
- (0.0.4) Maintenence script can optionally prune invalid tracks
- (0.0.4) Ability to import existing public YouTube playlists
- (0.0.4)
dj
andautoplay
commands for quickly starting playback - (0.0.4) Add tracks to playlists via CLI
- (0.0.4) WinAMP style title scroll in the Now Playing widget
- (0.0.4) Keyboard shortcuts for navigating playlist
PgUp
Select first track in playlistPgDn
Select last track in playlistHome
Move playlist selection up the number of visible tracksEnd
Move playlist selection down the number of visible tracks
- Published on yarn
- Switched to yarn for development
- File logging path can be set in user config under
logging
- Default
false
- Default
- Database file path can be set in user config
- Default
/home/$USER/.config/canticle/database.sql
- Default
- Interactive
help
command - Ability to delete tracks from the app
- mysql and postgres support.
- VIM Style keybindings.
- mpv and VLC support.
- Move tracks between playlists.
- Trash playlist that acts like a recycle bin.
- Export tracks to text file.
- Desktop notications.
- Time-weighted shuffle.
- A modern version of node (Developed using v8.9.3)
- mplayer
- sqlite3
sudo apt install mplayer
yarn global add canticle
- If it isn't already you'll need to put your yarn global bin in your
$PATH
.
Though there is some mouse support, Canticle is primarily controlled by text commands.
add playlist [name]
- add a new playlist to the playlist manageradd track [URL]
- add a new track to the open playlistadd tracks [playlist url]
- add tracks from a public YouTube playlist to the open playlistplay
- Opens a playlist, if a playist is open, play the highlighted trackplay [integer]
play track [integer]
- Opens a specific track in the playlist by indexplay [name]
play playlist [name]
- Opens a specific track in the playlist manager by name
shuffle
- Toggles track shufflingnext
- Highlight the next track to be playeddj
- Opens a playlist, enables shuffle, selects the next track, and starts playbackvalidate playlist [name]
validate each track in a playlistpause
- Toggle pausing playbackquit
- Quit the application
Esc
- Blur the command console (click in text area to reselect)Ctrl+c
- When command console is blurred exit the apphome
- Select first track in the open playlistend
- Select the last track in the open playlistPgUp
- Move playlist selection up the number of visible tracksPgDn
- Move playlist selection down the number of visible tracksRight Arrow
- Seek ahead in trackLeft Arrow
- Seek behind in trackUp Arrow
- Go back in command historyDown Arrow
- Go forward in command history or blank console
Inspired by mps-youtube
- MIT