README (1366B)
1 Audio Player (ap) 2 3 The backbone of the project is aps; the server. Despite it's name, 4 aps does not play audio. It manages a list, a process, and, of 5 course, it's clients. It's works like this: If there is no player 6 process, execute the player program with the next list item as it's 7 final argument. Here is an example of a conversation between a 8 client (C>) and the server (S>) with comments after '#' explaining 9 things: 10 11 C> status # Send the status command. 12 S> running # The content of the response, 13 S> ok # then the status. 14 C> volume 100 # Another command. 15 S> error: Command not found # No body; an error status 16 17 The client is very powerful despite not knowing anything about the 18 server besides how to communicate with it. This is partly because 19 the server does so much heavy lifting, and partly because the client 20 works well in conjunction with itself and other programs. Here are 21 some examples of what it can do and how it's used: 22 23 Add files from 'playlist' to the queue: 24 25 $ apc add ^ < playlist 26 27 Keep only items which end in ogg or flac: 28 29 $ apc remove '!/(ogg|flac)$' 30 31 Change the player to ogg123(1): 32 33 $ apc player ogg123 -q 34 35 Sort the queue: 36 37 $ apc list | sort | apc truncate ^ 38 39 Reorder the queue (so that items matching "/pattern" are next): 40 41 $ apc remove /pattern | apc add ^