Blob


1 # amused
3 amused is a music player. It doesn't have any amazing functionalities
4 built-in, on the contrary: it's quite minimal (a fancy word to say that
5 does very little.) It composes well, or aims to do so, with other tools
6 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 that you bundle a copy of imsg.c
16 too)
19 ## building
21 $ make
23 it needs the following packages from ports:
25 - flac
26 - libmad
27 - libvorbis
28 - opusfile
30 Release tarballs installs into `/usr/local/`, git checkouts installs
31 into `~/bin` (idea and implementation stolen from got, thanks stsp!)
34 ## usage
36 The fine man page has all nitty gritty details, but the TL;DR is
38 - enqueue music with `amused add files...`
39 - control the playback with `amused play|pause|toggle|stop` etc
41 amused tries to be usable in composition with other more familiar tools
42 instead of providing everything itself. For instance, there isn't a
43 command to remove an item from the playlist, or shuffle it; instead,
44 standard UNIX tools can be used:
46 $ amused show | grep -vi kobayashi | amused load
47 $ amused show | sort -R | amused load
48 $ amused show | sort | uniq | amused load
50 It also doesn't provide any means to manage a music collection. It
51 plays nice with find(1) however:
53 find . -type f -iname \*.opus -exec amused add {} +
55 Well, for these kinds of things I wrote a wrapper around find called
56 walk that provides 80% of what I do with find in 20% of the characters:
58 walk \*.opus amused add
60 but you got the idea (walk lives in my
61 [dotfiles](//git.omarpolo.com/dotsnew).)