--- linuxsampler/trunk/Documentation/lscp.xml 2007/04/16 15:51:18 1161 +++ linuxsampler/trunk/Documentation/lscp.xml 2007/05/16 14:22:26 1187 @@ -4827,11 +4827,13 @@ directories in a specific directory by sending the following command: - GET DB_INSTRUMENT_DIRECTORIES <dir> + GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] <dir> Where <dir> should be replaced by the absolute path - name of the directory. + name of the directory. If RECURSIVE is specified, the number of + all directories, including those located in subdirectories of the + specified directory, will be returned. Possible Answers: @@ -4860,11 +4862,13 @@ in specific directory by sending the following command: - LIST DB_INSTRUMENT_DIRECTORIES <dir> + LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] <dir> Where <dir> should be replaced by the absolute path - name of the directory. + name of the directory. If RECURSIVE is specified, the absolute path names + of all directories, including those located in subdirectories of the + specified directory, will be returned. Possible Answers: @@ -4885,6 +4889,12 @@ S: "'Piano Collection','Percussion Collection'" + + + C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'" + S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'" + +
@@ -5024,6 +5034,48 @@
+
+ The front-end can copy a specific + instrument directory by sending the following command: + + + COPY DB_INSTRUMENT_DIRECTORY <dir> <dst> + + + Where <dir> is the absolute path name of the directory + to copy and <dst> is the location where the directory will + be copied to. + + Possible Answers: + + + "OK" - + + on success + + + "ERR:<error-code>:<error-message>" - + + in case a given directory does not exists, + or if a directory with name equal to the name + of the specified directory already exists in + the destination directory. Error is also thrown + when trying to copy a directory to a subdirectory + of itself. + + + + + + Example: + + + C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'" + S: "OK" + + +
+
The front-end can alter the description of a specific instrument directory by sending the following command: @@ -5060,6 +5112,91 @@
+
+ The front-end can search for directories + in specific directory by sending the following command: + + + FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] <dir> <criteria-list> + + + Where <dir> should be replaced by the absolute path + name of the directory to search in. If NON_RECURSIVE is specified, the + directories located in subdirectories of the specified directory will not + be searched. <criteria-list> is a list of search criterias + in form of "key1=val1 key2=val2 ...". The following criterias are + allowed: + + NAME='<search-string>' + + Restricts the search to directories, which names + satisfy the supplied search string. + + + + CREATED='[<date-after>]..[<date-before>]' + + Restricts the search to directories, which creation + date satisfies the specified period, where <date-after> + and <date-before> are in "YYYY-MM-DD HH:MM:SS" format. + If <date-after> is omitted the search is restricted to + directories created before <date-before>. If + <date-before> is omitted, the search is restricted + to directories created after <date-after>. + + + + MODIFIED='[<date-after>]..[<date-before>]' + + Restricts the search to directories, which + date of last modification satisfies the specified period, where + <date-after> and <date-before> are in "YYYY-MM-DD HH:MM:SS" + format. If <date-after> is omitted the search is restricted to + directories, which are last modified before <date-before>. If + <date-before> is omitted, the search is restricted to directories, + which are last modified after <date-after>. + + + + DESCRIPTION='<search-string>' + + Restricts the search to directories with description + that satisfies the supplied search string. + + + + + Where <search-string> is either a regular expression, or a + word list separated with spaces for OR search and with '+' for AND search. + + Possible Answers: + + + A comma separated list with the absolute path names (encapsulated into + apostrophes) of all directories in the specified directory that satisfy + the supplied search criterias. + "ERR:<error-code>:<error-message>" - + + if the given directory does not exist. + + + + + Example: + + + C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'" + S: "'/Piano Collection'" + + + + + C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'" + S: "'/Piano Collection','/Percussions'" + + +
+
The front-end can add one or more instruments to the instruments database by sending the following command: @@ -5177,11 +5314,13 @@ instruments in a specific directory by sending the following command: - GET DB_INSTRUMENTS <dir> + GET DB_INSTRUMENTS [RECURSIVE] <dir> Where <dir> should be replaced by the absolute path name - of the directory. + of the directory. If RECURSIVE is specified, the number of all + instruments, including those located in subdirectories of the + specified directory, will be returned. Possible Answers: @@ -5210,11 +5349,13 @@ in specific directory by sending the following command: - LIST DB_INSTRUMENTS <dir> + LIST DB_INSTRUMENTS [RECURSIVE] <dir> Where <dir> should be replaced by the absolute path - name of the directory. + name of the directory. If RECURSIVE is specified, the absolute path + names of all instruments, including those located in subdirectories + of the specified directory, will be returned. Possible Answers: @@ -5235,6 +5376,12 @@ S: "'Bosendorfer 290','Steinway D'" + + + C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'" + S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'" + +
@@ -5430,6 +5577,46 @@
+
+ The front-end can copy a specific instrument to another directory by + sending the following command: + + + COPY DB_INSTRUMENT <instr> <dst> + + + Where <instr> is the absolute path name of the instrument + to copy and <dst> is the directory where the instrument will + be copied to. + + Possible Answers: + + + "OK" - + + on success + + + "ERR:<error-code>:<error-message>" - + + in case the given instrument does not exists, + or if an instrument with name equal to the name of the + specified instrument already exists in the destination + directory. + + + + + + Example: + + + C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'" + S: "OK" + + +
+
The front-end can alter the description of a specific instrument by sending the following command: @@ -5466,6 +5653,137 @@
+
+ The front-end can search for instruments + in specific directory by sending the following command: + + + FIND DB_INSTRUMENTS [NON_RECURSIVE] <dir> <criteria-list> + + + Where <dir> should be replaced by the absolute path + name of the directory to search in. If NON_RECURSIVE is specified, the + directories located in subdirectories of the specified directory will not + be searched. <criteria-list> is a list of search criterias + in form of "key1=val1 key2=val2 ...". The following criterias are + allowed: + + NAME='<search-string>' + + Restricts the search to instruments, which names + satisfy the supplied search string. + + + + SIZE=[<min>]..[<max>] + + Restricts the search to instruments, which + size is in the specified range. If <min> is omitted, + the search results are restricted to instruments with size less then + or equal to <max>. If <max> is omitted, the + search is restricted to instruments with size greater then + or equal to <min>. + + + + CREATED='[<date-after>]..[<date-before>]' + + Restricts the search to instruments, which creation + date satisfies the specified period, where <date-after> + and <date-before> are in "YYYY-MM-DD HH:MM:SS" format. + If <date-after> is omitted the search is restricted to + instruments created before <date-before>. If + <date-before> is omitted, the search is restricted + to instruments created after <date-after>. + + + + MODIFIED='[<date-after>]..[<date-before>]' + + Restricts the search to instruments, which + date of last modification satisfies the specified period, where + <date-after> and <date-before> are in "YYYY-MM-DD HH:MM:SS" + format. If <date-after> is omitted the search is restricted to + instruments, which are last modified before <date-before>. If + <date-before> is omitted, the search is restricted to instruments, + which are last modified after <date-after>. + + + + DESCRIPTION='<search-string>' + + Restricts the search to instruments with description + that satisfies the supplied search string. + + + + PRODUCT='<search-string>' + + Restricts the search to instruments with product info + that satisfies the supplied search string. + + + + ARTISTS='<search-string>' + + Restricts the search to instruments with artists info + that satisfies the supplied search string. + + + + KEYWORDS='<search-string>' + + Restricts the search to instruments with keyword list + that satisfies the supplied search string. + + + + IS_DRUM=true | false + + Either true or false. Restricts the search to + drum kits or chromatic instruments. + + + + FORMAT_FAMILIES='<format-list>' + + Restricts the search to instruments of the supplied format families, + where <format-list> is a comma separated list of format families. + + + + + Where <search-string> is either a regular expression, or a + word list separated with spaces for OR search and with '+' for AND search. + + Possible Answers: + + + A comma separated list with the absolute path names (encapsulated into + apostrophes) of all instruments in the specified directory that satisfy + the supplied search criterias. + "ERR:<error-code>:<error-message>" - + + if the given directory does not exist. + + + + + Example: + + + C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'" + S: "'/Piano Collection/Bosendorfer 290'" + + + + + C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'" + S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'" + + +
+ @@ -5547,8 +5865,12 @@ / CLEAR SP clear_instruction + / FIND SP find_instruction + / MOVE SP move_instruction + / COPY SP copy_instruction + / RESET / QUIT @@ -5773,10 +6095,14 @@ / FX_SEND SP INFO SP sampler_channel SP fx_send_id + / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname + / DB_INSTRUMENT_DIRECTORIES SP pathname / DB_INSTRUMENT_DIRECTORY SP INFO SP pathname + / DB_INSTRUMENTS SP RECURSIVE SP pathname + / DB_INSTRUMENTS SP pathname / DB_INSTRUMENT SP INFO SP pathname @@ -5851,6 +6177,18 @@ +find_instruction = + + DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list + + / DB_INSTRUMENTS SP pathname SP query_val_list + + / DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list + + / DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list + + + move_instruction = DB_INSTRUMENT_DIRECTORY SP pathname SP pathname @@ -5859,6 +6197,14 @@ +copy_instruction = + + DB_INSTRUMENT_DIRECTORY SP pathname SP pathname + + / DB_INSTRUMENT SP pathname SP pathname + + + destroy_instruction = AUDIO_OUTPUT_DEVICE SP number @@ -5955,8 +6301,12 @@ / FX_SENDS SP sampler_channel + / DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname + / DB_INSTRUMENT_DIRECTORIES SP pathname + / DB_INSTRUMENTS SP RECURSIVE SP pathname + / DB_INSTRUMENTS SP pathname @@ -6135,6 +6485,22 @@ +query_val_list = + + string '=' query_val + + / query_val_list SP string '=' query_val + + + +query_val = + + string + + / stringval + + +