/[svn]/web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1162 by iliev, Mon Apr 16 16:02:19 2007 UTC revision 1251 by schoenebeck, Fri Jun 22 14:24:57 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2  <html lang="en"><head><title>LinuxSampler Control Protocol</title>  <html lang="en"><head><title>LinuxSampler Control Protocol (draft)</title>
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol (draft)">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'><!--  <style type='text/css'><!--
# Line 145  Line 145 
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">Expires: October 18, 2007</td><td class="header">April 16, 2007</td></tr>  <tr><td class="header">Expires: December 24, 2007</td><td class="header">June 22, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol (draft)<br />LSCP 1.2cvs</h1>
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
# Line 173  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on October 18, 2007.</p>  This Internet-Draft will expire on December 24, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
# Line 404  Getting instrument directory information Line 404  Getting instrument directory information
404  Renaming an instrument directory<br />  Renaming an instrument directory<br />
405  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
406  Moving an instrument directory<br />  Moving an instrument directory<br />
407  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.8.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
408    Copying instrument directories<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
410  Changing the description of directory<br />  Changing the description of directory<br />
411  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.9.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
412    Finding directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414  Adding instruments to the instruments database<br />  Adding instruments to the instruments database<br />
415  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.10.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416  Removing an instrument<br />  Removing an instrument<br />
417  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.11.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418  Getting amount of instruments<br />  Getting amount of instruments<br />
419  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
420  Listing all instruments in specific directory<br />  Listing all instruments in specific directory<br />
421  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.13.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422  Getting instrument information<br />  Getting instrument information<br />
423  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424  Renaming an instrument<br />  Renaming an instrument<br />
425  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426  Moving an instrument<br />  Moving an instrument<br />
427  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.16.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
428    Copying instruments<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
430  Changing the description of instrument<br />  Changing the description of instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
434    Getting job status information<br />
435  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
436  Command Syntax<br />  Command Syntax<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
438    Character Set and Escape Sequences<br />
439  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
440  Events<br />  Events<br />
441  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
# Line 468  Database instrument directory informatio Line 480  Database instrument directory informatio
480  Number of database instruments changed<br />  Number of database instruments changed<br />
481  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
482  Database instrument information changed<br />  Database instrument information changed<br />
483  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
484    Database job status information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
486  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
487  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
488  Security Considerations<br />  Security Considerations<br />
# Line 500  Requirements notation</h3> Line 514  Requirements notation</h3>
514              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
515              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
516              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
517              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>),
518              example:              thus the following example:
519  </p>  </p>
520  <p>  <p>
521                  </p>                  </p>
# Line 3363  Loading an instrument</h3> Line 3377  Loading an instrument</h3>
3377                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3378                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3379  </p>  </p>
3380    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3381                        escape characters for special characters (see chapter
3382                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"
3383                        for details) and accordingly backslash characters in the filename
3384                        MUST now be escaped as well!
3385    </p>
3386  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3387                      is that the regular command returns OK only after the instrument has been                      is that the regular command returns OK only after the instrument has been
3388                      fully loaded and the channel is ready to be used while NON_MODAL version                      fully loaded and the channel is ready to be used while NON_MODAL version
# Line 6635  Create or replace a MIDI instrument map Line 6655  Create or replace a MIDI instrument map
6655                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6656                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6657                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6658                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6659                        supporting escape sequences as described in chapter
6660                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"),
6661                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6662                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6663                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 7351  Getting amount of instrument directories Line 7373  Getting amount of instrument directories
7373  <p>  <p>
7374                          </p>                          </p>
7375  <blockquote class="text">  <blockquote class="text">
7376  <p>GET DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;  <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7377  </p>  </p>
7378  </blockquote><p>  </blockquote><p>
7379                                            
7380  </p>  </p>
7381  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
7382                      name of the directory.                      name of the directory. If RECURSIVE is specified, the number of
7383                        all directories, including those located in subdirectories of the
7384                        specified directory, will be returned.
7385  </p>  </p>
7386  <p>Possible Answers:  <p>Possible Answers:
7387  </p>  </p>
# Line 7401  Listing all directories in specific dire Line 7425  Listing all directories in specific dire
7425  <p>  <p>
7426                          </p>                          </p>
7427  <blockquote class="text">  <blockquote class="text">
7428  <p>LIST DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;  <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7429  </p>  </p>
7430  </blockquote><p>  </blockquote><p>
7431                                            
7432  </p>  </p>
7433  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
7434                      name of the directory.                      name of the directory. If RECURSIVE is specified, the absolute path names
7435                        of all directories, including those located in subdirectories of the
7436                        specified directory, will be returned.
7437  </p>  </p>
7438  <p>Possible Answers:  <p>Possible Answers:
7439  </p>  </p>
# Line 7440  Listing all directories in specific dire Line 7466  Listing all directories in specific dire
7466  </blockquote><p>  </blockquote><p>
7467                                            
7468  </p>  </p>
7469    <p>
7470                            </p>
7471    <blockquote class="text">
7472    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7473    </p>
7474    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7475    </p>
7476    </blockquote><p>
7477                        
7478    </p>
7479  <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />  <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7480  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7481  <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;  <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
# Line 7643  Moving an instrument directory</h3> Line 7679  Moving an instrument directory</h3>
7679  </blockquote><p>  </blockquote><p>
7680                                            
7681  </p>  </p>
7682  <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />  <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7683  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7684  <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;  <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7685    Copying instrument directories</h3>
7686    
7687    <p>The front-end can copy a specific
7688                        instrument directory by sending the following command:
7689    </p>
7690    <p>
7691                            </p>
7692    <blockquote class="text">
7693    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7694    </p>
7695    </blockquote><p>
7696                        
7697    </p>
7698    <p>Where &lt;dir&gt; is the absolute path name of the directory
7699                        to copy and &lt;dst&gt; is the location where the directory will
7700                        be copied to.
7701    </p>
7702    <p>Possible Answers:
7703    </p>
7704    <p>
7705                            </p>
7706    <blockquote class="text">
7707    <p>"OK" -
7708                                    </p>
7709    <blockquote class="text">
7710    <p>on success
7711    </p>
7712    </blockquote>
7713                                
7714    
7715    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7716                                    </p>
7717    <blockquote class="text">
7718    <p>in case a given directory does not exists,
7719                                        or if a directory with name equal to the name
7720                                        of the specified directory already exists in
7721                                        the destination directory. Error is also thrown
7722                                        when trying to copy a directory to a subdirectory
7723                                        of itself.
7724    </p>
7725    </blockquote>
7726                                
7727    
7728    </blockquote><p>
7729                        
7730    </p>
7731    <p>Example:
7732    </p>
7733    <p>
7734                            </p>
7735    <blockquote class="text">
7736    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7737    </p>
7738    <p>S: "OK"
7739    </p>
7740    </blockquote><p>
7741                        
7742    </p>
7743    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7744    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7745    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7746  Changing the description of directory</h3>  Changing the description of directory</h3>
7747    
7748  <p>The front-end can alter the description of a specific  <p>The front-end can alter the description of a specific
# Line 7698  Changing the description of directory</h Line 7795  Changing the description of directory</h
7795  </blockquote><p>  </blockquote><p>
7796                                            
7797  </p>  </p>
7798    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7799    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7800    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7801    Finding directories</h3>
7802    
7803    <p>The front-end can search for directories
7804                        in specific directory by sending the following command:
7805    </p>
7806    <p>
7807                            </p>
7808    <blockquote class="text">
7809    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7810    </p>
7811    </blockquote><p>
7812                        
7813    </p>
7814    <p>Where &lt;dir&gt; should be replaced by the absolute path
7815                        name of the directory to search in. If NON_RECURSIVE is specified, the
7816                        directories located in subdirectories of the specified directory will not
7817                        be searched. &lt;criteria-list&gt; is a list of search criterias
7818                        in form of "key1=val1 key2=val2 ...". The following criterias are
7819                        allowed:
7820    </p>
7821    <p>
7822                          
7823    <p>NAME='&lt;search-string&gt;'
7824                              </p>
7825    <blockquote class="text">
7826    <p>Restricts the search to directories, which names
7827                                  satisfy the supplied search string.
7828    </p>
7829    </blockquote><p>
7830                          
7831    </p>
7832    
7833                          
7834    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7835                              </p>
7836    <blockquote class="text">
7837    <p>Restricts the search to directories, which creation
7838                                  date satisfies the specified period, where &lt;date-after&gt;
7839                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7840                                  If &lt;date-after&gt; is omitted the search is restricted to
7841                                  directories created before &lt;date-before&gt;. If
7842                                  &lt;date-before&gt; is omitted, the search is restricted
7843                                  to directories created after &lt;date-after&gt;.
7844    </p>
7845    </blockquote><p>
7846                          
7847    </p>
7848    
7849                          
7850    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7851                              </p>
7852    <blockquote class="text">
7853    <p>Restricts the search to directories, which
7854                                  date of last modification satisfies the specified period, where
7855                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7856                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7857                                  directories, which are last modified before &lt;date-before&gt;. If
7858                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7859                                  which are last modified after &lt;date-after&gt;.
7860    </p>
7861    </blockquote><p>
7862                          
7863    </p>
7864    
7865                          
7866    <p>DESCRIPTION='&lt;search-string&gt;'
7867                              </p>
7868    <blockquote class="text">
7869    <p>Restricts the search to directories with description
7870                                  that satisfies the supplied search string.
7871    </p>
7872    </blockquote><p>
7873                          
7874    </p>
7875                        
7876    
7877    <p>Where &lt;search-string&gt; is either a regular expression, or a
7878                        word list separated with spaces for OR search and with '+' for AND search.
7879    </p>
7880    <p>Possible Answers:
7881    </p>
7882    <p>
7883                            </p>
7884    <blockquote class="text">
7885    <p>A comma separated list with the absolute path names (encapsulated into
7886                                apostrophes) of all directories in the specified directory that satisfy
7887                                the supplied search criterias.
7888    </p>
7889    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7890                                    </p>
7891    <blockquote class="text">
7892    <p>if the given directory does not exist.
7893    </p>
7894    </blockquote>
7895                                
7896    
7897    </blockquote><p>
7898                        
7899    </p>
7900    <p>Example:
7901    </p>
7902    <p>
7903                            </p>
7904    <blockquote class="text">
7905    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7906    </p>
7907    <p>S: "'/Piano Collection'"
7908    </p>
7909    </blockquote><p>
7910                        
7911    </p>
7912    <p>
7913                            </p>
7914    <blockquote class="text">
7915    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7916    </p>
7917    <p>S: "'/Piano Collection','/Percussions'"
7918    </p>
7919    </blockquote><p>
7920                        
7921    </p>
7922  <a name="ADD DB_INSTRUMENTS"></a><br /><hr />  <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7923  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7924  <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;  <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7925  Adding instruments to the instruments database</h3>  Adding instruments to the instruments database</h3>
7926    
7927  <p>The front-end can add one or more instruments  <p>The front-end can add one or more instruments
# Line 7709  Adding instruments to the instruments da Line 7930  Adding instruments to the instruments da
7930  <p>  <p>
7931                          </p>                          </p>
7932  <blockquote class="text">  <blockquote class="text">
7933  <p>ADD DB_INSTRUMENTS [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]  <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7934  </p>  </p>
7935  </blockquote><p>  </blockquote><p>
7936                                            
# Line 7731  Adding instruments to the instruments da Line 7952  Adding instruments to the instruments da
7952  <p>  <p>
7953                          </p>                          </p>
7954  <blockquote class="text">  <blockquote class="text">
7955    <p>"RECURSIVE" -
7956                                    </p>
7957    <blockquote class="text">
7958    <p>All instruments will be processed, including those
7959                                        in the subdirectories, and the respective subdirectory
7960                                        tree structure will be recreated in the instruments
7961                                        database
7962    </p>
7963    </blockquote>
7964                                
7965    
7966  <p>"NON_RECURSIVE" -  <p>"NON_RECURSIVE" -
7967                                  </p>                                  </p>
7968  <blockquote class="text">  <blockquote class="text">
# Line 7753  Adding instruments to the instruments da Line 7985  Adding instruments to the instruments da
7985  </blockquote>  </blockquote>
7986                                                            
7987    
 <p>not supplied -  
                                 </p>  
 <blockquote class="text">  
 <p>The subdirectory tree structure will be recreated  
                                     in the instruments database and all instruments will be  
                                     processed and added to the respective subdirectory  
                                     in the instruments database.  
 </p>  
 </blockquote>  
                               
   
