/[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 1363 by schoenebeck, Sun Sep 30 21:51:14 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: March 4, 2008</td><td class="header">September 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 March 4, 2008.</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    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
436    Formatting the instruments database<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
438    Editing Instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
440    Opening an appropriate instrument editor application<br />
441  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
442  Command Syntax<br />  Command Syntax<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
444    Character Set and Escape Sequences<br />
445  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
446  Events<br />  Events<br />
447  &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 486  Database instrument directory informatio
486  Number of database instruments changed<br />  Number of database instruments changed<br />
487  &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;
488  Database instrument information changed<br />  Database instrument information changed<br />
489  &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;
490    Database job status information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
492  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
493  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
494  Security Considerations<br />  Security Considerations<br />
# Line 500  Requirements notation</h3> Line 520  Requirements notation</h3>
520              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
521              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
522              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
523              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>),
524              example:              thus the following example:
525  </p>  </p>
526  <p>  <p>
527                  </p>                  </p>
# Line 3287  Changing settings of MIDI input ports</h Line 3307  Changing settings of MIDI input ports</h
3307                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3308                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3309                      the parameter to change and &lt;value&gt; by the new value for this                      the parameter to change and &lt;value&gt; by the new value for this
3310                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3311                        for specifying no value for parameters allowing a list of values.
3312  </p>  </p>
3313  <p>Possible Answers:  <p>Possible Answers:
3314  </p>  </p>
# Line 3328  Changing settings of MIDI input ports</h Line 3349  Changing settings of MIDI input ports</h
3349  <p>  <p>
3350                          </p>                          </p>
3351  <blockquote class="text">  <blockquote class="text">
3352    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3353    </p>
3354    <p>S: "OK"
3355    </p>
3356    </blockquote><p>
3357                        
3358    </p>
3359  <p>  <p>
3360                            </p>
3361    <blockquote class="text">
3362    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3363    </p>
3364    <p>S: "OK"
3365  </p>  </p>
3366  </blockquote><p>  </blockquote><p>
3367                                            
# Line 3363  Loading an instrument</h3> Line 3396  Loading an instrument</h3>
3396                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3397                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3398  </p>  </p>
3399    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3400                        escape characters for special characters (see chapter
3401                        "<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>"
3402                        for details) and accordingly backslash characters in the filename
3403                        MUST now be escaped as well!
3404    </p>
3405  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3406                      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
3407                      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 6674  Create or replace a MIDI instrument map
6674                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6675                      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>
6676                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6677                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6678                        supporting escape sequences as described in chapter
6679                        "<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>"),
6680                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6681                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6682                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 7225  Managing Instruments Database</h3> Line 7266  Managing Instruments Database</h3>
7266  <p>The following commands describe how to use and manage  <p>The following commands describe how to use and manage
7267                  the instruments database.                  the instruments database.
7268  </p>  </p>
7269    <p>Notice:
7270    </p>
7271    <p>
7272                            </p>
7273    <blockquote class="text">
7274    <p>All command arguments representing a path or
7275                                instrument/directory name support escape sequences as described in chapter
7276                                "<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>".
7277                                
7278    </p>
7279    <p>All occurrences of a forward slash in instrument and directory
7280                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7281                                
7282    </p>
7283    </blockquote><p>
7284                        
7285    </p>
7286  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7287  <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>
7288  <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;  <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
# Line 7351  Getting amount of instrument directories Line 7409  Getting amount of instrument directories
7409  <p>  <p>
7410                          </p>                          </p>
7411  <blockquote class="text">  <blockquote class="text">
7412  <p>GET DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;  <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7413  </p>  </p>
7414  </blockquote><p>  </blockquote><p>
7415                                            
7416  </p>  </p>
7417  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
7418                      name of the directory.                      name of the directory. If RECURSIVE is specified, the number of
7419                        all directories, including those located in subdirectories of the
7420                        specified directory, will be returned.
7421  </p>  </p>
7422  <p>Possible Answers:  <p>Possible Answers:
7423  </p>  </p>
# Line 7401  Listing all directories in specific dire Line 7461  Listing all directories in specific dire
7461  <p>  <p>
7462                          </p>                          </p>
7463  <blockquote class="text">  <blockquote class="text">
7464  <p>LIST DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;  <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7465  </p>  </p>
7466  </blockquote><p>  </blockquote><p>
7467                                            
7468  </p>  </p>
7469  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
7470                      name of the directory.                      name of the directory. If RECURSIVE is specified, the absolute path names
7471                        of all directories, including those located in subdirectories of the
7472                        specified directory, will be returned.
7473  </p>  </p>
7474  <p>Possible Answers:  <p>Possible Answers:
7475  </p>  </p>
# Line 7440  Listing all directories in specific dire Line 7502  Listing all directories in specific dire
7502  </blockquote><p>  </blockquote><p>
7503                                            
7504  </p>  </p>
7505    <p>
7506                            </p>
7507    <blockquote class="text">
7508    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7509    </p>
7510    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7511    </p>
7512    </blockquote><p>
7513                        
7514    </p>
7515  <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />  <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7516  <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>
7517  <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 7476  Getting instrument directory information Line 7548  Getting instrument directory information
7548  <p>DESCRIPTION -  <p>DESCRIPTION -
7549                                          </p>                                          </p>
7550  <blockquote class="text">  <blockquote class="text">
7551  <p>A brief description of the directory content  <p>A brief description of the directory content.
7552                                                Note that the character string may contain
7553                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7554  </p>  </p>
7555  </blockquote>  </blockquote>
7556                                                                            
# Line 7643  Moving an instrument directory</h3> Line 7717  Moving an instrument directory</h3>
7717  </blockquote><p>  </blockquote><p>
7718                                            
7719  </p>  </p>
7720  <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />  <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7721  <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>
7722  <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;
7723    Copying instrument directories</h3>
7724    
7725    <p>The front-end can copy a specific
7726                        instrument directory by sending the following command:
7727    </p>
7728    <p>
7729                            </p>
7730    <blockquote class="text">
7731    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7732    </p>
7733    </blockquote><p>
7734                        
7735    </p>
7736    <p>Where &lt;dir&gt; is the absolute path name of the directory
7737                        to copy and &lt;dst&gt; is the location where the directory will
7738                        be copied to.
7739    </p>
7740    <p>Possible Answers:
7741    </p>
7742    <p>
7743                            </p>
7744    <blockquote class="text">
7745    <p>"OK" -
7746                                    </p>
7747    <blockquote class="text">
7748    <p>on success
7749    </p>
7750    </blockquote>
7751                                
7752    
7753    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7754                                    </p>
7755    <blockquote class="text">
7756    <p>in case a given directory does not exists,
7757                                        or if a directory with name equal to the name
7758                                        of the specified directory already exists in
7759                                        the destination directory. Error is also thrown
7760                                        when trying to copy a directory to a subdirectory
7761                                        of itself.
7762    </p>
7763    </blockquote>
7764                                
7765    
7766    </blockquote><p>
7767                        
7768    </p>
7769    <p>Example:
7770    </p>
7771    <p>
7772                            </p>
7773    <blockquote class="text">
7774    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7775    </p>
7776    <p>S: "OK"
7777    </p>
7778    </blockquote><p>
7779                        
7780    </p>
7781    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7782    <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>
7783    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7784  Changing the description of directory</h3>  Changing the description of directory</h3>
7785    
7786  <p>The front-end can alter the description of a specific  <p>The front-end can alter the description of a specific
# Line 7660  Changing the description of directory</h Line 7795  Changing the description of directory</h
7795                                            
7796  </p>  </p>
7797  <p>Where &lt;dir&gt; is the absolute path name of the directory and  <p>Where &lt;dir&gt; is the absolute path name of the directory and
7798                      &lt;desc&gt; is the new description for the directory.                      &lt;desc&gt; is the new description for the directory
7799                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7800                        "<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>").
7801  </p>  </p>
7802  <p>Possible Answers:  <p>Possible Answers:
7803  </p>  </p>
# Line 7698  Changing the description of directory</h Line 7835  Changing the description of directory</h
7835  </blockquote><p>  </blockquote><p>
7836                                            
7837  </p>  </p>
7838    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7839    <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>
7840    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7841    Finding directories</h3>
7842    
7843    <p>The front-end can search for directories
7844                        in specific directory by sending the following command:
7845    </p>
7846    <p>
7847                            </p>
7848    <blockquote class="text">
7849    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7850    </p>
7851    </blockquote><p>
7852                        
7853    </p>
7854    <p>Where &lt;dir&gt; should be replaced by the absolute path
7855                        name of the directory to search in. If NON_RECURSIVE is specified, the
7856                        directories located in subdirectories of the specified directory will not
7857                        be searched. &lt;criteria-list&gt; is a list of search criterias
7858                        in form of "key1=val1 key2=val2 ...". The following criterias are
7859                        allowed:
7860    </p>
7861    <p>
7862                          
7863    <p>NAME='&lt;search-string&gt;'
7864                              </p>
7865    <blockquote class="text">
7866    <p>Restricts the search to directories, which names
7867                                  satisfy the supplied search string (encapsulated into apostrophes,
7868                                  supporting escape sequences as described in chapter
7869                                  "<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>").
7870    </p>
7871    </blockquote><p>
7872                          
7873    </p>
7874    
7875                          
7876    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7877                              </p>
7878    <blockquote class="text">
7879    <p>Restricts the search to directories, which creation
7880                                  date satisfies the specified period, where &lt;date-after&gt;
7881                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7882                                  If &lt;date-after&gt; is omitted the search is restricted to
7883                                  directories created before &lt;date-before&gt;. If
7884                                  &lt;date-before&gt; is omitted, the search is restricted
7885                                  to directories created after &lt;date-after&gt;.
7886    </p>
7887    </blockquote><p>
7888                          
7889    </p>
7890    
7891                          
7892    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7893                              </p>
7894    <blockquote class="text">
7895    <p>Restricts the search to directories, which
7896                                  date of last modification satisfies the specified period, where
7897                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7898                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7899                                  directories, which are last modified before &lt;date-before&gt;. If
7900                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7901                                  which are last modified after &lt;date-after&gt;.
7902    </p>
7903    </blockquote><p>
7904                          
7905    </p>
7906    
7907                          
7908    <p>DESCRIPTION='&lt;search-string&gt;'
7909                              </p>
7910    <blockquote class="text">
7911    <p>Restricts the search to directories with description
7912                                  that satisfies the supplied search string
7913                                  (encapsulated into apostrophes, supporting escape
7914                                  sequences as described in chapter
7915                                  "<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>").
7916    </p>
7917    </blockquote><p>
7918                          
7919    </p>
7920                        
7921    
7922    <p>Where &lt;search-string&gt; is either a regular expression, or a
7923                        word list separated with spaces for OR search and with '+' for AND search.
7924    </p>
7925    <p>Possible Answers:
7926    </p>
7927    <p>
7928                            </p>
7929    <blockquote class="text">
7930    <p>A comma separated list with the absolute path names (encapsulated into
7931                                apostrophes) of all directories in the specified directory that satisfy
7932                                the supplied search criterias.
7933    </p>
7934    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7935                                    </p>
7936    <blockquote class="text">
7937    <p>if the given directory does not exist.
7938    </p>
7939    </blockquote>
7940                                
7941    
7942    </blockquote><p>
7943                        
7944    </p>
7945    <p>Example:
7946    </p>
7947    <p>
7948                            </p>
7949    <blockquote class="text">
7950    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7951    </p>
7952    <p>S: "'/Piano Collection'"
7953    </p>
7954    </blockquote><p>
7955                        
7956    </p>
7957    <p>
7958                            </p>
7959    <blockquote class="text">
7960    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7961    </p>
7962    <p>S: "'/Piano Collection','/Percussions'"
7963    </p>
7964    </blockquote><p>
7965                        
7966    </p>
7967  <a name="ADD DB_INSTRUMENTS"></a><br /><hr />  <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7968  <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>
7969  <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;
7970  Adding instruments to the instruments database</h3>  Adding instruments to the instruments database</h3>
7971    
7972  <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 7975  Adding instruments to the instruments da
7975  <p>  <p>
7976                          </p>                          </p>
7977  <blockquote class="text">  <blockquote class="text">
7978  <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;]
7979  </p>  </p>
7980  </blockquote><p>  </blockquote><p>
7981                                            
# Line 7731  Adding instruments to the instruments da Line 7997  Adding instruments to the instruments da
7997  <p>  <p>
7998                          </p>                          </p>
7999  <blockquote class="text">  <blockquote class="text">
8000    <p>"RECURSIVE" -
8001                                    </p>
8002    <blockquote class="text">
8003    <p>All instruments will be processed, including those
8004                                        in the subdirectories, and the respective subdirectory
8005                                        tree structure will be recreated in the instruments
8006                                        database
8007    </p>
8008    </blockquote>
8009                                
8010    
8011  <p>"NON_RECURSIVE" -  <p>"NON_RECURSIVE" -
8012                                  </p>                                  </p>
8013  <blockquote class="text">  <blockquote class="text">
# Line 7753  Adding instruments to the instruments da Line 8030  Adding instruments to the instruments da
8030  </blockquote>  </blockquote>
8031                                                            
8032    
 <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>  
                               
   
