Blob


1 # amused
3 amused is a music player. It doesn't have any amazing features
4 built-in, on the contrary: it's quite minimal (a fancy word to say
5 that does very little.) It composes well, or aims to do so, with
6 other tools thought.
8 The main feature is that audio decoding runs in a sandboxed process
9 under `pledge("stdio recvfd audio")`. Oh, by the way, amused targets
10 OpenBSD only: it relies its make infrastructure to build, uses various
11 cool stuff from its libc and can output only to sndio.
13 (I *think* it's possible to compile it on other UNIX-like systems too by
14 providing shims for some non-portable functions -- hello libbsd -- and
15 assuming that sndio is available. And bundling a copy of imsg.c too)
18 ## Building
20 $ make
21 $ make install # eventually
23 Release tarballs installs into `/usr/local/`, git checkouts installs
24 into `~/bin` (idea and implementation stolen from got, thanks stsp!)
26 It needs the following packages from ports:
28 - flac
29 - libmpg123
30 - libvorbis
31 - opusfile
33 It's available on the OpenBSD port tree starting with 7.1
36 ## Usage
38 The fine man page has all nitty gritty details, but the TL;DR is
40 - enqueue music with `amused add files...`
41 - control the playback with `amused play|pause|toggle|stop` etc
43 amused tries to be usable in composition with other more familiar tools
44 instead of providing everything itself. For instance, there isn't a
45 command to remove an item from the playlist, or shuffle it; instead,
46 standard UNIX tools can be used:
48 $ amused show | grep -vi kobayashi | amused load
49 $ amused show | sort -R | amused load
50 $ amused show | sort | uniq | amused load
52 It also doesn't provide any means to manage a music collection. It
53 plays nice with find(1) however:
55 find . | amused load
57 I wrote a bit more about the background of amused [in a blog
58 post](https://www.omarpolo.com/post/amused.html).