1 .\" Copyright (c) 2022 Omar Polo <op@openbsd.org>
3 .\" Permission to use, copy, modify, and distribute this software for any
4 .\" purpose with or without fee is hereby granted, provided that the above
5 .\" copyright notice and this permission notice appear in all copies.
7 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
31 is a music player daemon and command-line utility to plays music.
32 The server is started automatically in the background on demand.
34 The following options are available:
39 will run in the foreground and log to standard error.
40 It's ignored if any commands are given on the command line or if the
41 server is already running.
43 Produce more verbose output.
47 instead of the default
49 to communicate with the daemon.
50 .It Ar command Op Ar argument ...
51 Specify the command to run.
52 If no commands are specified,
57 The following commands are available:
60 Enqueue the given files.
63 .It Cm jump Ar pattern
64 Play the first song in the playing queue that matches
66 .Pq a basic case-insensitive regexp .
67 .It Cm load Op Ar file
71 A playlist is a list of paths to music files given one per line
72 and optionally prefixed by
75 If the list was generated by
78 restores also the position in the playlist, otherwise if already playing
79 something tries to match the currently playing song in the new list.
80 Failing that, the playlist will be played from the first track onwards.
81 .It Cm monitor Op Ar events
82 Stop indefinitely and print when an event in the comma-separated list of
84 happened, or all if not given.
89 .Bl -tag -compact -width unknown
91 Playing or resuming a song.
97 Advanced to next song.
99 Gone back to previous song.
101 Jumped to a different song in the playlist.
103 Added a song to the playlist.
105 Loaded a new playlist.
107 Seeked in the current track.
116 Start or resume the playback.
118 Play the previous song.
119 .It Cm repeat one|all on|off
120 Enable or disable the automatic repetition of the current track
122 or of the whole playing queue
125 Rewind the current song to the beginning.
130 .It Cm seek Oo Oo Ar hours : Oc Ns Ar minutes : Oc Ns Ar seconds | Ar percentage Ns %
131 Seek by the specified amount of time into the current song.
132 If the argument is prefixed by either
136 then the seek is done relative to the current position.
138 Print the current playlist.
143 list with the current playing song prefixed by
145 .It Cm status Op Fl f Ar format
146 Print playback status and current song.
149 is a comma-separated list of words that select the information to
152 .Ev AMUSED_STATUS_FORMAT
154 .Dq status,time,repeat
156 The format available are:
158 .Bl -tag -compact -width time:percentage
160 Path of the current song
162 Repeat status in a single line.
164 Repeat all and repeat one status, one per line.
166 Playback status by the path to the current song.
168 Position and duration in a single line.
170 Percentage of the current position.
172 Current position and duration in seconds.
174 Current position and duration in a human-readable format.
177 Stop the music player.
179 Play/pause the playback.
182 Commands can be abbreviated to a unique prefix, for example
184 can be given instead of
188 automatically skips and removes from the playlist non-regular files by
190 Files with non recognized audio format are skippend and removed from
193 .Bl -tag -width AMUSED_STATUS_FORMAT
194 .It Ev AMUSED_STATUS_FORMAT
195 The default format used by
200 .Bl -tag -width "/tmp/amused-$UID" -compact
201 .It Pa /tmp/amused-$UID
203 socket used for communication with the daemon.
206 Enqueue all mp3 files in the current directory:
207 .Bd -literal -offset indent
211 Recursively add all opus files:
212 .Bd -literal -offset indent
213 $ find . -type f -iname \\*.opus -exec amused add {} +
216 Load every file under the current directory recursively:
217 .Bd -literal -offset indent
218 $ find . | amused load
221 Save the state of the player to the file
223 .Bd -literal -offset indent
224 $ amused show -p > state
227 Load a previous state:
228 .Bd -literal -offset indent
229 $ amused load < state
232 Shuffle the playlist:
233 .Bd -literal -offset indent
234 $ amused show | sort -R | amused load
238 .Bd -literal -offset indent
239 $ amused show | sort | uniq | amused load
244 .Bd -literal -offset indent
245 $ amused jump "$(amused show | fzf +s)"
251 utility was written by
252 .An Omar Polo Aq Mt op@openbsd.org .