8033  </blockquote><p>  </blockquote><p>
8034                                            
8035  </p>  </p>
8036    <p>The difference between regular and NON_MODAL versions of the command
8037                        is that the regular command returns when the scanning is finished
8038                        while NON_MODAL version returns immediately and a background process is launched.
8039                        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>
8040                        command can be used to monitor the scanning progress.
8041    </p>
8042  <p>Possible Answers:  <p>Possible Answers:
8043  </p>  </p>
8044  <p>  <p>
# Line 7775  Adding instruments to the instruments da Line 8047  Adding instruments to the instruments da
8047  <p>"OK" -  <p>"OK" -
8048                                  </p>                                  </p>
8049  <blockquote class="text">  <blockquote class="text">
8050  <p>on success  <p>on success when NON_MODAL is not supplied
8051    </p>
8052    </blockquote>
8053                                
8054    
8055    <p>"OK[&lt;job-id&gt;]" -
8056                                    </p>
8057    <blockquote class="text">
8058    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8059                                        is a numerical ID used to obtain status information about the job progress.
8060                                        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>
8061                                        
8062  </p>  </p>
8063  </blockquote>  </blockquote>
8064                                                            
# Line 7805  Adding instruments to the instruments da Line 8088  Adding instruments to the instruments da
8088  </p>  </p>
8089  <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />  <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8090  <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>
8091  <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;
8092  Removing an instrument</h3>  Removing an instrument</h3>
8093    
8094  <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 8144  Removing an instrument</h3>
8144  </p>  </p>
8145  <a name="GET DB_INSTRUMENTS"></a><br /><hr />  <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8146  <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>
8147  <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;
8148  Getting amount of instruments</h3>  Getting amount of instruments</h3>
8149    
8150  <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 8153  Getting amount of instruments</h3>
8153  <p>  <p>
8154                          </p>                          </p>
8155  <blockquote class="text">  <blockquote class="text">
8156  <p>GET DB_INSTRUMENTS &lt;dir&gt;  <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8157  </p>  </p>
8158  </blockquote><p>  </blockquote><p>
8159                                            
8160  </p>  </p>
8161  <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
8162                      of the directory.                      of the directory. If RECURSIVE is specified, the number of all
8163                        instruments, including those located in subdirectories of the
8164                        specified directory, will be returned.
8165  </p>  </p>
8166  <p>Possible Answers:  <p>Possible Answers:
8167  </p>  </p>
# Line 7911  Getting amount of instruments</h3> Line 8196  Getting amount of instruments</h3>
8196  </p>  </p>
8197  <a name="LIST DB_INSTRUMENTS"></a><br /><hr />  <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8198  <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>
8199  <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;
8200  Listing all instruments in specific directory</h3>  Listing all instruments in specific directory</h3>
8201    
8202  <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 8205  Listing all instruments in specific dire
8205  <p>  <p>
8206                          </p>                          </p>
8207  <blockquote class="text">  <blockquote class="text">
8208  <p>LIST DB_INSTRUMENTS &lt;dir&gt;  <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8209  </p>  </p>
8210  </blockquote><p>  </blockquote><p>
8211                                            
8212  </p>  </p>
8213  <p>Where &lt;dir&gt; should be replaced by the absolute path  <p>Where &lt;dir&gt; should be replaced by the absolute path
8214                      name of the directory.                      name of the directory. If RECURSIVE is specified, the absolute path
8215                        names of all instruments, including those located in subdirectories
8216                        of the specified directory, will be returned.
8217  </p>  </p>
8218  <p>Possible Answers:  <p>Possible Answers:
8219  </p>  </p>
# Line 7959  Listing all instruments in specific dire Line 8246  Listing all instruments in specific dire
8246  </blockquote><p>  </blockquote><p>
8247                                            
8248  </p>  </p>
8249    <p>
8250                            </p>
8251    <blockquote class="text">
8252    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8253    </p>
8254    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8255    </p>
8256    </blockquote><p>
8257                        
8258    </p>
8259  <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />  <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8260  <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>
8261  <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;
8262  Getting instrument information</h3>  Getting instrument information</h3>
8263    
8264  <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 7996  Getting instrument information</h3> Line 8293  Getting instrument information</h3>
8293                                          </p>                                          </p>
8294  <blockquote class="text">  <blockquote class="text">
8295  <p>File name of the instrument.  <p>File name of the instrument.
8296                                                Note that the character string may contain
8297                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8298  </p>  </p>
8299  </blockquote>  </blockquote>
8300                                                                            
# Line 8055  Getting instrument information</h3> Line 8354  Getting instrument information</h3>
8354  <p>DESCRIPTION -  <p>DESCRIPTION -
8355                                          </p>                                          </p>
8356  <blockquote class="text">  <blockquote class="text">
8357  <p>A brief description of the instrument  <p>A brief description of the instrument.
8358                                                Note that the character string may contain
8359                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8360  </p>  </p>
8361  </blockquote>  </blockquote>
8362                                                                            
# Line 8072  Getting instrument information</h3> Line 8373  Getting instrument information</h3>
8373  <p>PRODUCT -  <p>PRODUCT -
8374                                          </p>                                          </p>
8375  <blockquote class="text">  <blockquote class="text">
8376  <p>The product title of the instrument  <p>The product title of the instrument.
8377                                                Note that the character string may contain
8378                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8379  </p>  </p>
8380  </blockquote>  </blockquote>
8381                                                                            
# Line 8080  Getting instrument information</h3> Line 8383  Getting instrument information</h3>
8383  <p>ARTISTS -  <p>ARTISTS -
8384                                          </p>                                          </p>
8385  <blockquote class="text">  <blockquote class="text">
8386  <p>Lists the artist names  <p>Lists the artist names.
8387                                                Note that the character string may contain
8388                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8389  </p>  </p>
8390  </blockquote>  </blockquote>
8391                                                                            
# Line 8090  Getting instrument information</h3> Line 8395  Getting instrument information</h3>
8395  <blockquote class="text">  <blockquote class="text">
8396  <p>Provides a list of keywords that refer to the instrument.  <p>Provides a list of keywords that refer to the instrument.
8397                                              Keywords are separated with semicolon and blank.                                              Keywords are separated with semicolon and blank.
8398                                                Note that the character string may contain
8399                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8400  </p>  </p>
8401  </blockquote>  </blockquote>
8402                                                                            
# Line 8140  Getting instrument information</h3> Line 8447  Getting instrument information</h3>
8447  </p>  </p>
8448  <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />  <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8449  <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>
8450  <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;
8451  Renaming an instrument</h3>  Renaming an instrument</h3>
8452    
8453  <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 8504  Renaming an instrument</h3>
8504  </p>  </p>
8505  <a name="MOVE DB_INSTRUMENT"></a><br /><hr />  <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8506  <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>
8507  <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;
8508  Moving an instrument</h3>  Moving an instrument</h3>
8509    
8510  <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 8561  Moving an instrument</h3>
8561  </blockquote><p>  </blockquote><p>
8562                                            
8563  </p>  </p>
8564    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8565    <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>
8566    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8567    Copying instruments</h3>
8568    
8569    <p>The front-end can copy a specific instrument to another directory by
8570                        sending the following command:
8571    </p>
8572    <p>
8573                            </p>
8574    <blockquote class="text">
8575    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8576    </p>
8577    </blockquote><p>
8578                        
8579    </p>
8580    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8581                        to copy and &lt;dst&gt; is the directory where the instrument will
8582                        be copied to.
8583    </p>
8584    <p>Possible Answers:
8585    </p>
8586    <p>
8587                            </p>
8588    <blockquote class="text">
8589    <p>"OK" -
8590                                    </p>
8591    <blockquote class="text">
8592    <p>on success
8593    </p>
8594    </blockquote>
8595                                
8596    
8597    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8598                                    </p>
8599    <blockquote class="text">
8600    <p>in case the given instrument does not exists,
8601                                        or if an instrument with name equal to the name of the
8602                                        specified instrument already exists in the destination
8603                                        directory.
8604    </p>
8605    </blockquote>
8606                                
8607    
8608    </blockquote><p>
8609                        
8610    </p>
8611    <p>Example:
8612    </p>
8613    <p>
8614                            </p>
8615    <blockquote class="text">
8616    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8617    </p>
8618    <p>S: "OK"
8619    </p>
8620    </blockquote><p>
8621                        
8622    </p>
8623  <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />  <a name="SET DB_INSTRUMENT DESCRIPTION"></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>  <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.16"></a><h3>6.8.16.&nbsp;  <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8626  Changing the description of instrument</h3>  Changing the description of instrument</h3>
8627    
8628  <p>The front-end can alter the description of a specific  <p>The front-end can alter the description of a specific
# Line 8271  Changing the description of instrument</ Line 8637  Changing the description of instrument</
8637                                            
8638  </p>  </p>
8639  <p>Where &lt;instr&gt; is the absolute path name of the instrument and  <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8640                      &lt;desc&gt; is the new description for the instrument.                      &lt;desc&gt; is the new description for the instrument
8641                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8642                        "<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>").
8643  </p>  </p>
8644  <p>Possible Answers:  <p>Possible Answers:
8645  </p>  </p>
# Line 8309  Changing the description of instrument</ Line 8677  Changing the description of instrument</
8677  </blockquote><p>  </blockquote><p>
8678                                            
8679  </p>  </p>
8680    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8681    <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>
8682    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8683    Finding instruments</h3>
8684    
8685    <p>The front-end can search for instruments
8686                        in specific directory by sending the following command:
8687    </p>
8688    <p>
8689                            </p>
8690    <blockquote class="text">
8691    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8692    </p>
8693    </blockquote><p>
8694                        
8695    </p>
8696    <p>Where &lt;dir&gt; should be replaced by the absolute path
8697                        name of the directory to search in. If NON_RECURSIVE is specified, the
8698                        directories located in subdirectories of the specified directory will not
8699                        be searched. &lt;criteria-list&gt; is a list of search criterias
8700                        in form of "key1=val1 key2=val2 ...". The following criterias are
8701                        allowed:
8702    </p>
8703    <p>
8704                          
8705    <p>NAME='&lt;search-string&gt;'
8706                              </p>
8707    <blockquote class="text">
8708    <p>Restricts the search to instruments, which names
8709                                  satisfy the supplied search string (encapsulated into apostrophes,
8710                                  supporting escape sequences as described in chapter
8711                                  "<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>").
8712    </p>
8713    </blockquote><p>
8714                          
8715    </p>
8716    
8717                          
8718    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8719                              </p>
8720    <blockquote class="text">
8721    <p>Restricts the search to instruments, which
8722                                  size is in the specified range. If &lt;min&gt; is omitted,
8723                                  the search results are restricted to instruments with size less then
8724                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8725                                  search is restricted to instruments with size greater then
8726                                  or equal to &lt;min&gt;.
8727    </p>
8728    </blockquote><p>
8729                          
8730    </p>
8731    
8732                          
8733    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8734                              </p>
8735    <blockquote class="text">
8736    <p>Restricts the search to instruments, which creation
8737                                  date satisfies the specified period, where &lt;date-after&gt;
8738                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8739                                  If &lt;date-after&gt; is omitted the search is restricted to
8740                                  instruments created before &lt;date-before&gt;. If
8741                                  &lt;date-before&gt; is omitted, the search is restricted
8742                                  to instruments created after &lt;date-after&gt;.
8743    </p>
8744    </blockquote><p>
8745                          
8746    </p>
8747    
8748                          
8749    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8750                              </p>
8751    <blockquote class="text">
8752    <p>Restricts the search to instruments, which
8753                                  date of last modification satisfies the specified period, where
8754                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8755                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8756                                  instruments, which are last modified before &lt;date-before&gt;. If
8757                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8758                                  which are last modified after &lt;date-after&gt;.
8759    </p>
8760    </blockquote><p>
8761                          
8762    </p>
8763    
8764                          
8765    <p>DESCRIPTION='&lt;search-string&gt;'
8766                              </p>
8767    <blockquote class="text">
8768    <p>Restricts the search to instruments with description
8769                                  that satisfies the supplied search string (encapsulated into apostrophes,
8770                                  supporting escape sequences as described in chapter
8771                                  "<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>").
8772    </p>
8773    </blockquote><p>
8774                          
8775    </p>
8776    
8777                          
8778    <p>PRODUCT='&lt;search-string&gt;'
8779                              </p>
8780    <blockquote class="text">
8781    <p>Restricts the search to instruments with product info
8782                                  that satisfies the supplied search string (encapsulated into apostrophes,
8783                                  supporting escape sequences as described in chapter
8784                                  "<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>").
8785    </p>
8786    </blockquote><p>
8787                          
8788    </p>
8789    
8790                          
8791    <p>ARTISTS='&lt;search-string&gt;'
8792                              </p>
8793    <blockquote class="text">
8794    <p>Restricts the search to instruments with artists info
8795                                  that satisfies the supplied search string (encapsulated into apostrophes,
8796                                  supporting escape sequences as described in chapter
8797                                  "<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>").
8798    </p>
8799    </blockquote><p>
8800                          
8801    </p>
8802    
8803                          
8804    <p>KEYWORDS='&lt;search-string&gt;'
8805                              </p>
8806    <blockquote class="text">
8807    <p>Restricts the search to instruments with keyword list
8808                                  that satisfies the supplied search string (encapsulated into apostrophes,
8809                                  supporting escape sequences as described in chapter
8810                                  "<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>").
8811    </p>
8812    </blockquote><p>
8813                          
8814    </p>
8815    
8816                          
8817    <p>IS_DRUM=true | false
8818                              </p>
8819    <blockquote class="text">
8820    <p>Either true or false. Restricts the search to
8821                                  drum kits or chromatic instruments.
8822    </p>
8823    </blockquote><p>
8824                          
8825    </p>
8826    
8827                          
8828    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8829                              </p>
8830    <blockquote class="text">
8831    <p>Restricts the search to instruments of the supplied format families,
8832                                  where &lt;format-list&gt; is a comma separated list of format families.
8833    </p>
8834    </blockquote><p>
8835                          
8836    </p>
8837                        
8838    
8839    <p>Where &lt;search-string&gt; is either a regular expression, or a
8840                        word list separated with spaces for OR search and with '+' for AND search.
8841    </p>
8842    <p>Possible Answers:
8843    </p>
8844    <p>
8845                            </p>
8846    <blockquote class="text">
8847    <p>A comma separated list with the absolute path names (encapsulated into
8848                                apostrophes) of all instruments in the specified directory that satisfy
8849                                the supplied search criterias.
8850    </p>
8851    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8852                                    </p>
8853    <blockquote class="text">
8854    <p>if the given directory does not exist.
8855    </p>
8856    </blockquote>
8857                                
8858    
8859    </blockquote><p>
8860                        
8861    </p>
8862    <p>Example:
8863    </p>
8864    <p>
8865                            </p>
8866    <blockquote class="text">
8867    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8868    </p>
8869    <p>S: "'/Piano Collection/Bosendorfer 290'"
8870    </p>
8871    </blockquote><p>
8872                        
8873    </p>
8874    <p>
8875                            </p>
8876    <blockquote class="text">
8877    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8878    </p>
8879    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8880    </p>
8881    </blockquote><p>
8882                        
8883    </p>
8884    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8885    <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>
8886    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8887    Getting job status information</h3>
8888    
8889    <p>The front-end can ask for the current status of a
8890                        particular database instruments job by sending the following command:
8891    </p>
8892    <p>
8893                            </p>
8894    <blockquote class="text">
8895    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8896    </p>
8897    </blockquote><p>
8898                        
8899    </p>
8900    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8901                        of the job the front-end is interested in.
8902    </p>
8903    <p>Possible Answers:
8904    </p>
8905    <p>
8906                            </p>
8907    <blockquote class="text">
8908    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8909                                Each answer line begins with the settings category name
8910                                followed by a colon and then a space character &lt;SP&gt; and finally
8911                                the info character string to that setting category. At the
8912                                moment the following categories are defined:
8913    </p>
8914    <p>
8915                                    </p>
8916    <blockquote class="text">
8917    <p>FILES_TOTAL -
8918                                            </p>
8919    <blockquote class="text">
8920    <p>The total number of files scheduled for scanning
8921    </p>
8922    </blockquote>
8923                                        
8924    
8925    <p>FILES_SCANNED -
8926                                            </p>
8927    <blockquote class="text">
8928    <p>The current number of scanned files
8929    </p>
8930    </blockquote>
8931                                        
8932    
8933    <p>SCANNING -
8934                                            </p>
8935    <blockquote class="text">
8936    <p>The absolute path name of the file which is currently
8937                                                being scanned
8938    </p>
8939    </blockquote>
8940                                        
8941    
8942    <p>STATUS -
8943                                            </p>
8944    <blockquote class="text">
8945    <p>An integer value between 0 and 100 indicating the
8946                                                scanning progress percentage of the file which is
8947                                                currently being scanned
8948    </p>
8949    </blockquote>
8950                                        
8951    
8952    </blockquote>
8953                                
8954    
8955    </blockquote><p>
8956                        
8957    </p>
8958    <p>The mentioned fields above don't have to be in particular order.
8959    </p>
8960    <p>Example:
8961    </p>
8962    <p>
8963                            </p>
8964    <blockquote class="text">
8965    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8966    </p>
8967    <p>S: "FILES_TOTAL: 12"
8968    </p>
8969    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8970    </p>
8971    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8972    </p>
8973    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8974    </p>
8975    <p>&nbsp;&nbsp;&nbsp;"."
8976    </p>
8977    </blockquote><p>
8978                        
8979    </p>
8980    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
8981    <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>
8982    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
8983    Formatting the instruments database</h3>
8984    
8985    <p>The front-end can remove all instruments and directories and re-create
8986                        the instruments database structure (e.g., in case of a database corruption)
8987                        by sending the following command:
8988    </p>
8989    <p>
8990                            </p>
8991    <blockquote class="text">
8992    <p>FORMAT INSTRUMENTS_DB
8993    </p>
8994    </blockquote><p>
8995                        
8996    </p>
8997    <p>Possible Answers:
8998    </p>
8999    <p>
9000                            </p>
9001    <blockquote class="text">
9002    <p>"OK" -
9003                                    </p>
9004    <blockquote class="text">
9005    <p>on success
9006    </p>
9007    </blockquote>
9008                                
9009    
9010    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9011                                    </p>
9012    <blockquote class="text">
9013    <p>If the formatting of the instruments database
9014                                        failed.
9015    </p>
9016    </blockquote>
9017                                
9018    
9019    </blockquote><p>
9020                        
9021    </p>
9022    <a name="editing_instruments"></a><br /><hr />
9023    <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>
9024    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9025    Editing Instruments</h3>
9026    
9027    <p>The sampler allows to edit instruments while playing with the
9028                    sampler by spawning an external (3rd party) instrument editor
9029                    application for a given instrument. The 3rd party instrument
9030                    editor applications have to place a respective plugin DLL file
9031                    into the sampler's plugins directory. The sampler will
9032                    automatically try to load all plugin DLLs in that directory on
9033                    startup and only on startup!
9034    </p>
9035    <p>At the moment there is only one command for this feature set,
9036                    but this will most probably change in future.
9037    </p>
9038    <a name="EDIT INSTRUMENT"></a><br /><hr />
9039    <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>
9040    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9041    Opening an appropriate instrument editor application</h3>
9042    
9043    <p>The front-end can request to open an appropriate instrument
9044                        editor application by sending the following command:
9045    </p>
9046    <p>
9047                            </p>
9048    <blockquote class="text">
9049    <p>EDIT INSTRUMENT &lt;sampler-channel&gt;
9050    </p>
9051    </blockquote><p>
9052                        
9053    </p>
9054    <p>Where &lt;sampler-channel&gt; should be replaced by the
9055                        number of the sampler channel as given by the
9056                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9057                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9058                        command.
9059    </p>
9060    <p>The sampler will try to ask all registered instrument
9061                        editors (or to be more specific: their sampler plugins)
9062                        whether they are capable to handle the instrument on the
9063                        given sampler channel. The sampler will simply use the first
9064                        instrument editor application which replied with a positive
9065                        answer and spawn that instrument editor application within
9066                        the sampler's process and provide that application access
9067                        to the instrument's data structures, so both applications
9068                        can share and access the same instruments data at the same
9069                        time, thus allowing to immediately hear changes with the
9070                        sampler made by the instrument editor.
9071    </p>
9072    <p>Note: consequently instrument editors are always spawned
9073                        locally on the same machine where the sampler is running
9074                        on!
9075    </p>
9076    <p>Possible Answers:
9077    </p>
9078    <p>
9079                            </p>
9080    <blockquote class="text">
9081    <p>"OK" -
9082                                    </p>
9083    <blockquote class="text">
9084    <p>when an appropriate instrument editor was
9085                                        launched
9086    </p>
9087    </blockquote>
9088                                
9089    
9090    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9091                                    </p>
9092    <blockquote class="text">
9093    <p>when an appropriate instrument editor was
9094                                        launched, but there are noteworthy issues
9095    </p>
9096    </blockquote>
9097                                
9098    
9099    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9100                                    </p>
9101    <blockquote class="text">
9102    <p>when an appropriate instrument editor
9103                                        could not be launched
9104    </p>
9105    </blockquote>
9106                                
9107    
9108    </blockquote><p>
9109                        
9110    </p>
9111    <p>Examples:
9112    </p>
9113    <p>
9114                            </p>
9115    <blockquote class="text">
9116    <p>C: "EDIT INSTRUMENT 0"
9117    </p>
9118    <p>S: "OK"
9119    </p>
9120    </blockquote><p>
9121                        
9122    </p>
9123  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9124  <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>
9125  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 8415  Command Syntax</h3> Line 9226  Command Syntax</h3>
9226  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9227                                    
9228  </p>  </p>
9229    <p>/ FIND SP find_instruction
9230                    
9231    </p>
9232  <p>/ MOVE SP move_instruction  <p>/ MOVE SP move_instruction
9233                                    
9234  </p>  </p>
9235    <p>/ COPY SP copy_instruction
9236                    
9237    </p>
9238    <p>/ EDIT SP edit_instruction
9239                    
9240    </p>
9241    <p>/ FORMAT SP format_instruction
9242                    
9243    </p>
9244  <p>/ RESET  <p>/ RESET
9245                                    
9246  </p>  </p>
# Line 8433  Command Syntax</h3> Line 9256  Command Syntax</h3>
9256  <p>CHANNEL  <p>CHANNEL
9257                                    
9258  </p>  </p>
9259  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9260                                    
9261  </p>  </p>
9262  <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9263                                    
9264  </p>  </p>
9265  <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9266                                    
9267  </p>  </p>
9268  <p>/ DB_INSTRUMENTS SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9269                                    
9270  </p>  </p>
9271  <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9272                    
9273    </p>
9274    <p>/ DB_INSTRUMENTS SP db_path SP filename
9275                    
9276    </p>
9277    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9278                                    
9279  </p>  </p>
9280  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
# Line 8517  Command Syntax</h3> Line 9346  Command Syntax</h3>
9346  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9347                                    
9348  </p>  </p>
9349    <p>/ DB_INSTRUMENTS_JOB_INFO
9350                    
9351    </p>
9352  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9353                                    
9354  </p>  </p>
# Line 8589  Command Syntax</h3> Line 9421  Command Syntax</h3>
9421  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9422                                    
9423  </p>  </p>
9424    <p>/ DB_INSTRUMENTS_JOB_INFO
9425                    
9426    </p>
9427  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9428                                    
9429  </p>  </p>
# Line 8640  Command Syntax</h3> Line 9475  Command Syntax</h3>
9475  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9476                                    
9477  </p>  </p>
9478  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9479                                    
9480  </p>  </p>
9481  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9482                                    
9483  </p>  </p>
9484  <p>/ DB_INSTRUMENT SP pathname  <p>/ DB_INSTRUMENT SP db_path
9485                                    
9486  </p>  </p>
9487  </blockquote><p>  </blockquote><p>
# Line 8754  Command Syntax</h3> Line 9589  Command Syntax</h3>
9589  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9590                                    
9591  </p>  </p>
9592  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9593                                    
9594  </p>  </p>
9595  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9596                                    
9597  </p>  </p>
9598  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9599                                    
9600  </p>  </p>
9601  <p>/ DB_INSTRUMENT SP INFO SP pathname  <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9602                    
9603    </p>
9604    <p>/ DB_INSTRUMENTS SP db_path
9605                    
9606    </p>
9607    <p>/ DB_INSTRUMENT SP INFO SP db_path
9608                    
9609    </p>
9610    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9611                                    
9612  </p>  </p>
9613  <p>/ VOLUME  <p>/ VOLUME
# Line 8784  Command Syntax</h3> Line 9628  Command Syntax</h3>
9628  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9629                                    
9630  </p>  </p>
9631    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9632                    
9633    </p>
9634  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9635                                    
9636  </p>  </p>
# Line 8805  Command Syntax</h3> Line 9652  Command Syntax</h3>
9652  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9653                                    
9654  </p>  </p>
9655  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
9656                                    
9657  </p>  </p>
9658  <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
9659                                    
9660  </p>  </p>
9661  <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
9662                                    
9663  </p>  </p>
9664  <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
9665                                    
9666  </p>  </p>
9667  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
# Line 8871  Command Syntax</h3> Line 9718  Command Syntax</h3>
9718  </blockquote><p>  </blockquote><p>
9719    
9720  </p>  </p>
9721    <p>find_instruction =
9722            </p>
9723    <blockquote class="text">
9724    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
9725                    
9726    </p>
9727    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
9728                    
9729    </p>
9730    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
9731                    
9732    </p>
9733    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
9734                    
9735    </p>
9736    </blockquote><p>
9737    
9738    </p>
9739  <p>move_instruction =  <p>move_instruction =
9740          </p>          </p>
9741  <blockquote class="text">  <blockquote class="text">
9742  <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname  <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9743                    
9744    </p>
9745    <p>/ DB_INSTRUMENT SP db_path SP db_path
9746                    
9747    </p>
9748    </blockquote><p>
9749    
9750    </p>
9751    <p>copy_instruction =
9752            </p>
9753    <blockquote class="text">
9754    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9755                                    
9756  </p>  </p>
9757  <p>/ DB_INSTRUMENT SP pathname SP pathname  <p>/ DB_INSTRUMENT SP db_path SP db_path
9758                                    
9759  </p>  </p>
9760  </blockquote><p>  </blockquote><p>
# Line 8958  Command Syntax</h3> Line 9835  Command Syntax</h3>
9835  </blockquote><p>  </blockquote><p>
9836    
9837  </p>  </p>
9838    <p>edit_instruction =
9839            </p>
9840    <blockquote class="text">
9841    <p>INSTRUMENT SP sampler_channel
9842                    
9843    </p>
9844    </blockquote><p>
9845    
9846    </p>
9847    <p>format_instruction =
9848            </p>
9849    <blockquote class="text">
9850    <p>INSTRUMENTS_DB
9851                    
9852    </p>
9853    </blockquote><p>
9854    
9855    </p>
9856  <p>modal_arg =  <p>modal_arg =
9857          </p>          </p>
9858  <blockquote class="text">  <blockquote class="text">
# Line 9027  Command Syntax</h3> Line 9922  Command Syntax</h3>
9922  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
9923                                    
9924  </p>  </p>
9925  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9926                                    
9927  </p>  </p>
9928  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9929                    
9930    </p>
9931    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9932                    
9933    </p>
9934    <p>/ DB_INSTRUMENTS SP db_path
9935                                    
9936  </p>  </p>
9937  </blockquote><p>  </blockquote><p>
# Line 9213  Command Syntax</h3> Line 10114  Command Syntax</h3>
10114  </blockquote><p>  </blockquote><p>
10115    
10116  </p>  </p>
10117  <p>pathname =  <p>filename =
10118          </p>          </p>
10119  <blockquote class="text">  <blockquote class="text">
10120  <p>stringval  <p>path
10121                                    
10122  </p>  </p>
10123  </blockquote><p>  </blockquote><p>
10124    
10125  </p>  </p>
10126  <p>dirname =  <p>db_path =
10127          </p>          </p>
10128  <blockquote class="text">  <blockquote class="text">
10129  <p>stringval  <p>path
                   
 </p>  
 </blockquote><p>  
   
 </p>  
 <p>filename =  
         </p>  
 <blockquote class="text">  
 <p>stringval  
