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
85 By default logs every event.
88 are triggered either by other instances of
90 issuing commands or the player itself anvancing through the playing
92 The events name take after the command name that generates it, e.g.\&
101 Start or resume the playback.
103 Play the previous song.
104 .It Cm repeat one|all on|off
105 Enable or disable the automatic repetition of the current track
107 or of the whole playing queue
110 Rewind the current song to the beginning.
115 .It Cm seek Oo Oo Ar hours : Oc Ns Ar minutes : Oc Ns Ar seconds | Ar percentage Ns %
116 Seek by the specified amount of time into the current song.
117 If the argument is prefixed by either
121 then the seek is done relative to the current position.
123 Print the current playlist.
128 list with the current playing song prefixed by
130 .It Cm status Op Fl f Ar format
131 Print playback status and current song.
134 is a comma-separated list of words that select the information to
137 .Ev AMUSED_STATUS_FORMAT
139 .Dq status,time,repeat
141 The format available are:
143 .Bl -tag -compact -width time:percentage
145 Path of the current song
147 Repeat status in a single line.
149 Repeat all and repeat one status, one per line.
151 Playback status by the path to the current song.
153 Position and duration in a single line.
155 Percentage of the current position.
157 Current position and duration in seconds.
159 Current position and duration in a human-readable format.
162 Stop the music player.
164 Play/pause the playback.
167 Commands can be abbreviated to a unique prefix, for example
169 can be given instead of
173 automatically skips and removes from the playlist non-regular files by
175 Files with non recognized audio format are skippend and removed from
178 .Bl -tag -width AMUSED_STATUS_FORMAT
179 .It Ev AMUSED_STATUS_FORMAT
180 The default format used by
185 .Bl -tag -width "/tmp/amused-$UID" -compact
186 .It Pa /tmp/amused-$UID
188 socket used for communication with the daemon.
191 Enqueue all mp3 files in the current directory:
192 .Bd -literal -offset indent
196 Recursively add all opus files:
197 .Bd -literal -offset indent
198 $ find . -type f -iname \\*.opus -exec amused add {} +
201 Load every file under the current directory recursively:
202 .Bd -literal -offset indent
203 $ find . | amused load
206 Save the state of the player to the file
208 .Bd -literal -offset indent
209 $ amused show -p > state
212 Load a previous state:
213 .Bd -literal -offset indent
214 $ amused load < state
217 Shuffle the playlist:
218 .Bd -literal -offset indent
219 $ amused show | sort -R | amused load
223 .Bd -literal -offset indent
224 $ amused show | sort | uniq | amused load
229 .Bd -literal -offset indent
230 $ amused jump "$(amused show | fzf +s)"
236 utility was written by
237 .An Omar Polo Aq Mt op@openbsd.org .