[suite server_cmd] caption = list of server commands aux_info_prefix = Permissions: [introduction] The server process listens on a network socket and accepts connections from para_client or para_audiod. For the connection to succeed the connecting peer must authenticate as one of the users stored in the user table of para_server. Each entry of the user table contains the set of permission bits that are granted to the user. Authenticated users may execute one of the commands below if the set of permission bits of the command is a subset of the permission bits that are granted to the user. [/introduction] [subcommand add] purpose = add or update audio files non-opts-name = path... aux_info = AFS_READ | AFS_WRITE [description] Each path must be absolute and refer to either an audio file or a directory. In case of a directory, all audio files in that directory are added recursively. Note that the given paths refer to files or directories on the host on which para_server is running. [/description] [option all] short_opt = a summary = add all files [help] The default is to add only files ending in a known suffix for a supported audio format. [/help] [option lazy] short_opt = l summary = add files lazily [help] If the path already exists in the database, skip this file. This operation is really cheap. Useful to update large directories after some files have been added. [/help] [option force] short_opt = f summary = force adding/updating [help] Recompute the audio format handler data even if a file with the same path and the same hash value exists. [/help] [option verbose] short_opt = v summary = enable verbose mode [help] Print what is being done. [/help] [subcommand check] purpose = run integrity checks on database tables aux_info = AFS_READ [description] If no options are given, all checks are run. [/description] [option aft] short_opt = a summary = run audio file table checks [help] Report stale paths and invalid image and lyrics ids of the audio file table. [/help] [option attribute] short_opt = A summary = check for invalid attributes [help] Report audio files whose attribute bitmask is invalid, i.e., has a bit set which does not correspond to any attribute of the attribute table. [/help] [option mood] short_opt = m summary = check for invalid mood definitions [help] Run syntax checks on all moods of the mood table. [/help] [option playlist] short_opt = p summary = find invalid paths in playlists [help] Check all playlists for paths not contained in the audio file table. [/help] [subcommand cpsi] purpose = copy selected parts of the audio file selector info non-opts-name = source pattern... aux_info = AFS_READ | AFS_WRITE [description] If no option, or only --verbose is given, all fields of the audio file selector info structure are copied to each row of the audio file table whose path matches at least one of the given patterns. Otherwise, only those fields which correspond to the given options are copied. [/description] [option attribute-bitmap] short_opt = a summary = copy the attribute bitmap [option image-id] short_opt = i summary = copy the image id [option lyrics-id] short_opt = y summary = copy the lyrics id [option lastplayed] short_opt = l summary = copy the lastplayed timestamp [option numplayed] short_opt = n summary = copy the numplayed counter [option verbose] short_opt = v summary = enable verbose mode [subcommand ff] purpose = jump N seconds forward or backward synopsis = n[-] aux_info = VSS_READ | VSS_WRITE [description] This sets the 'R' (reposition request) bit of the vss status flags which enqueues a request to jump n seconds forwards or backwards. Example: para_client ff 30- jumps 30 seconds backwards. [/description] [subcommand help] purpose = list available commands or print command-specific help non-opts-name = [command] aux_info = NO_PERMISSION_REQUIRED [description] Without any arguments, help prints a list of available commands. When called with a command name as first argument, it prints the description of this command. [/description] [subcommand hup] purpose = reload config file, log file and user list aux_info = VSS_WRITE [description] Reread the config file and the user list file, close and reopen the log file, and ask the afs process to do the same. Sending the HUP signal to the server process has the same effect as running this command. [/description] [subcommand init] purpose = initialize the database tables for the audio file selector synopsis = [table_name...] aux_info = AFS_READ | AFS_WRITE [description] When invoked without arguments, this command creates all tables: audio_files, attributes, scores, moods, lyrics, images, playlists. Otherwise only the given tables are created. [/description] [subcommand jmp] purpose = reposition the current stream non-opts-name = n aux_info = VSS_READ | VSS_WRITE [description] Set the 'R' (reposition request) bit of the vss status flags and enqueue a request to jump to n% of the current audio file, where 0 <= n <= 100. [/description] [subcommand lsatt] purpose = list attributes aux_info = AFS_READ [description] Print the list of all defined attributes which match the given pattern. If no pattern is given, the full list is printed. [/description] [option id-sort] short_opt = i summary = sort attributes by id [help] The default is to sort alphabetically by name. Attributes are internally represented as an 64 bit array. The attribute id is the bit number in this array. [/help] [option long] short_opt = l summary = print long listing [help] The long listing prints the attribute id in addition to the name of the attribute. The id is printed as a decimal number and is separated from the name by a tab character. [/help] [option reverse] short_opt = r summary = reverse sort order [subcommand mvatt] purpose = rename an attribute synopsis = source dest aux_info = AFS_READ | AFS_WRITE [description] Rename the attribute given by the first argument to the destination given by the second argument. It is an error if the destination attribute exists. [/description] [subcommand next] purpose = close the stream and start to stream the next audio file aux_info = VSS_READ | VSS_WRITE [description] Set the 'N' (next audio file) bit of the vss status flags. This instructs the server to close the current stream, if any. The 'P' (playing) bit is not modified by this command. If it is on, playing continues with the next audio file. This command is equivalent to stop if paused, and has no effect if stopped. [/description] [subcommand nomore] purpose = stop playing after current audio file aux_info = VSS_READ | VSS_WRITE [description] Set the 'O' (no more) bit of the vss status flags which asks para_server to clear the 'P' (playing) bit after the 'N' (next audio file) bit transitions from off to on (because the end of the current audio file is reached). Use this command instead of stop if you don't like sudden endings. [/description] [subcommand pause] purpose = suspend the current stream aux_info = VSS_READ | VSS_WRITE [description] Clear the 'P' (playing) bit of the vss status flags. [/description] [subcommand play] purpose = start or resume playback aux_info = VSS_READ | VSS_WRITE [description] Set the 'P' (playing) bit of the vss status flags. [/description] [subcommand rmatt] purpose = remove attribute(s) non-opts-name = pattern... aux_info = AFS_READ | AFS_WRITE [description] Remove all attributes which match any given pattern. All information about the removed attributes in the audio file table is lost. [/description] [subcommand sender] purpose = control paraslash senders synopsis = [sender cmd [arguments]] aux_info = VSS_READ | VSS_WRITE [description] Send a command to a specific sender. The following commands are available, but not all senders support every command. help, on, off, add, delete, allow, deny, status. The help command prints the help text of the given sender. If no command is given the list of available senders is shown. Example: para_client sender http help [/description] [subcommand setatt] purpose = set or unset attributes synopsis = attribute{+|-}... pattern... aux_info = AFS_READ | AFS_WRITE [description] Set ('+') or unset ('-') the given attributes for all audio files matching the given pattern. Example: setatt rock+ punk+ pop- '*foo.mp3' sets the 'rock' and the 'punk' attribute and unsets the 'pop' attribute of all files ending with 'foo.mp3'. [/description] [subcommand si] purpose = print server info aux_info = NO_PERMISSION_REQUIRED [description] Show server and afs PID, number of connections, uptime and more. [/description] [subcommand stat] purpose = print information about the current audio file aux_info = VSS_READ [option num] short_opt = n summary = number of times to show the status info arg_info = required_arg arg_type = uint32 typestr = num [help] Exit after the status information has been shown num times. If this option is not given, the command runs in an endless loop. [/help] [option parser-friendly] short_opt = p summary = enable parser-friendly output [help] Show status item identifiers as numerical values and prefix each status item with its size in bytes. [/help] [subcommand stop] purpose = stop playback aux_info = VSS_READ | VSS_WRITE [description] Clear the 'P' (playing) bit and set the 'N' (next audio file) bit of the vss status flags, effectively stopping playback. [/description] [subcommand tasks] purpose = list active server tasks aux_info = NO_PERMISSION_REQUIRED [description] For each task, print ID, status and name. This is mostly useful for debugging. [/description] [subcommand term] purpose = ask the server to terminate aux_info = VSS_READ | VSS_WRITE [description] Shut down the server. Instead of this command, you can also send SIGINT or SIGTERM to the para_server process. It should never be necessary to send SIGKILL. [/description] [subcommand version] purpose = print the git version string of para_server aux_info = NO_PERMISSION_REQUIRED [option verbose] short_opt = v summary = print detailed (multi-line) version text