U: add [-l] [-f] [-v] path1 ...
H: Each given path may be either the full path to an audio file, or the full path
H: of a directory. In case of a directory, all audio files in that directory
-H: are added recursivly.
+H: are added recursively.
H:
H: Options:
H:
---
N: init
P: AFS_READ | AFS_WRITE
-D: FIXME
-U: FIXME
-H: FIXME
+D: Initialize the osl tables for the audio file selector.
+U: init [table_name ...]
+H: When invoked without arguments, this command creates all tables. Otherwise
+H: only the tables given by table_name... are created.
---
N: afs_ls
P: AFS_READ
P: AFS_READ
D: List attributes
U: lsatt [-a] [-l]
-H:
+H:
H: Print the list of all defined attributes.
-H:
+H:
H: Options:
-H: -a Sort attributes alphabetically by name. The default is to sort by attribute
-H: identifier.
-H:
-H: -l Print a long listing containing both identifier and attribute name. The
-H: default is to print only the name.
+H: -a Sort attributes alphabetically by name. The default is to sort by
+H: identifier.
+H:
+H: -l Print a long listing containing both identifier and attribute name. The
+H: default is to print only the name.
---
N: setatt
P: AFS_READ | AFS_WRITE
-D: FIXME
-U: FIXME
-H: FIXME
+D: Set attribute(s) for all files matching a pattern.
+U: setatt attribute1{+|-} [attribute2{+|-}...] pattern
+
+H: Set ('+') or unset ('-') the given attributes for all audio files matching
+H: pattern. Example:
+H:
+H: sa rock+ punk+ classic- '*foo.mp3'
+H:
+H: sets the 'rock' and the 'punk' attribute but unsets the 'classic'
+H: attribute of all files ending with 'foo.mp3'.
---
N: addatt
P: AFS_READ | AFS_WRITE
-D: FIXME
-U: FIXME
+D: Add new attribute(s).
+U: addatt attribute1 [attribute2 ...]
+H: This adds new attributes to the attribute table. At most 64 attributes
+H: may be defined.
+---
+N: check
+P: AFS_READ
+D: Run integrity checks for the osl tables.
+U: check [-a] [-m] [-p]
H: FIXME
---
N: rmatt
---
N: touch
P: AFS_READ | AFS_WRITE
-D: FIXME
-U: FIXME
-H: FIXME
+D: Manupulate the afs data for all audio files matching a pattern.
+U: touch [-n numplayed] [-l lastplayed] [-y lyrics_id] [-i image_id] pattern
+If neither of the optional options is given, lastplayed is set to the current
+time and numplayed is increased by one. Otherwise, only the given options are
+taken into account.
+Options:
+H: -n Set numplayed count. The number of times afs has selected this
+H: audio file for streaming.
+H:
+H: -l Set lastplayed time. The last time this audio file was selected.
+H: Must be given as the number of sectonds since the epoch. Example:
+H:
+H: touch -l $(date +%s) file
+H:
+H: sets the lastplayed time of 'file' to the current time
+H:
+H: -y Set the lyrics id. Specify the lyrics data file associated with
+H: this audio file.
+H:
+H: -i Set the image id. Same as -y, but sets the image.
+---
+T: add
+N: add@member@
+O: int com_add@member@(int fd, int argc, char * const * const argv);
+P: AFS_READ | AFS_WRITE
+D: Read data from stdin and add it as a blob to an osl table.
+U: add@member@ @member@_name
+H: Each command of this family reads arbitrary binary data from stdin and sends
+H: that data to the audio file selector process. The afs process then creates a
+H: new blob for the data in the corresponding osl table. Example:
+H:
+H: addimg foo.jpg < bar.jpg
+H:
+H: adds the contents of the file 'bar.jpg' as a blob named 'foo.jpg' to the image
+H: table. The names of the blobs of a table must be unique, i.e. it is an error
+H: if an entry named 'foo.jpg' already exists.
---
T: cat
N: cat@member@
O: int com_cat@member@(int fd, int argc, char * const * const argv);
P: AFS_READ
-D: FIXME
+D: Dump the contents of a blob to stdout.
U: cat@member@ @member@_name
-H: FIXME
+H: These commands may be used to retrieve the blob identified by the given name from
+H: the corresponding osl table to which they were previously added.
---
T: ls
N: ls@member@
O: int com_ls@member@(int fd, int argc, char * const * const argv);
P: AFS_READ
-D: FIXME
-U: cat@member@ <pattern>
-H: FIXME
+D: List blobs of an osl table matching a pattern.
+U: ls@member@ [-v] [pattern]
+H: Print a list of the names of all blobs in the corresponding osl table which
+H: match the given pattern. If no pattern is given, the full list is printed. If
+H: the optional -v pattern is given, the blob id is printed as well.
---
T: rm
N: rm@member@
O: int com_rm@member@(int fd, int argc, char * const * const argv);
P: AFS_READ | AFS_WRITE
-D: FIXME
-U: rm@member@ @member@_name
-H: FIXME
+D: Remove blob(s) from an osl table.
+U: rm@member@ pattern...
+H: Remove all blobs from the corresponding table which match any given pattern.
---
T: mv
N: mv@member@
O: int com_mv@member@(int fd, int argc, char * const * const argv);
P: AFS_READ | AFS_WRITE
-D: FIXME
+D: Rename a blob.
U: mv@member@ old_@member@_name new_@member@_name
-H: FIXME
+H: Rename the blob identified by the first name as the second name.