7988  </blockquote><p>  </blockquote><p>
7989                                            
7990  </p>  </p>
7991    <p>The difference between regular and NON_MODAL versions of the command
7992                        is that the regular command returns when the scanning is finished
7993                        while NON_MODAL version returns immediately and a background process is launched.
7994                        The <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
7995                        command can be used to monitor the scanning progress.
7996    </p>
7997  <p>Possible Answers:  <p>Possible Answers:
7998  </p>  </p>
7999  <p>  <p>
# Line 7775  Adding instruments to the instruments da Line 8002  Adding instruments to the instruments da
8002  <p>"OK" -  <p>"OK" -
8003                                  </p>                                  </p>
8004  <blockquote class="text">  <blockquote class="text">
8005  <p>on success  <p>on success when NON_MODAL is not supplied
8006    </p>
8007    </blockquote>
8008                                
8009    
8010    <p>"OK[&lt;job-id&gt;]" -
8011                                    </p>
8012    <blockquote class="text">
8013    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8014                                        is a numerical ID used to obtain status information about the job progress.
8015                                        See <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8016                                        
8017  </p>  </p>
8018  </blockquote>  </blockquote>
8019                                                            
# Line 7805  Adding instruments to the instruments da Line 8043  Adding instruments to the instruments da
8043  </p>  </p>
8044  <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />  <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8045  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8046  <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;  <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8047  Removing an instrument</h3>  Removing an instrument</h3>
8048    
8049  <p>The front-end can remove a particular instrument  <p>The front-end can remove a particular instrument
# Line 7861  Removing an instrument</h3> Line 8099  Removing an instrument</h3>
8099  </p>  </p>
8100  <a name="GET DB_INSTRUMENTS"></a><br /><hr />  <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8101  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8102  <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;  <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8103  Getting amount of instruments</h3>  Getting amount of instruments</h3>
8104    
8105  <p>The front-end can retrieve the current amount of  <p>The front-end can retrieve the current amount of
# Line 7870  Getting amount of instruments</h3> Line 8108  Getting amount of instruments</h3>
8108  <p>  <p>
8109                          </p>                          </p>
8110  <blockquote class="text">  <blockquote class="text">
8111  <p>GET DB_INSTRUMENTS &lt;dir&gt;  <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8112  </p>  </p>
8113  </blockquote><p>  </blockquote><p>
8114                                            
8115  </p>  </p>
8116  <p>Where &lt;dir&gt; should be replaced by the absolute path name  <p>Where &lt;dir&gt; should be replaced by the absolute path name
8117                      of the directory.                      of the directory. If RECURSIVE is specified, the number of all
8118                        instruments, including those located in subdirectories of the
8119                        specified directory, will be returned.
8120  </p>  </p>
8121  <p>Possible Answers:  <p>Possible Answers:
8122  </p>  </p>
# Line 7911  Getting amount of instruments</h3> Line 8151  Getting amount of instruments</h3>
8151  </p>  </p>
8152  <a name="LIST DB_INSTRUMENTS"></a><br /><hr />  <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8153  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8154  <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;  <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8155  Listing all instruments in specific directory</h3>  Listing all instruments in specific directory</h3>
8156    
8157  <p>The front-end can retrieve the current list of instruments  <p>The front-end can retrieve the current list of instruments
# Line 7920  Listing all instruments in specific dire Line 8160  Listing all instruments in specific dire
8160  <p>  <p>
8161                          </p>                          </p>
8162  <blockquote class="text">  <blockquote class="text">
8163  <p>LIST DB_INSTRUMENTS &lt;dir&gt;  <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8164  </p>  </p>
8165  </blockquote><p>  </blockquote><p>
8166                                            
8167  </p>  </p>
8168  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
8169                      name of the directory.                      name of the directory. If RECURSIVE is specified, the absolute path
8170                        names of all instruments, including those located in subdirectories
8171                        of the specified directory, will be returned.
8172  </p>  </p>
8173  <p>Possible Answers:  <p>Possible Answers:
8174  </p>  </p>
# Line 7959  Listing all instruments in specific dire Line 8201  Listing all instruments in specific dire
8201  </blockquote><p>  </blockquote><p>
8202                                            
8203  </p>  </p>
8204    <p>
8205                            </p>
8206    <blockquote class="text">
8207    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8208    </p>
8209    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8210    </p>
8211    </blockquote><p>
8212                        
8213    </p>
8214  <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />  <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8215  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8216  <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;  <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8217  Getting instrument information</h3>  Getting instrument information</h3>
8218    
8219  <p>The front-end can ask for the current settings of an  <p>The front-end can ask for the current settings of an
# Line 8140  Getting instrument information</h3> Line 8392  Getting instrument information</h3>
8392  </p>  </p>
8393  <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />  <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8394  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8395  <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;  <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8396  Renaming an instrument</h3>  Renaming an instrument</h3>
8397    
8398  <p>The front-end can alter the name of a specific  <p>The front-end can alter the name of a specific
# Line 8197  Renaming an instrument</h3> Line 8449  Renaming an instrument</h3>
8449  </p>  </p>
8450  <a name="MOVE DB_INSTRUMENT"></a><br /><hr />  <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8451  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8452  <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;  <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8453  Moving an instrument</h3>  Moving an instrument</h3>
8454    
8455  <p>The front-end can move a specific instrument to another directory by  <p>The front-end can move a specific instrument to another directory by
# Line 8254  Moving an instrument</h3> Line 8506  Moving an instrument</h3>
8506  </blockquote><p>  </blockquote><p>
8507                                            
8508  </p>  </p>
8509    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8510    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8511    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8512    Copying instruments</h3>
8513    
8514    <p>The front-end can copy a specific instrument to another directory by
8515                        sending the following command:
8516    </p>
8517    <p>
8518                            </p>
8519    <blockquote class="text">
8520    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8521    </p>
8522    </blockquote><p>
8523                        
8524    </p>
8525    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8526                        to copy and &lt;dst&gt; is the directory where the instrument will
8527                        be copied to.
8528    </p>
8529    <p>Possible Answers:
8530    </p>
8531    <p>
8532                            </p>
8533    <blockquote class="text">
8534    <p>"OK" -
8535                                    </p>
8536    <blockquote class="text">
8537    <p>on success
8538    </p>
8539    </blockquote>
8540                                
8541    
8542    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8543                                    </p>
8544    <blockquote class="text">
8545    <p>in case the given instrument does not exists,
8546                                        or if an instrument with name equal to the name of the
8547                                        specified instrument already exists in the destination
8548                                        directory.
8549    </p>
8550    </blockquote>
8551                                
8552    
8553    </blockquote><p>
8554                        
8555    </p>
8556    <p>Example:
8557    </p>
8558    <p>
8559                            </p>
8560    <blockquote class="text">
8561    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8562    </p>
8563    <p>S: "OK"
8564    </p>
8565    </blockquote><p>
8566                        
8567    </p>
8568  <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />  <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8569  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8570  <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;  <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8571  Changing the description of instrument</h3>  Changing the description of instrument</h3>
8572    
8573  <p>The front-end can alter the description of a specific  <p>The front-end can alter the description of a specific
# Line 8309  Changing the description of instrument</ Line 8620  Changing the description of instrument</
8620  </blockquote><p>  </blockquote><p>
8621                                            
8622  </p>  </p>
8623    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8624    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8625    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8626    Finding instruments</h3>
8627    
8628    <p>The front-end can search for instruments
8629                        in specific directory by sending the following command:
8630    </p>
8631    <p>
8632                            </p>
8633    <blockquote class="text">
8634    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8635    </p>
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p>Where &lt;dir&gt; should be replaced by the absolute path
8640                        name of the directory to search in. If NON_RECURSIVE is specified, the
8641                        directories located in subdirectories of the specified directory will not
8642                        be searched. &lt;criteria-list&gt; is a list of search criterias
8643                        in form of "key1=val1 key2=val2 ...". The following criterias are
8644                        allowed:
8645    </p>
8646    <p>
8647                          
8648    <p>NAME='&lt;search-string&gt;'
8649                              </p>
8650    <blockquote class="text">
8651    <p>Restricts the search to instruments, which names
8652                                  satisfy the supplied search string.
8653    </p>
8654    </blockquote><p>
8655                          
8656    </p>
8657    
8658                          
8659    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8660                              </p>
8661    <blockquote class="text">
8662    <p>Restricts the search to instruments, which
8663                                  size is in the specified range. If &lt;min&gt; is omitted,
8664                                  the search results are restricted to instruments with size less then
8665                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8666                                  search is restricted to instruments with size greater then
8667                                  or equal to &lt;min&gt;.
8668    </p>
8669    </blockquote><p>
8670                          
8671    </p>
8672    
8673                          
8674    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8675                              </p>
8676    <blockquote class="text">
8677    <p>Restricts the search to instruments, which creation
8678                                  date satisfies the specified period, where &lt;date-after&gt;
8679                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8680                                  If &lt;date-after&gt; is omitted the search is restricted to
8681                                  instruments created before &lt;date-before&gt;. If
8682                                  &lt;date-before&gt; is omitted, the search is restricted
8683                                  to instruments created after &lt;date-after&gt;.
8684    </p>
8685    </blockquote><p>
8686                          
8687    </p>
8688    
8689                          
8690    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8691                              </p>
8692    <blockquote class="text">
8693    <p>Restricts the search to instruments, which
8694                                  date of last modification satisfies the specified period, where
8695                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8696                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8697                                  instruments, which are last modified before &lt;date-before&gt;. If
8698                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8699                                  which are last modified after &lt;date-after&gt;.
8700    </p>
8701    </blockquote><p>
8702                          
8703    </p>
8704    
8705                          
8706    <p>DESCRIPTION='&lt;search-string&gt;'
8707                              </p>
8708    <blockquote class="text">
8709    <p>Restricts the search to instruments with description
8710                                  that satisfies the supplied search string.
8711    </p>
8712    </blockquote><p>
8713                          
8714    </p>
8715    
8716                          
8717    <p>PRODUCT='&lt;search-string&gt;'
8718                              </p>
8719    <blockquote class="text">
8720    <p>Restricts the search to instruments with product info
8721                                  that satisfies the supplied search string.
8722    </p>
8723    </blockquote><p>
8724                          
8725    </p>
8726    
8727                          
8728    <p>ARTISTS='&lt;search-string&gt;'
8729                              </p>
8730    <blockquote class="text">
8731    <p>Restricts the search to instruments with artists info
8732                                  that satisfies the supplied search string.
8733    </p>
8734    </blockquote><p>
8735                          
8736    </p>
8737    
8738                          
8739    <p>KEYWORDS='&lt;search-string&gt;'
8740                              </p>
8741    <blockquote class="text">
8742    <p>Restricts the search to instruments with keyword list
8743                                  that satisfies the supplied search string.
8744    </p>
8745    </blockquote><p>
8746                          
8747    </p>
8748    
8749                          
8750    <p>IS_DRUM=true | false
8751                              </p>
8752    <blockquote class="text">
8753    <p>Either true or false. Restricts the search to
8754                                  drum kits or chromatic instruments.
8755    </p>
8756    </blockquote><p>
8757                          
8758    </p>
8759    
8760                          
8761    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8762                              </p>
8763    <blockquote class="text">
8764    <p>Restricts the search to instruments of the supplied format families,
8765                                  where &lt;format-list&gt; is a comma separated list of format families.
8766    </p>
8767    </blockquote><p>
8768                          
8769    </p>
8770                        
8771    
8772    <p>Where &lt;search-string&gt; is either a regular expression, or a
8773                        word list separated with spaces for OR search and with '+' for AND search.
8774    </p>
8775    <p>Possible Answers:
8776    </p>
8777    <p>
8778                            </p>
8779    <blockquote class="text">
8780    <p>A comma separated list with the absolute path names (encapsulated into
8781                                apostrophes) of all instruments in the specified directory that satisfy
8782                                the supplied search criterias.
8783    </p>
8784    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8785                                    </p>
8786    <blockquote class="text">
8787    <p>if the given directory does not exist.
8788    </p>
8789    </blockquote>
8790                                
8791    
8792    </blockquote><p>
8793                        
8794    </p>
8795    <p>Example:
8796    </p>
8797    <p>
8798                            </p>
8799    <blockquote class="text">
8800    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8801    </p>
8802    <p>S: "'/Piano Collection/Bosendorfer 290'"
8803    </p>
8804    </blockquote><p>
8805                        
8806    </p>
8807    <p>
8808                            </p>
8809    <blockquote class="text">
8810    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8811    </p>
8812    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8813    </p>
8814    </blockquote><p>
8815                        
8816    </p>
8817    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8818    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8819    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8820    Getting job status information</h3>
8821    
8822    <p>The front-end can ask for the current status of a
8823                        particular database instruments job by sending the following command:
8824    </p>
8825    <p>
8826                            </p>
8827    <blockquote class="text">
8828    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8829    </p>
8830    </blockquote><p>
8831                        
8832    </p>
8833    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8834                        of the job the front-end is interested in.
8835    </p>
8836    <p>Possible Answers:
8837    </p>
8838    <p>
8839                            </p>
8840    <blockquote class="text">
8841    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8842                                Each answer line begins with the settings category name
8843                                followed by a colon and then a space character &lt;SP&gt; and finally
8844                                the info character string to that setting category. At the
8845                                moment the following categories are defined:
8846    </p>
8847    <p>
8848                                    </p>
8849    <blockquote class="text">
8850    <p>FILES_TOTAL -
8851                                            </p>
8852    <blockquote class="text">
8853    <p>The total number of files scheduled for scanning
8854    </p>
8855    </blockquote>
8856                                        
8857    
8858    <p>FILES_SCANNED -
8859                                            </p>
8860    <blockquote class="text">
8861    <p>The current number of scanned files
8862    </p>
8863    </blockquote>
8864                                        
8865    
8866    <p>SCANNING -
8867                                            </p>
8868    <blockquote class="text">
8869    <p>The absolute path name of the file which is currently
8870                                                being scanned
8871    </p>
8872    </blockquote>
8873                                        
8874    
8875    <p>STATUS -
8876                                            </p>
8877    <blockquote class="text">
8878    <p>An integer value between 0 and 100 indicating the
8879                                                scanning progress percentage of the file which is
8880                                                currently being scanned
8881    </p>
8882    </blockquote>
8883                                        
8884    
8885    </blockquote>
8886                                
8887    
8888    </blockquote><p>
8889                        
8890    </p>
8891    <p>The mentioned fields above don't have to be in particular order.
8892    </p>
8893    <p>Example:
8894    </p>
8895    <p>
8896                            </p>
8897    <blockquote class="text">
8898    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8899    </p>
8900    <p>S: "FILES_TOTAL: 12"
8901    </p>
8902    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8903    </p>
8904    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8905    </p>
8906    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8907    </p>
8908    <p>&nbsp;&nbsp;&nbsp;"."
8909    </p>
8910    </blockquote><p>
8911                        
8912    </p>
8913  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8914  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8915  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 8415  Command Syntax</h3> Line 9016  Command Syntax</h3>
9016  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9017                                    
9018  </p>  </p>
9019    <p>/ FIND SP find_instruction
9020                    
9021    </p>
9022  <p>/ MOVE SP move_instruction  <p>/ MOVE SP move_instruction
9023                                    
9024  </p>  </p>
9025    <p>/ COPY SP copy_instruction
9026                    
9027    </p>
9028    <p>/ EDIT SP edit_instruction
9029                    
9030    </p>
9031  <p>/ RESET  <p>/ RESET
9032                                    
9033  </p>  </p>
# Line 8436  Command Syntax</h3> Line 9046  Command Syntax</h3>
9046  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9047                                    
9048  </p>  </p>
9049  <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname
9050                    
9051    </p>
9052    <p>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname
9053                    
9054    </p>
9055    <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname
9056                                    
9057  </p>  </p>
9058  <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index
9059                                    
9060  </p>  </p>
9061  <p>/ DB_INSTRUMENTS SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP pathname SP pathname
# Line 8517  Command Syntax</h3> Line 9133  Command Syntax</h3>
9133  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9134                                    
9135  </p>  </p>
9136    <p>/ DB_INSTRUMENTS_JOB_INFO
9137                    
9138    </p>
9139  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9140                                    
9141  </p>  </p>
# Line 8589  Command Syntax</h3> Line 9208  Command Syntax</h3>
9208  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9209                                    
9210  </p>  </p>
9211    <p>/ DB_INSTRUMENTS_JOB_INFO
9212                    
9213    </p>
9214  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9215                                    
9216  </p>  </p>
# Line 8754  Command Syntax</h3> Line 9376  Command Syntax</h3>
9376  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9377                                    
9378  </p>  </p>
9379    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9380                    
9381    </p>
9382  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9383                                    
9384  </p>  </p>
9385  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
9386                                    
9387  </p>  </p>
9388    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9389                    
9390    </p>
9391  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENTS SP pathname
9392                                    
9393  </p>  </p>
9394  <p>/ DB_INSTRUMENT SP INFO SP pathname  <p>/ DB_INSTRUMENT SP INFO SP pathname
9395                                    
9396  </p>  </p>
9397    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9398                    
9399    </p>
9400  <p>/ VOLUME  <p>/ VOLUME
9401                                    
9402  </p>  </p>
# Line 8871  Command Syntax</h3> Line 9502  Command Syntax</h3>
9502  </blockquote><p>  </blockquote><p>
9503    
9504  </p>  </p>
9505    <p>find_instruction =
9506            </p>
9507    <blockquote class="text">
9508    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list
9509                    
9510    </p>
9511    <p>/ DB_INSTRUMENTS SP pathname SP query_val_list
9512                    
9513    </p>
9514    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list
9515                    
9516    </p>
9517    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list
9518                    
9519    </p>
9520    </blockquote><p>
9521    
9522    </p>
9523  <p>move_instruction =  <p>move_instruction =
9524          </p>          </p>
9525  <blockquote class="text">  <blockquote class="text">
# Line 8883  Command Syntax</h3> Line 9532  Command Syntax</h3>
9532  </blockquote><p>  </blockquote><p>
9533    
9534  </p>  </p>
9535    <p>copy_instruction =
9536            </p>
9537    <blockquote class="text">
9538    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9539                    
9540    </p>
9541    <p>/ DB_INSTRUMENT SP pathname SP pathname
9542                    
9543    </p>
9544    </blockquote><p>
9545    
9546    </p>
9547  <p>destroy_instruction =  <p>destroy_instruction =
9548          </p>          </p>
9549  <blockquote class="text">  <blockquote class="text">
# Line 8958  Command Syntax</h3> Line 9619  Command Syntax</h3>
9619  </blockquote><p>  </blockquote><p>
9620    
9621  </p>  </p>
9622    <p>edit_instruction =
9623            </p>
9624    <blockquote class="text">
9625    <p>INSTRUMENT SP sampler_channel
9626                    
9627    </p>
9628    </blockquote><p>
9629    
9630    </p>
9631  <p>modal_arg =  <p>modal_arg =
9632          </p>          </p>
9633  <blockquote class="text">  <blockquote class="text">
# Line 9027  Command Syntax</h3> Line 9697  Command Syntax</h3>
9697  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
9698                                    
9699  </p>  </p>
9700    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9701                    
9702    </p>
9703  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9704                                    
9705  </p>  </p>
9706    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9707                    
9708    </p>
9709  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENTS SP pathname
9710                                    
9711  </p>  </p>
# Line 9234  Command Syntax</h3> Line 9910  Command Syntax</h3>
9910  <p>filename =  <p>filename =
9911          </p>          </p>
9912  <blockquote class="text">  <blockquote class="text">
9913  <p>stringval  <p>stringval_escaped
9914                                    
9915  </p>  </p>
9916  </blockquote><p>  </blockquote><p>
# Line 9297  Command Syntax</h3> Line 9973  Command Syntax</h3>
9973  </blockquote><p>  </blockquote><p>
9974    
9975  </p>  </p>
9976    <p>query_val_list =
9977            </p>
9978    <blockquote class="text">
9979    <p>string '=' query_val
9980                    
9981    </p>
9982    <p>/ query_val_list SP string '=' query_val
9983                    
9984    </p>
9985    </blockquote><p>
9986    
9987    </p>
9988    <p>query_val =
9989            </p>
9990    <blockquote class="text">
9991    <p>string
9992                    
9993    </p>
9994    <p>/ stringval
9995                    
9996    </p>
9997    </blockquote><p>
9998    
9999    </p>
10000    <p>scan_mode =
10001            </p>
10002    <blockquote class="text">
10003    <p>RECURSIVE
10004                    
10005    </p>
10006    <p>/ NON_RECURSIVE
10007                    
10008    </p>
10009    <p>/ FLAT
10010                    
10011    </p>
10012    </blockquote><p>
10013    
10014    </p>
10015    <a name="character_set"></a><br /><hr />
10016    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10017    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10018    Character Set and Escape Sequences</h3>
10019    
10020    <p>Older versions of this protocol up to and including v1.1 only
10021                    supported the standard ASCII character set (ASCII code 0 - 127)
10022                    <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>, all younger versions of this protocol
10023                    however support the Extended ASCII character set (ASCII code
10024                    0 - 255). The same group of younger protocols also support
10025                    escape sequences, but only for certain, explicitly declared
10026                    parts of the protocol. The supported escape sequences are
10027                    defined as follows:
10028    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10029    <col align="left"><col align="left">
10030    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10031    <tr>
10032    <td align="left">\n</td>
10033    <td align="left">new line</td>
10034    </tr>
10035    <tr>
10036    <td align="left">\r</td>
10037    <td align="left">carriage return</td>
10038    </tr>
10039    <tr>
10040    <td align="left">\f</td>
10041    <td align="left">form feed</td>
10042    </tr>
10043    <tr>
10044    <td align="left">\t</td>
10045    <td align="left">horizontal tab</td>
10046    </tr>
10047    <tr>
10048    <td align="left">\v</td>
10049    <td align="left">vertical tab</td>
10050    </tr>
10051    <tr>
10052    <td align="left">\'</td>
10053    <td align="left">apostrophe</td>
10054    </tr>
10055    <tr>
10056    <td align="left">\"</td>
10057    <td align="left">quotation mark</td>
10058    </tr>
10059    <tr>
10060    <td align="left">\\</td>
10061    <td align="left">backslash</td>
10062    </tr>
10063    <tr>
10064    <td align="left">\OOO</td>
10065    <td align="left">three digit octal ASCII code of the character</td>
10066    </tr>
10067    <tr>
10068    <td align="left">\xHH</td>
10069    <td align="left">two digit hex ASCII code of the character</td>
10070    </tr>
10071    </table>
10072    
10073    <p>Notice: due to the transition of certain parts of the
10074                    protocol which now support escape sequences, a slight backward
10075                    incompatibility to protocols version v1.1 and younger has been
10076                    introduced. The only difference is that in parts of the protocol
10077                    where escape characters are now supported, a backslash characters
10078                    MUST be escaped as well (that is as double backslash), whereas
10079                    in the old versions a single backslash was sufficient.
10080    </p>
10081  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10082  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10083  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 9586  Channel information changed</h3> Line 10367  Channel information changed</h3>
10367  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10368  Number of effect sends changed</h3>  Number of effect sends changed</h3>
10369    
10370  <p>Client may want to be notified when the number of effect sends on  <p>Client may want to be notified when the number of effect sends on
10371                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
10372  </p>  </p>
10373  <p>  <p>
# Line 9983  Database instrument information changed< Line 10764  Database instrument information changed<
10764                  (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is                  (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10765                  the new name of the instrument, encapsulated into apostrophes.                  the new name of the instrument, encapsulated into apostrophes.
10766  </p>  </p>
10767  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
10768  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10769  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10770    Database job status information changed</h3>
10771    
10772    <p>Client may want to be notified when the status of particular database
10773                    instruments job is changed by issuing the following command:
10774    </p>
10775    <p>
10776                        </p>
10777    <blockquote class="text">
10778    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
10779    </p>
10780    </blockquote><p>
10781                    
10782    </p>
10783    <p>Server will start sending the following notification messages:
10784    </p>
10785    <p>
10786                        </p>
10787    <blockquote class="text">
10788    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
10789    </p>
10790    </blockquote><p>
10791                    
10792    </p>
10793    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
10794                    which status is changed. The front-end will have to send the respective
10795                    command to actually get the status info. Because these messages
10796                    will be triggered by LSCP commands issued by other clients rather than real
10797                    time events happening on the server, it is believed that an empty notification
10798                    message is sufficient here.
10799    </p>
10800    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
10801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10802    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
10803  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
10804    
10805  <p>Client may want to be notified of miscellaneous and debugging events occurring at  <p>Client may want to be notified of miscellaneous and debugging events occurring at
# Line 10050  Acknowledgments</h3> Line 10864  Acknowledgments</h3>
10864  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10865  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
10866  <table width="99%" border="0">  <table width="99%" border="0">
10867    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
10868    <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
10869  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>
10870  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
10871  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>

Legend:
Removed from v.1162  
changed lines
  Added in v.1251

  ViewVC Help
Powered by ViewVC