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
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
11 various 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
14 too by providing shims for some non-portable functions -- hello
15 libbsd -- and assuming that sndio is available. Oh, and that you
16 bundle a copy of imsg.c 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
42 tools instead of providing everything itself. For instance, there
43 isn't a command to remove an item from the playlist, or shuffle it;
44 instead, 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 (walk lives in my [dotfiles](//git.omarpolo.com/dotsnew))