b3d3ec917add0a8c8625afb2f6a8214df6ef96cd
[paraslash.git] / afs.cmd
1 OF: afs_command_list
2 SF: afs.c aft.c attribute.c
3 HC: Prototypes for the commands of the audio file selector.
4 CC: Array of commands for the audio file selector.
5 AT: server_command
6 IN: para afh server list user_list
7 SN: list of afs commands
8 TM: mood lyr img pl
9 ---
10 N: add
11 P: AFS_READ | AFS_WRITE
12 D: Add new audio files to the database.
13 U: add [-l] [-f] [-v] path1 ...
14 H: Each given path may be either the full path to an audio file, or the full path
15 H: of a directory. In case of a directory, all audio files in that directory
16 H: are added recursivly.
17 H:
18 H: Options:
19 H:
20 H: -l   Add files lazily. If a file already exists in the database, skip this file.
21 H:      This operation is really cheap. Use it when adding large directories if only a
22 H:      few files where added.
23 H:
24 H:-f    Force adding/updating. Recompute the audio format handler data
25 H:      even if a file with the same path and the same hash value exists.
26 H:
27 H: -v   Verbose mode. Print what is being done.
28 ---
29 N: init
30 P: AFS_READ | AFS_WRITE
31 D: Initialize the osl tables for the audio file selector.
32 U: init [table_name ...]
33 H: When invoked without arguments, this command creates all tables. Otherwise
34 H: only the tables given by table_name... are created.
35 ---
36 N: afs_ls
37 P: AFS_READ
38 D: List audio files.
39 U: ls [-l[s|l|v|m]] -p -a -r -s{p|s|l|n|f|c|i|y|b|d|a} [pattern ...]
40 H: Print a list of all audio files matching pattern.
41 H:
42 H: Options:
43 H: -l   Change listing mode. Defaults to short listing if not given.
44 H:      -ls: short listing mode
45 H:      -ll: long listing mode (equivalent to -l)
46 H:      -lv: verbose listing mode
47 H:      -lm: mbox listing mode
48 H:
49 H: -p   List full path of audio file. If not specified, only the basename
50 H:      of each file is printed.
51 H:
52 H: -a   List only file that are admissible with respect to the current mood or
53 H:      playlist.
54 H:
55 H: -r   Reverse sort order.
56 H:
57 H: -s   Change sort order. Defaults to alphabetical path sort if not given.
58 H:      -sp:  sort by path.
59 H:      -sl:  sort by last played time.
60 H:      -ss:  sort by score (implies -a).
61 H:      -sn:  sort by number of times the file was played.
62 H:      -sf:  sort by frequency.
63 H:      -sc:  sort by number of channels.
64 H:      -si:  sort by image id.
65 H:      -sy:  sort by lyrics id.
66 H:      -sb:  sort by bitrate.
67 H:      -sd:  sort by duration.
68 H:      -sa:  sort by audio format.
69 ---
70 N: lsatt
71 P: AFS_READ
72 D: List attributes
73 U: lsatt [-a] [-l]
74 H:
75 H: Print the list of all defined attributes.
76 H:
77 H: Options:
78 H: -a   Sort attributes alphabetically by name. The default is to sort by
79 H:      identifier.
80 H:
81 H: -l   Print a long listing containing both identifier and attribute name. The
82 H:      default is to print only the name.
83 ---
84 N: setatt
85 P: AFS_READ | AFS_WRITE
86 D: Set attribute(s) for all files matching a pattern.
87 U: setatt attribute1{+|-} [attribute2{+|-}...] pattern
88
89 H: Set ('+') or unset ('-') the given attributes for all audio files matching
90 H: pattern.  Example:
91 H:
92 H:         sa rock+ punk+ classic- '*foo.mp3'
93 H:
94 H: sets the 'rock' and the 'punk' attribute but unsets the 'classic'
95 H: attribute of all files ending with 'foo.mp3'.
96 ---
97 N: addatt
98 P: AFS_READ | AFS_WRITE
99 D: Add new attribute(s).
100 U: addatt attribute1 [attribute2 ...]
101 H: This adds new attributes to the attribute table. At most 64 attributes
102 H: may be defined.
103 ---
104 N: check
105 P: AFS_READ
106 D: Run integrity checks for the osl tables.
107 U: check [-a] [-m] [-p]
108 H: FIXME
109 ---
110 N: rmatt
111 P: AFS_READ | AFS_WRITE
112 D: FIXME
113 U: FIXME
114 H: FIXME
115 ---
116 N: afs_rm
117 P: AFS_READ | AFS_WRITE
118 D: FIXME
119 U: FIXME
120 H: FIXME
121 ---
122 N: touch
123 P: AFS_READ | AFS_WRITE
124 D: Manupulate the afs data for all audio files matching a pattern.
125 U: touch [-n numplayed] [-l lastplayed] [-y lyrics_id] [-i image_id] pattern
126 If neither of the optional options is given, lastplayed is set to the current
127 time and numplayed is increased by one. Otherwise, only the given options are
128 taken into account.
129 Options:
130 H: -n   Set numplayed count. The number of times afs has selected this
131 H:      audio file for streaming.
132 H:
133 H: -l   Set lastplayed time. The last time this audio file was selected.
134 H:      Must be given as the number of sectonds since the epoch. Example:
135 H:
136 H:              touch -l $(date +%s) file
137 H:
138 H:      sets the lastplayed time of 'file' to the current time
139 H:
140 H: -y   Set the lyrics id. Specify the lyrics data file associated with
141 H:      this audio file.
142 H:
143 H: -i   Set the image id. Same as -y, but sets the image.
144 ---
145 T: add
146 N: add@member@
147 O: int com_add@member@(int fd, int argc, char * const * const argv);
148 P: AFS_READ | AFS_WRITE
149 D: FIXME
150 U: add@member@ @member@_name
151 H: FIXME
152 ---
153 T: cat
154 N: cat@member@
155 O: int com_cat@member@(int fd, int argc, char * const * const argv);
156 P: AFS_READ
157 D: FIXME
158 U: cat@member@ @member@_name
159 H: FIXME
160 ---
161 T: ls
162 N: ls@member@
163 O: int com_ls@member@(int fd, int argc, char * const * const argv);
164 P: AFS_READ
165 D: FIXME
166 U: ls@member@ pattern
167 H: FIXME
168 ---
169 T: rm
170 N: rm@member@
171 O: int com_rm@member@(int fd, int argc, char * const * const argv);
172 P: AFS_READ | AFS_WRITE
173 D: FIXME
174 U: rm@member@ @member@_name
175 H: FIXME
176 ---
177 T: mv
178 N: mv@member@
179 O: int com_mv@member@(int fd, int argc, char * const * const argv);
180 P: AFS_READ | AFS_WRITE
181 D: FIXME
182 U: mv@member@ old_@member@_name new_@member@_name
183 H: FIXME