1. Mechiel Lukkien
  2. playfs


# status

don't know, haven't tried using it in a while.  probably needs quite
some work.  don't expect it to work.

# intro

playfs - maintain play list and play audio files

typically mounted under /mnt/play.

        write commands to, such as "play", "stop", "pause", "next",
        "previous", "rewind" "repeat", "norepeat", "random",
        read events from, such as "done", "playing $path", "error
        $path $error" "stopped" "started"
        the playlist.  read the entire list from it (each line
        contains a path).  open with truncate to clear the list,
        write to it to add to the list.  read back in the order the
        elements were written
        current status of player: started, stopped, paused, or
        playing $path
        offset (in line numbers) in playlist, starts at 0.  index
        to orderlist.  readable and writable.
        playlist in order of being played.  when playing in "norandom"
        order, this will be the same as the contents of /list.  when
        playing random, this is the shuffled list.  note that only
        /list is writable, /orderlist is read-only.

# install

make sure you have $ROOT set, now "mk" to compile and
"mk install" to install the files.

when building from within inferno, insert SYSHOST=Inferno and ROOT=
in the mk invocations to override the values in the mkconfig.

# licence & author

this code is in the public domain, written by mechiel lukkien,
reachable at mechiel@ueber.net or mechiel@xs4all.nl.

# todo

- think about an acme program, mostly commands that say "play" "stop" etc.
- manual pages, eventually

# testing

- /offset writable
- add mp3dec or play to this hg repo
- read audio data and write to /dev/audio ourselves, allows implementing pause 
- somehow allow user to read currently position in playlist file? (file "offset")
- allow reading of the playlist in played order (not order of adding) (orderlist)
- give better status info in playview
- status file showing current status?
- better status messages, say what is playing.  add state to events fid when opened?
	* played path
	* error path err (quoted)
	* done (nothing more to play)
	* playing path (started playing path)
	* stopped (got a stop request or this is read when opening events file)
	* started (got a play request)
	* paused