.TH HTTP-MUSIC-PLAY 1 .SH NAME http-music-play - plays audio from a playlist file .SH SYNOPSIS .B http-music play [opts...] .SH DESCRIPTION Plays audio referenced from a playlist file. Tracks selected using a "picker" (see \fB--picker\fR) and retrieved using a "downloader" (see \fB--downloader\fR). Downloaded tracks are played with either the \fBmpv\fR (default) or \fBplay\fR (from SoX) command. .SH KEYBOARD CONTROLS .TP .BR Skips backwards 5 seconds in the currently playing track; hold shift to skip by 30 seconds. (Requires MPV player.) .TP .BR Skips forwards 5 seconds in the currently playing track; hold shift to skip by 30 seconds. (Requires MPV player.) .TP .BR Turns the volume up a 10%-notch. Unfortunately, at present, the volume setting is NOT kept across tracks. You'll need to adjust your audio volume whenever a new song starts. (If possible, it might be better just to opt for changing the system volume.) (Requires MPV player.) .TP .BR Turns the volume down 10%. (Requires MPV player.) .TP .BR Pauses (or resumes) playback. (Requires MPV player.) .TP .BR i Shows information (title, URL/path) on the currently playing track. (\fBt\fR also works.) .TP .BR q Quits the http-music process and stops music currently being played. (\fB^C\fR and \fB^D\fR also work.) .TP .BR s Skips the currently playing track. .SH OPTIONS .TP .BR \-c ", " \-\-clear Clears the active playlist. This does not effect the source playlist, so specific groups can be selected using \fB\-\-keep\fR. .TP .BR \-h ", " \-? ", " \-\-help Presents a help message, directing the user to the \fBman\fR page. If this is the last option used, nothing plays (see \fB\-\-play\fR). .TP .BR \-k ", " \-\-keep " \fIgroupPath\fR" Keeps a group by adding it from the source playlist. This is usually useful after clearing the active playlist (\fB\-\-clear\fR); it can also be used to keep a sub-group after removing an entire parent group, e.g. \fB-r foo -k foo/baz\fR. .TP .BR \-l ", " \-\-list\-groups ", " \-\-list Lists all groups (but not tracks) in the (active) playlist. If this is the last option used, nothing plays (see \fB\-\-play\fR). .TP .BR \-L ", " \-\-list\-all ", " \-\-list\-tracks Lists all groups and tracks in the (active) playlist. If this is the last option used, nothing plays (see \fB\-\-play\fR). .TP .BR \-\-loop\-mode ", " \-\-loop Sets the mode by which the playback order list is looped (typically, what happens when the picker's index counter gets to the end of the list). Valid options include \fBno-loop\fR (or \fBno\fR), \fBloop-same-order\fR (or \fBloop\fR), \fBloop-regenerate\fR (the default), and \fBpick-random\fR. See also \fB\-\-sort\-mode\fR. .TP .BR \-np ", " \-\-no\-play Forces the playlist not to play. See also \fB\-\-play\fR. .TP .BR \-o ", " \-\-open\-playlist ", " \-\-open " \fIplaylistFile\fR" Opens a specific file to be used as the playlist file. (This sets the source playlist.) The default playlist file used upon loading is \fBplaylist.json\fR (in the same directory as \fBhttp-music\fR is being run in). .TP .BR \-\-picker ", " \-\-selector " \fIpickerType\fR" Sets the picker type used for selecting tracks from the active playlist. The default is \fBshuffle\fR. .TP .BR \-p ", " \-\-play Forces the playlist to actually play, regardless of options such as \fB\-\-list\fR. See also \fB\-\-no\-play\fR. .TP .BR \-\-player " \fIplayer" Selects the mode by which audio is played. Valid options include "mpv" and "sox" (or "play"). Most playback controls only work with the "mpv" player, but the "sox"/"play" player is typically much more easy to (and commonly) install than "mpv". The default is \fBmpv\fR, but \fBsox\fR will be used if mpv is not installed. .TP .BR \-\-print\-playlist ", " \-\-log-playlist ", " \-\-json Prints the JSON representation of the active playlist to the console. .TP .BR \-r ", " \-\-remove ", " \-x " \fIgroupPath\fR" Removes a group from the (active) playlist. .TP .BR \-\-sort\-mode ", " \-\-sort Sets the mode by which the playback order list is sorted. Valid options include \fBorder\fR, \fBshuffle\fR (the default), and \fBshuffle-top-level\fR (or \fBshuffle-groups\fR). See also \fB\-\-loop\-mode\fR. .TP .BR \-w ", " \-\-write\-playlist ", " \-\-write ", " \-\-save " \fIfilePath\fR" Writes the active playlist to a file. This file can later be used with \fB\-\-open\fR; you won't need to stick in all the filtering options again. .SH EXAMPLES Basic usage: .PP .nf .RS $ http-music play .RE .fi .PP Generate a playlist from an HTTP server: .PP .nf .RS $ http-music crawl-http http://example.com/path > playlist.json .RE .fi .PP Generate a playlist from the local file system: .PP .nf .RS $ http-music crawl-local /example/path > playlist.json .RE .fi .PP Open a specific playlist file: .PP .nf .RS $ http-music play --open playlist2.json $ http-music play -o playlist2.json .RE .fi .PP Only play music under a specific group: .PP .nf .RS $ http-music play --clear --keep 'Cool Author 72' $ http-music play -c -k 'Cool Author 72' $ http-music play -c -k 'Cool Author 72/Good Album' .RE .fi .PP Don't play music under a specific group: .PP .nf .RS $ http-music play --remove 'Bad News' $ http-music play -r 'Bad News' $ http-music play -x 'Bad News' .RE .fi .PP Don't play music under a specific group, except for a sub-group: .PP .nf .RS $ http-music play --remove 'Bad News' --keep 'Bad News/Irony' $ http-music play -x 'Cool Author 72' -k 'Cool Author 72/Good Album' .RE .fi