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
131 Print playback status and current song.
133 Stop the music player.
135 Play/pause the playback.
138 Commands can be abbreviated to a unique prefix, for example
140 can be given instead of
144 skips non-regular or not supported audio file found in the playing
145 queue implicitly and advances to the next item.
147 .Bl -tag -width "/tmp/amused-$UID" -compact
148 .It Pa /tmp/amused-$UID
150 socket used for communication with the daemon.
153 Enqueue all mp3 files in the current directory:
154 .Bd -literal -offset indent
158 Recursively add all opus files:
159 .Bd -literal -offset indent
160 $ find . -type f -iname \\*.opus -exec amused add {} +
163 Load every file under the current directory recursively:
164 .Bd -literal -offset indent
165 $ find . | amused load
168 Save the state of the player to the file
170 .Bd -literal -offset indent
171 $ amused show -p > state
174 Load a previous state:
175 .Bd -literal -offset indent
176 $ amused load < state
179 Shuffle the playlist:
180 .Bd -literal -offset indent
181 $ amused show | sort -R | amused load
185 .Bd -literal -offset indent
186 $ amused show | sort | uniq | amused load
191 .Bd -literal -offset indent
192 $ amused jump "$(amused show | fzf +s)"
198 utility was written by
199 .An Omar Polo Aq Mt op@openbsd.org .