10130                                    
10131  </p>  </p>
10132  </blockquote><p>  </blockquote><p>
# Line 9297  Command Syntax</h3> Line 10189  Command Syntax</h3>
10189  </blockquote><p>  </blockquote><p>
10190    
10191  </p>  </p>
10192    <p>query_val_list =
10193            </p>
10194    <blockquote class="text">
10195    <p>string '=' query_val
10196                    
10197    </p>
10198    <p>/ query_val_list SP string '=' query_val
10199                    
10200    </p>
10201    </blockquote><p>
10202    
10203    </p>
10204    <p>query_val =
10205            </p>
10206    <blockquote class="text">
10207    <p>textval_escaped
10208                    
10209    </p>
10210    <p>/ stringval_escaped
10211                    
10212    </p>
10213    </blockquote><p>
10214    
10215    </p>
10216    <p>scan_mode =
10217            </p>
10218    <blockquote class="text">
10219    <p>RECURSIVE
10220                    
10221    </p>
10222    <p>/ NON_RECURSIVE
10223                    
10224    </p>
10225    <p>/ FLAT
10226                    
10227    </p>
10228    </blockquote><p>
10229    
10230    </p>
10231    <a name="character_set"></a><br /><hr />
10232    <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>
10233    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10234    Character Set and Escape Sequences</h3>
10235    
10236    <p>Older versions of this protocol up to and including v1.1 only
10237                    supported the standard ASCII character set (ASCII code 0 - 127)
10238                    <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
10239                    however support the Extended ASCII character set (ASCII code
10240                    0 - 255). The same group of younger protocols also support
10241                    escape sequences, but only for certain, explicitly declared
10242                    parts of the protocol. The supported escape sequences are
10243                    defined as follows:
10244    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10245    <col align="left"><col align="left">
10246    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10247    <tr>
10248    <td align="left">\n</td>
10249    <td align="left">new line</td>
10250    </tr>
10251    <tr>
10252    <td align="left">\r</td>
10253    <td align="left">carriage return</td>
10254    </tr>
10255    <tr>
10256    <td align="left">\f</td>
10257    <td align="left">form feed</td>
10258    </tr>
10259    <tr>
10260    <td align="left">\t</td>
10261    <td align="left">horizontal tab</td>
10262    </tr>
10263    <tr>
10264    <td align="left">\v</td>
10265    <td align="left">vertical tab</td>
10266    </tr>
10267    <tr>
10268    <td align="left">\'</td>
10269    <td align="left">apostrophe</td>
10270    </tr>
10271    <tr>
10272    <td align="left">\"</td>
10273    <td align="left">quotation mark</td>
10274    </tr>
10275    <tr>
10276    <td align="left">\\</td>
10277    <td align="left">backslash</td>
10278    </tr>
10279    <tr>
10280    <td align="left">\OOO</td>
10281    <td align="left">three digit octal ASCII code of the character</td>
10282    </tr>
10283    <tr>
10284    <td align="left">\xHH</td>
10285    <td align="left">two digit hex ASCII code of the character</td>
10286    </tr>
10287    </table>
10288    
10289    <p>Notice: due to the transition of certain parts of the
10290                    protocol which now support escape sequences, a slight backward
10291                    incompatibility to protocols version v1.1 and younger has been
10292                    introduced. The only difference is that in parts of the protocol
10293                    where escape characters are now supported, a backslash characters
10294                    MUST be escaped as well (that is as double backslash), whereas
10295                    in the old versions a single backslash was sufficient.
10296    </p>
10297  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10298  <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>
10299  <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 10583  Channel information changed</h3>
10583  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10584  Number of effect sends changed</h3>  Number of effect sends changed</h3>
10585    
10586  <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
10587                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
10588  </p>  </p>
10589  <p>  <p>
# Line 9983  Database instrument information changed< Line 10980  Database instrument information changed<
10980                  (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
10981                  the new name of the instrument, encapsulated into apostrophes.                  the new name of the instrument, encapsulated into apostrophes.
10982  </p>  </p>
10983  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
10984  <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>
10985  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10986    Database job status information changed</h3>
10987    
10988    <p>Client may want to be notified when the status of particular database
10989                    instruments job is changed by issuing the following command:
10990    </p>
10991    <p>
10992                        </p>
10993    <blockquote class="text">
10994    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
10995    </p>
10996    </blockquote><p>
10997                    
10998    </p>
10999    <p>Server will start sending the following notification messages:
11000    </p>
11001    <p>
11002                        </p>
11003    <blockquote class="text">
11004    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11005    </p>
11006    </blockquote><p>
11007                    
11008    </p>
11009    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11010                    which status is changed. The front-end will have to send the respective
11011                    command to actually get the status info. Because these messages
11012                    will be triggered by LSCP commands issued by other clients rather than real
11013                    time events happening on the server, it is believed that an empty notification
11014                    message is sufficient here.
11015    </p>
11016    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11017    <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>
11018    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11019  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11020    
11021  <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 11080  Acknowledgments</h3>
11080  <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>
11081  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11082  <table width="99%" border="0">  <table width="99%" border="0">
11083    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11084    <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>
11085  <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>
11086  <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>
11087  <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>
# Line 10127  Please address the information to the IE Line 11159  Please address the information to the IE
11159  Funding for the RFC Editor function is provided by  Funding for the RFC Editor function is provided by
11160  the IETF Administrative Support Activity (IASA).</p>  the IETF Administrative Support Activity (IASA).</p>
11161  </body></html>  </body></html>
11162    

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

  ViewVC Help
Powered by ViewVC