/[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 1137 by iliev, Thu Mar 29 10:06:37 2007 UTC revision 1251 by schoenebeck, Fri Jun 22 14:24:57 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2  <html lang="en"><head><title>LinuxSampler Control Protocol</title>  <html lang="en"><head><title>LinuxSampler Control Protocol (draft)</title>
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol (draft)">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'><!--  <style type='text/css'><!--
# Line 145  Line 145 
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">Expires: September 30, 2007</td><td class="header">March 29, 2007</td></tr>  <tr><td class="header">Expires: December 24, 2007</td><td class="header">June 22, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol (draft)<br />LSCP 1.2cvs</h1>
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
# Line 173  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on September 30, 2007.</p>  This Internet-Draft will expire on December 24, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
# Line 388  Remove an entry from the MIDI instrument Line 388  Remove an entry from the MIDI instrument
388  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
389  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
390  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
392    Managing Instruments Database<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
394    Creating a new instrument directory<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
396    Deleting an instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
398    Getting amount of instrument directories<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
400    Listing all directories in specific directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
402    Getting instrument directory information<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
404    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;
406    Moving an instrument directory<br />
407    &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 />
411    &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 />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416    Removing an instrument<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418    Getting amount of instruments<br />
419    &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 />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422    Getting instrument information<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424    Renaming an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426    Moving an instrument<br />
427    &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 />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
434    Getting job status information<br />
435  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
436  Command Syntax<br />  Command Syntax<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
438    Character Set and Escape Sequences<br />
439  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
440  Events<br />  Events<br />
441  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
# Line 426  Number of MIDI instruments changed<br /> Line 472  Number of MIDI instruments changed<br />
472  MIDI instrument information changed<br />  MIDI instrument information changed<br />
473  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
474  Global settings changed<br />  Global settings changed<br />
475  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.18.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
476    Number of database instrument directories changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
478    Database instrument directory information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
480    Number of database instruments changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
482    Database instrument information changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
484    Database job status information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
486  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
487  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
488  Security Considerations<br />  Security Considerations<br />
# Line 458  Requirements notation</h3> Line 514  Requirements notation</h3>
514              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
515              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
516              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
517              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>),
518              example:              thus the following example:
519  </p>  </p>
520  <p>  <p>
521                  </p>                  </p>
# Line 3321  Loading an instrument</h3> Line 3377  Loading an instrument</h3>
3377                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3378                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3379  </p>  </p>
3380    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3381                        escape characters for special characters (see chapter
3382                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"
3383                        for details) and accordingly backslash characters in the filename
3384                        MUST now be escaped as well!
3385    </p>
3386  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3387                      is that the regular command returns OK only after the instrument has been                      is that the regular command returns OK only after the instrument has been
3388                      fully loaded and the channel is ready to be used while NON_MODAL version                      fully loaded and the channel is ready to be used while NON_MODAL version
# Line 6056  General sampler informations</h3> Line 6118  General sampler informations</h3>
6118  </blockquote>  </blockquote>
6119                                                                            
6120    
6121    <p>INSTRUMENTS_DB_SUPPORT -
6122                                            </p>
6123    <blockquote class="text">
6124    <p>either yes or no, specifies whether the
6125                                                sampler is build with instruments database support.
6126    </p>
6127    </blockquote>
6128                                        
6129    
6130  </blockquote>  </blockquote>
6131                                                            
6132    
# Line 6584  Create or replace a MIDI instrument map Line 6655  Create or replace a MIDI instrument map
6655                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6656                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6657                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6658                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6659                        supporting escape sequences as described in chapter
6660                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"),
6661                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6662                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6663                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 7166  Clear MIDI instrument map</h3> Line 7239  Clear MIDI instrument map</h3>
7239  </blockquote><p>  </blockquote><p>
7240                                            
7241  </p>  </p>
7242    <a name="Managing Instruments Database"></a><br /><hr />
7243    <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>
7244    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7245    Managing Instruments Database</h3>
7246    
7247    <p>The following commands describe how to use and manage
7248                    the instruments database.
7249    </p>
7250    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7251    <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>
7252    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7253    Creating a new instrument directory</h3>
7254    
7255    <p>The front-end can add a new instrument directory to the
7256                        instruments database by sending the following command:
7257    </p>
7258    <p>
7259                            </p>
7260    <blockquote class="text">
7261    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7262    </p>
7263    </blockquote><p>
7264                        
7265    </p>
7266    <p>Where &lt;dir&gt; is the absolute path name of the directory
7267                        to be created (encapsulated into apostrophes).
7268    </p>
7269    <p>Possible Answers:
7270    </p>
7271    <p>
7272                            </p>
7273    <blockquote class="text">
7274    <p>"OK" -
7275                                    </p>
7276    <blockquote class="text">
7277    <p>on success
7278    </p>
7279    </blockquote>
7280                                
7281    
7282    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7283                                    </p>
7284    <blockquote class="text">
7285    <p>when the directory could not be created, which
7286                                        can happen if the directory already exists or the
7287                                        name contains not allowed symbols
7288    </p>
7289    </blockquote>
7290                                
7291    
7292    </blockquote><p>
7293                        
7294    </p>
7295    <p>Examples:
7296    </p>
7297    <p>
7298                            </p>
7299    <blockquote class="text">
7300    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7301    </p>
7302    <p>S: "OK"
7303    </p>
7304    </blockquote><p>
7305                        
7306    </p>
7307    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7308    <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>
7309    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7310    Deleting an instrument directory</h3>
7311    
7312    <p>The front-end can delete a particular instrument directory
7313                        from the instruments database by sending the following command:
7314    </p>
7315    <p>
7316                            </p>
7317    <blockquote class="text">
7318    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7319    </p>
7320    </blockquote><p>
7321                        
7322    </p>
7323    <p>Where &lt;dir&gt; is the absolute path name of the directory
7324                        to delete. The optional FORCE argument can be used to
7325                        force the deletion of a non-empty directory and all its content.
7326    </p>
7327    <p>Possible Answers:
7328    </p>
7329    <p>
7330                            </p>
7331    <blockquote class="text">
7332    <p>"OK" -
7333                                    </p>
7334    <blockquote class="text">
7335    <p>if the directory is deleted successfully
7336    </p>
7337    </blockquote>
7338                                
7339    
7340    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7341                                    </p>
7342    <blockquote class="text">
7343    <p>if the given directory does not exist, or
7344                                        if trying to delete a non-empty directory,
7345                                        without using the FORCE argument.
7346    </p>
7347    </blockquote>
7348                                
7349    
7350    </blockquote><p>
7351                        
7352    </p>
7353    <p>Examples:
7354    </p>
7355    <p>
7356                            </p>
7357    <blockquote class="text">
7358    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7359    </p>
7360    <p>S: "OK"
7361    </p>
7362    </blockquote><p>
7363                        
7364    </p>
7365    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7366    <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>
7367    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7368    Getting amount of instrument directories</h3>
7369    
7370    <p>The front-end can retrieve the current amount of
7371                        directories in a specific directory by sending the following command:
7372    </p>
7373    <p>
7374                            </p>
7375    <blockquote class="text">
7376    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7377    </p>
7378    </blockquote><p>
7379                        
7380    </p>
7381    <p>Where &lt;dir&gt; should be replaced by the absolute path
7382                        name of the directory. If RECURSIVE is specified, the number of
7383                        all directories, including those located in subdirectories of the
7384                        specified directory, will be returned.
7385    </p>
7386    <p>Possible Answers:
7387    </p>
7388    <p>
7389                            </p>
7390    <blockquote class="text">
7391    <p>The current number of instrument directories
7392                                in the specified directory.
7393    </p>
7394    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7395                                    </p>
7396    <blockquote class="text">
7397    <p>if the given directory does not exist.
7398    </p>
7399    </blockquote>
7400                                
7401    
7402    </blockquote><p>
7403                        
7404    </p>
7405    <p>Example:
7406    </p>
7407    <p>
7408                            </p>
7409    <blockquote class="text">
7410    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7411    </p>
7412    <p>S: "2"
7413    </p>
7414    </blockquote><p>
7415                        
7416    </p>
7417    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7418    <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>
7419    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7420    Listing all directories in specific directory</h3>
7421    
7422    <p>The front-end can retrieve the current list of directories
7423                        in specific directory by sending the following command:
7424    </p>
7425    <p>
7426                            </p>
7427    <blockquote class="text">
7428    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7429    </p>
7430    </blockquote><p>
7431                        
7432    </p>
7433    <p>Where &lt;dir&gt; should be replaced by the absolute path
7434                        name of the directory. If RECURSIVE is specified, the absolute path names
7435                        of all directories, including those located in subdirectories of the
7436                        specified directory, will be returned.
7437    </p>
7438    <p>Possible Answers:
7439    </p>
7440    <p>
7441                            </p>
7442    <blockquote class="text">
7443    <p>A comma separated list of all instrument directories
7444                                (encapsulated into apostrophes) in the specified directory.
7445    </p>
7446    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7447                                    </p>
7448    <blockquote class="text">
7449    <p>if the given directory does not exist.
7450    </p>
7451    </blockquote>
7452                                
7453    
7454    </blockquote><p>
7455                        
7456    </p>
7457    <p>Example:
7458    </p>
7459    <p>
7460                            </p>
7461    <blockquote class="text">
7462    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7463    </p>
7464    <p>S: "'Piano Collection','Percussion Collection'"
7465    </p>
7466    </blockquote><p>
7467                        
7468    </p>
7469    <p>
7470                            </p>
7471    <blockquote class="text">
7472    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7473    </p>
7474    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7475    </p>
7476    </blockquote><p>
7477                        
7478    </p>
7479    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7480    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7481    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7482    Getting instrument directory information</h3>
7483    
7484    <p>The front-end can ask for the current settings of an
7485                        instrument directory by sending the following command:
7486    </p>
7487    <p>
7488                            </p>
7489    <blockquote class="text">
7490    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7491    </p>
7492    </blockquote><p>
7493                        
7494    </p>
7495    <p>Where &lt;dir&gt; should be replaced by the absolute path
7496                        name of the directory the front-end is interested in.
7497    </p>
7498    <p>Possible Answers:
7499    </p>
7500    <p>
7501                            </p>
7502    <blockquote class="text">
7503    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7504                                Each answer line begins with the settings category name
7505                                followed by a colon and then a space character &lt;SP&gt; and finally
7506                                the info character string to that setting category. At the
7507                                moment the following categories are defined:
7508    </p>
7509    <p>
7510                                    </p>
7511    <blockquote class="text">
7512    <p>DESCRIPTION -
7513                                            </p>
7514    <blockquote class="text">
7515    <p>A brief description of the directory content
7516    </p>
7517    </blockquote>
7518                                        
7519    
7520    <p>CREATED -
7521                                            </p>
7522    <blockquote class="text">
7523    <p>The creation date and time of the directory,
7524                                                represented in "YYYY-MM-DD HH:MM:SS" format
7525    </p>
7526    </blockquote>
7527                                        
7528    
7529    <p>MODIFIED -
7530                                            </p>
7531    <blockquote class="text">
7532    <p>The date and time of the last modification of the
7533                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7534    </p>
7535    </blockquote>
7536                                        
7537    
7538    </blockquote>
7539                                
7540    
7541    </blockquote><p>
7542                        
7543    </p>
7544    <p>The mentioned fields above don't have to be in particular order.
7545    </p>
7546    <p>Example:
7547    </p>
7548    <p>
7549                            </p>
7550    <blockquote class="text">
7551    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7552    </p>
7553    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7554    </p>
7555    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7556    </p>
7557    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7558    </p>
7559    <p>&nbsp;&nbsp;&nbsp;"."
7560    </p>
7561    </blockquote><p>
7562                        
7563    </p>
7564    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7565    <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>
7566    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7567    Renaming an instrument directory</h3>
7568    
7569    <p>The front-end can alter the name of a specific
7570                        instrument directory by sending the following command:
7571    </p>
7572    <p>
7573                            </p>
7574    <blockquote class="text">
7575    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7576    </p>
7577    </blockquote><p>
7578                        
7579    </p>
7580    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7581                        &lt;name&gt; is the new name for that directory.
7582    </p>
7583    <p>Possible Answers:
7584    </p>
7585    <p>
7586                            </p>
7587    <blockquote class="text">
7588    <p>"OK" -
7589                                    </p>
7590    <blockquote class="text">
7591    <p>on success
7592    </p>
7593    </blockquote>
7594                                
7595    
7596    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7597                                    </p>
7598    <blockquote class="text">
7599    <p>in case the given directory does not exists,
7600                                        or if a directory with name equal to the new
7601                                        name already exists.
7602    </p>
7603    </blockquote>
7604                                
7605    
7606    </blockquote><p>
7607                        
7608    </p>
7609    <p>Example:
7610    </p>
7611    <p>
7612                            </p>
7613    <blockquote class="text">
7614    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7615    </p>
7616    <p>S: "OK"
7617    </p>
7618    </blockquote><p>
7619                        
7620    </p>
7621    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7622    <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>
7623    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7624    Moving an instrument directory</h3>
7625    
7626    <p>The front-end can move a specific
7627                        instrument directory by sending the following command:
7628    </p>
7629    <p>
7630                            </p>
7631    <blockquote class="text">
7632    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7633    </p>
7634    </blockquote><p>
7635                        
7636    </p>
7637    <p>Where &lt;dir&gt; is the absolute path name of the directory
7638                        to move and &lt;dst&gt; is the location where the directory will
7639                        be moved to.
7640    </p>
7641    <p>Possible Answers:
7642    </p>
7643    <p>
7644                            </p>
7645    <blockquote class="text">
7646    <p>"OK" -
7647                                    </p>
7648    <blockquote class="text">
7649    <p>on success
7650    </p>
7651    </blockquote>
7652                                
7653    
7654    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7655                                    </p>
7656    <blockquote class="text">
7657    <p>in case a given directory does not exists,
7658                                        or if a directory with name equal to the name
7659                                        of the specified directory already exists in
7660                                        the destination directory. Error is also thrown
7661                                        when trying to move a directory to a subdirectory
7662                                        of itself.
7663    </p>
7664    </blockquote>
7665                                
7666    
7667    </blockquote><p>
7668                        
7669    </p>
7670    <p>Example:
7671    </p>
7672    <p>
7673                            </p>
7674    <blockquote class="text">
7675    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7676    </p>
7677    <p>S: "OK"
7678    </p>
7679    </blockquote><p>
7680                        
7681    </p>
7682    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7683    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7684    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7685    Copying instrument directories</h3>
7686    
7687    <p>The front-end can copy a specific
7688                        instrument directory by sending the following command:
7689    </p>
7690    <p>
7691                            </p>
7692    <blockquote class="text">
7693    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7694    </p>
7695    </blockquote><p>
7696                        
7697    </p>
7698    <p>Where &lt;dir&gt; is the absolute path name of the directory
7699                        to copy and &lt;dst&gt; is the location where the directory will
7700                        be copied to.
7701    </p>
7702    <p>Possible Answers:
7703    </p>
7704    <p>
7705                            </p>
7706    <blockquote class="text">
7707    <p>"OK" -
7708                                    </p>
7709    <blockquote class="text">
7710    <p>on success
7711    </p>
7712    </blockquote>
7713                                
7714    
7715    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7716                                    </p>
7717    <blockquote class="text">
7718    <p>in case a given directory does not exists,
7719                                        or if a directory with name equal to the name
7720                                        of the specified directory already exists in
7721                                        the destination directory. Error is also thrown
7722                                        when trying to copy a directory to a subdirectory
7723                                        of itself.
7724    </p>
7725    </blockquote>
7726                                
7727    
7728    </blockquote><p>
7729                        
7730    </p>
7731    <p>Example:
7732    </p>
7733    <p>
7734                            </p>
7735    <blockquote class="text">
7736    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7737    </p>
7738    <p>S: "OK"
7739    </p>
7740    </blockquote><p>
7741                        
7742    </p>
7743    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7744    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7745    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7746    Changing the description of directory</h3>
7747    
7748    <p>The front-end can alter the description of a specific
7749                        instrument directory by sending the following command:
7750    </p>
7751    <p>
7752                            </p>
7753    <blockquote class="text">
7754    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7755    </p>
7756    </blockquote><p>
7757                        
7758    </p>
7759    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7760                        &lt;desc&gt; is the new description for the directory.
7761    </p>
7762    <p>Possible Answers:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>"OK" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>on success
7771    </p>
7772    </blockquote>
7773                                
7774    
7775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>in case the given directory does not exists.
7779    </p>
7780    </blockquote>
7781                                
7782    
7783    </blockquote><p>
7784                        
7785    </p>
7786    <p>Example:
7787    </p>
7788    <p>
7789                            </p>
7790    <blockquote class="text">
7791    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7792    </p>
7793    <p>S: "OK"
7794    </p>
7795    </blockquote><p>
7796                        
7797    </p>
7798    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7799    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7800    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7801    Finding directories</h3>
7802    
7803    <p>The front-end can search for directories
7804                        in specific directory by sending the following command:
7805    </p>
7806    <p>
7807                            </p>
7808    <blockquote class="text">
7809    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7810    </p>
7811    </blockquote><p>
7812                        
7813    </p>
7814    <p>Where &lt;dir&gt; should be replaced by the absolute path
7815                        name of the directory to search in. If NON_RECURSIVE is specified, the
7816                        directories located in subdirectories of the specified directory will not
7817                        be searched. &lt;criteria-list&gt; is a list of search criterias
7818                        in form of "key1=val1 key2=val2 ...". The following criterias are
7819                        allowed:
7820    </p>
7821    <p>
7822                          
7823    <p>NAME='&lt;search-string&gt;'
7824                              </p>
7825    <blockquote class="text">
7826    <p>Restricts the search to directories, which names
7827                                  satisfy the supplied search string.
7828    </p>
7829    </blockquote><p>
7830                          
7831    </p>
7832    
7833                          
7834    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7835                              </p>
7836    <blockquote class="text">
7837    <p>Restricts the search to directories, which creation
7838                                  date satisfies the specified period, where &lt;date-after&gt;
7839                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7840                                  If &lt;date-after&gt; is omitted the search is restricted to
7841                                  directories created before &lt;date-before&gt;. If
7842                                  &lt;date-before&gt; is omitted, the search is restricted
7843                                  to directories created after &lt;date-after&gt;.
7844    </p>
7845    </blockquote><p>
7846                          
7847    </p>
7848    
7849                          
7850    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7851                              </p>
7852    <blockquote class="text">
7853    <p>Restricts the search to directories, which
7854                                  date of last modification satisfies the specified period, where
7855                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7856                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7857                                  directories, which are last modified before &lt;date-before&gt;. If
7858                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7859                                  which are last modified after &lt;date-after&gt;.
7860    </p>
7861    </blockquote><p>
7862                          
7863    </p>
7864    
7865                          
7866    <p>DESCRIPTION='&lt;search-string&gt;'
7867                              </p>
7868    <blockquote class="text">
7869    <p>Restricts the search to directories with description
7870                                  that satisfies the supplied search string.
7871    </p>
7872    </blockquote><p>
7873                          
7874    </p>
7875                        
7876    
7877    <p>Where &lt;search-string&gt; is either a regular expression, or a
7878                        word list separated with spaces for OR search and with '+' for AND search.
7879    </p>
7880    <p>Possible Answers:
7881    </p>
7882    <p>
7883                            </p>
7884    <blockquote class="text">
7885    <p>A comma separated list with the absolute path names (encapsulated into
7886                                apostrophes) of all directories in the specified directory that satisfy
7887                                the supplied search criterias.
7888    </p>
7889    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7890                                    </p>
7891    <blockquote class="text">
7892    <p>if the given directory does not exist.
7893    </p>
7894    </blockquote>
7895                                
7896    
7897    </blockquote><p>
7898                        
7899    </p>
7900    <p>Example:
7901    </p>
7902    <p>
7903                            </p>
7904    <blockquote class="text">
7905    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7906    </p>
7907    <p>S: "'/Piano Collection'"
7908    </p>
7909    </blockquote><p>
7910                        
7911    </p>
7912    <p>
7913                            </p>
7914    <blockquote class="text">
7915    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7916    </p>
7917    <p>S: "'/Piano Collection','/Percussions'"
7918    </p>
7919    </blockquote><p>
7920                        
7921    </p>
7922    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7923    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7924    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7925    Adding instruments to the instruments database</h3>
7926    
7927    <p>The front-end can add one or more instruments
7928                        to the instruments database by sending the following command:
7929    </p>
7930    <p>
7931                            </p>
7932    <blockquote class="text">
7933    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7934    </p>
7935    </blockquote><p>
7936                        
7937    </p>
7938    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7939                        (encapsulated into apostrophes) in the instruments database in which
7940                        only the new instruments (that are not already in the database) will
7941                        be added, &lt;file_path&gt; is the absolute path name of a file or
7942                        directory in the file system (encapsulated into apostrophes). In case
7943                        an instrument file is supplied, only the instruments in the specified
7944                        file will be added to the instruments database. If the optional
7945                        &lt;instr_index&gt; (the index of the instrument within the given file)
7946                        is supplied too, then only the specified instrument will be added.
7947                        In case a directory is supplied, the instruments in that directory
7948                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7949                        when a directory is provided as &lt;file_path&gt; and specifies how the
7950                        scanning will be done and has exactly the following possibilities:
7951    </p>
7952    <p>
7953                            </p>
7954    <blockquote class="text">
7955    <p>"RECURSIVE" -
7956                                    </p>
7957    <blockquote class="text">
7958    <p>All instruments will be processed, including those
7959                                        in the subdirectories, and the respective subdirectory
7960                                        tree structure will be recreated in the instruments
7961                                        database
7962    </p>
7963    </blockquote>
7964                                
7965    
7966    <p>"NON_RECURSIVE" -
7967                                    </p>
7968    <blockquote class="text">
7969    <p>Only the instruments in the specified directory
7970                                        will be added, the instruments in the subdirectories
7971                                        will not be processed.
7972    </p>
7973    </blockquote>
7974                                
7975    
7976    <p>"FLAT" -
7977                                    </p>
7978    <blockquote class="text">
7979    <p>All instruments will be processed, including those
7980                                        in the subdirectories, but the respective subdirectory
7981                                        structure will not be recreated in the instruments
7982                                        database. All instruments will be added directly in
7983                                        the specified database directory.
7984    </p>
7985    </blockquote>
7986                                
7987    
7988    </blockquote><p>
7989                        
7990    </p>
7991    <p>The difference between regular and NON_MODAL versions of the command
7992                        is that the regular command returns when the scanning is finished
7993                        while NON_MODAL version returns immediately and a background process is launched.
7994                        The <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
7995                        command can be used to monitor the scanning progress.
7996    </p>
7997    <p>Possible Answers:
7998    </p>
7999    <p>
8000                            </p>
8001    <blockquote class="text">
8002    <p>"OK" -
8003                                    </p>
8004    <blockquote class="text">
8005    <p>on success when NON_MODAL is not supplied
8006    </p>
8007    </blockquote>
8008                                
8009    
8010    <p>"OK[&lt;job-id&gt;]" -
8011                                    </p>
8012    <blockquote class="text">
8013    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8014                                        is a numerical ID used to obtain status information about the job progress.
8015                                        See <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8016                                        
8017    </p>
8018    </blockquote>
8019                                
8020    
8021    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8022                                    </p>
8023    <blockquote class="text">
8024    <p>if an invalid path is specified.
8025    </p>
8026    </blockquote>
8027                                
8028    
8029    </blockquote><p>
8030                        
8031    </p>
8032    <p>Examples:
8033    </p>
8034    <p>
8035                            </p>
8036    <blockquote class="text">
8037    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8038    </p>
8039    <p>S: "OK"
8040    </p>
8041    </blockquote><p>
8042                        
8043    </p>
8044    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8045    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8046    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8047    Removing an instrument</h3>
8048    
8049    <p>The front-end can remove a particular instrument
8050                        from the instruments database by sending the following command:
8051    </p>
8052    <p>
8053                            </p>
8054    <blockquote class="text">
8055    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8056    </p>
8057    </blockquote><p>
8058                        
8059    </p>
8060    <p>Where &lt;instr_path&gt; is the absolute path name
8061                        (in the instruments database) of the instrument to remove.
8062    </p>
8063    <p>Possible Answers:
8064    </p>
8065    <p>
8066                            </p>
8067    <blockquote class="text">
8068    <p>"OK" -
8069                                    </p>
8070    <blockquote class="text">
8071    <p>if the instrument is removed successfully
8072    </p>
8073    </blockquote>
8074                                
8075    
8076    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8077                                    </p>
8078    <blockquote class="text">
8079    <p>if the given path does not exist or
8080                                        is a directory.
8081    </p>
8082    </blockquote>
8083                                
8084    
8085    </blockquote><p>
8086                        
8087    </p>
8088    <p>Examples:
8089    </p>
8090    <p>
8091                            </p>
8092    <blockquote class="text">
8093    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8094    </p>
8095    <p>S: "OK"
8096    </p>
8097    </blockquote><p>
8098                        
8099    </p>
8100    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8101    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8102    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8103    Getting amount of instruments</h3>
8104    
8105    <p>The front-end can retrieve the current amount of
8106                        instruments in a specific directory by sending the following command:
8107    </p>
8108    <p>
8109                            </p>
8110    <blockquote class="text">
8111    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8112    </p>
8113    </blockquote><p>
8114                        
8115    </p>
8116    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8117                        of the directory. If RECURSIVE is specified, the number of all
8118                        instruments, including those located in subdirectories of the
8119                        specified directory, will be returned.
8120    </p>
8121    <p>Possible Answers:
8122    </p>
8123    <p>
8124                            </p>
8125    <blockquote class="text">
8126    <p>The current number of instruments
8127                                in the specified directory.
8128    </p>
8129    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8130                                    </p>
8131    <blockquote class="text">
8132    <p>if the given directory does not exist.
8133    </p>
8134    </blockquote>
8135                                
8136    
8137    </blockquote><p>
8138                        
8139    </p>
8140    <p>Example:
8141    </p>
8142    <p>
8143                            </p>
8144    <blockquote class="text">
8145    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8146    </p>
8147    <p>S: "2"
8148    </p>
8149    </blockquote><p>
8150                        
8151    </p>
8152    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8153    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8154    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8155    Listing all instruments in specific directory</h3>
8156    
8157    <p>The front-end can retrieve the current list of instruments
8158                        in specific directory by sending the following command:
8159    </p>
8160    <p>
8161                            </p>
8162    <blockquote class="text">
8163    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8164    </p>
8165    </blockquote><p>
8166                        
8167    </p>
8168    <p>Where &lt;dir&gt; should be replaced by the absolute path
8169                        name of the directory. If RECURSIVE is specified, the absolute path
8170                        names of all instruments, including those located in subdirectories
8171                        of the specified directory, will be returned.
8172    </p>
8173    <p>Possible Answers:
8174    </p>
8175    <p>
8176                            </p>
8177    <blockquote class="text">
8178    <p>A comma separated list of all instruments
8179                                (encapsulated into apostrophes) in the specified directory.
8180    </p>
8181    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8182                                    </p>
8183    <blockquote class="text">
8184    <p>if the given directory does not exist.
8185    </p>
8186    </blockquote>
8187                                
8188    
8189    </blockquote><p>
8190                        
8191    </p>
8192    <p>Example:
8193    </p>
8194    <p>
8195                            </p>
8196    <blockquote class="text">
8197    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8198    </p>
8199    <p>S: "'Bosendorfer 290','Steinway D'"
8200    </p>
8201    </blockquote><p>
8202                        
8203    </p>
8204    <p>
8205                            </p>
8206    <blockquote class="text">
8207    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8208    </p>
8209    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8210    </p>
8211    </blockquote><p>
8212                        
8213    </p>
8214    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8215    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8216    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8217    Getting instrument information</h3>
8218    
8219    <p>The front-end can ask for the current settings of an
8220                        instrument by sending the following command:
8221    </p>
8222    <p>
8223                            </p>
8224    <blockquote class="text">
8225    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8226    </p>
8227    </blockquote><p>
8228                        
8229    </p>
8230    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8231                        name of the instrument the front-end is interested in.
8232    </p>
8233    <p>Possible Answers:
8234    </p>
8235    <p>
8236                            </p>
8237    <blockquote class="text">
8238    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8239                                Each answer line begins with the settings category name
8240                                followed by a colon and then a space character &lt;SP&gt; and finally
8241                                the info character string to that setting category. At the
8242                                moment the following categories are defined:
8243    </p>
8244    <p>
8245                                    </p>
8246    <blockquote class="text">
8247    <p>INSTRUMENT_FILE -
8248                                            </p>
8249    <blockquote class="text">
8250    <p>File name of the instrument.
8251    </p>
8252    </blockquote>
8253                                        
8254    
8255    <p>INSTRUMENT_NR -
8256                                            </p>
8257    <blockquote class="text">
8258    <p>Index of the instrument within the file.
8259    </p>
8260    </blockquote>
8261                                        
8262    
8263    <p>FORMAT_FAMILY -
8264                                            </p>
8265    <blockquote class="text">
8266    <p>The format family of the instrument.
8267    </p>
8268    </blockquote>
8269                                        
8270    
8271    <p>FORMAT_VERSION -
8272                                            </p>
8273    <blockquote class="text">
8274    <p>The format version of the instrument.
8275    </p>
8276    </blockquote>
8277                                        
8278    
8279    <p>SIZE -
8280                                            </p>
8281    <blockquote class="text">
8282    <p>The size of the instrument in bytes.
8283    </p>
8284    </blockquote>
8285                                        
8286    
8287    <p>CREATED -
8288                                            </p>
8289    <blockquote class="text">
8290    <p>The date and time when the instrument is added
8291                                                in the instruments database, represented in
8292                                               "YYYY-MM-DD HH:MM:SS" format
8293    </p>
8294    </blockquote>
8295                                        
8296    
8297    <p>MODIFIED -
8298                                            </p>
8299    <blockquote class="text">
8300    <p>The date and time of the last modification of the
8301                                                instrument's database settings, represented in
8302                                                "YYYY-MM-DD HH:MM:SS" format
8303    </p>
8304    </blockquote>
8305                                        
8306    
8307    <p>DESCRIPTION -
8308                                            </p>
8309    <blockquote class="text">
8310    <p>A brief description of the instrument
8311    </p>
8312    </blockquote>
8313                                        
8314    
8315    <p>IS_DRUM -
8316                                            </p>
8317    <blockquote class="text">
8318    <p>either true or false, determines whether the
8319                                                instrument is a drumkit or a chromatic instrument
8320    </p>
8321    </blockquote>
8322                                        
8323    
8324    <p>PRODUCT -
8325                                            </p>
8326    <blockquote class="text">
8327    <p>The product title of the instrument
8328    </p>
8329    </blockquote>
8330                                        
8331    
8332    <p>ARTISTS -
8333                                            </p>
8334    <blockquote class="text">
8335    <p>Lists the artist names
8336    </p>
8337    </blockquote>
8338                                        
8339    
8340    <p>KEYWORDS -
8341                                            </p>
8342    <blockquote class="text">
8343    <p>Provides a list of keywords that refer to the instrument.
8344                                                Keywords are separated with semicolon and blank.
8345    </p>
8346    </blockquote>
8347                                        
8348    
8349    </blockquote>
8350                                
8351    
8352    </blockquote><p>
8353                        
8354    </p>
8355    <p>The mentioned fields above don't have to be in particular order.
8356    </p>
8357    <p>Example:
8358    </p>
8359    <p>
8360                            </p>
8361    <blockquote class="text">
8362    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8363    </p>
8364    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8365    </p>
8366    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8367    </p>
8368    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8369    </p>
8370    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8371    </p>
8372    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8373    </p>
8374    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8375    </p>
8376    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8377    </p>
8378    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8379    </p>
8380    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8381    </p>
8382    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8383    </p>
8384    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8385    </p>
8386    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8387    </p>
8388    <p>&nbsp;&nbsp;&nbsp;"."
8389    </p>
8390    </blockquote><p>
8391                        
8392    </p>
8393    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8394    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8395    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8396    Renaming an instrument</h3>
8397    
8398    <p>The front-end can alter the name of a specific
8399                        instrument by sending the following command:
8400    </p>
8401    <p>
8402                            </p>
8403    <blockquote class="text">
8404    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8405    </p>
8406    </blockquote><p>
8407                        
8408    </p>
8409    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8410                        &lt;name&gt; is the new name for that instrument.
8411    </p>
8412    <p>Possible Answers:
8413    </p>
8414    <p>
8415                            </p>
8416    <blockquote class="text">
8417    <p>"OK" -
8418                                    </p>
8419    <blockquote class="text">
8420    <p>on success
8421    </p>
8422    </blockquote>
8423                                
8424    
8425    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8426                                    </p>
8427    <blockquote class="text">
8428    <p>in case the given instrument does not exists,
8429                                        or if an instrument with name equal to the new
8430                                        name already exists.
8431    </p>
8432    </blockquote>
8433                                
8434    
8435    </blockquote><p>
8436                        
8437    </p>
8438    <p>Example:
8439    </p>
8440    <p>
8441                            </p>
8442    <blockquote class="text">
8443    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8444    </p>
8445    <p>S: "OK"
8446    </p>
8447    </blockquote><p>
8448                        
8449    </p>
8450    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8451    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8452    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8453    Moving an instrument</h3>
8454    
8455    <p>The front-end can move a specific instrument to another directory by
8456                        sending the following command:
8457    </p>
8458    <p>
8459                            </p>
8460    <blockquote class="text">
8461    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8462    </p>
8463    </blockquote><p>
8464                        
8465    </p>
8466    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8467                        to move and &lt;dst&gt; is the directory where the instrument will
8468                        be moved to.
8469    </p>
8470    <p>Possible Answers:
8471    </p>
8472    <p>
8473                            </p>
8474    <blockquote class="text">
8475    <p>"OK" -
8476                                    </p>
8477    <blockquote class="text">
8478    <p>on success
8479    </p>
8480    </blockquote>
8481                                
8482    
8483    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8484                                    </p>
8485    <blockquote class="text">
8486    <p>in case the given instrument does not exists,
8487                                        or if an instrument with name equal to the name of the
8488                                        specified instrument already exists in the destination
8489                                        directory.
8490    </p>
8491    </blockquote>
8492                                
8493    
8494    </blockquote><p>
8495                        
8496    </p>
8497    <p>Example:
8498    </p>
8499    <p>
8500                            </p>
8501    <blockquote class="text">
8502    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8503    </p>
8504    <p>S: "OK"
8505    </p>
8506    </blockquote><p>
8507                        
8508    </p>
8509    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8510    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8511    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8512    Copying instruments</h3>
8513    
8514    <p>The front-end can copy a specific instrument to another directory by
8515                        sending the following command:
8516    </p>
8517    <p>
8518                            </p>
8519    <blockquote class="text">
8520    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8521    </p>
8522    </blockquote><p>
8523                        
8524    </p>
8525    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8526                        to copy and &lt;dst&gt; is the directory where the instrument will
8527                        be copied to.
8528    </p>
8529    <p>Possible Answers:
8530    </p>
8531    <p>
8532                            </p>
8533    <blockquote class="text">
8534    <p>"OK" -
8535                                    </p>
8536    <blockquote class="text">
8537    <p>on success
8538    </p>
8539    </blockquote>
8540                                
8541    
8542    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8543                                    </p>
8544    <blockquote class="text">
8545    <p>in case the given instrument does not exists,
8546                                        or if an instrument with name equal to the name of the
8547                                        specified instrument already exists in the destination
8548                                        directory.
8549    </p>
8550    </blockquote>
8551                                
8552    
8553    </blockquote><p>
8554                        
8555    </p>
8556    <p>Example:
8557    </p>
8558    <p>
8559                            </p>
8560    <blockquote class="text">
8561    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8562    </p>
8563    <p>S: "OK"
8564    </p>
8565    </blockquote><p>
8566                        
8567    </p>
8568    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8569    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8570    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8571    Changing the description of instrument</h3>
8572    
8573    <p>The front-end can alter the description of a specific
8574                        instrument by sending the following command:
8575    </p>
8576    <p>
8577                            </p>
8578    <blockquote class="text">
8579    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8580    </p>
8581    </blockquote><p>
8582                        
8583    </p>
8584    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8585                        &lt;desc&gt; is the new description for the instrument.
8586    </p>
8587    <p>Possible Answers:
8588    </p>
8589    <p>
8590                            </p>
8591    <blockquote class="text">
8592    <p>"OK" -
8593                                    </p>
8594    <blockquote class="text">
8595    <p>on success
8596    </p>
8597    </blockquote>
8598                                
8599    
8600    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8601                                    </p>
8602    <blockquote class="text">
8603    <p>in case the given instrument does not exists.
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: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8617    </p>
8618    <p>S: "OK"
8619    </p>
8620    </blockquote><p>
8621                        
8622    </p>
8623    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8624    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8625    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8626    Finding instruments</h3>
8627    
8628    <p>The front-end can search for instruments
8629                        in specific directory by sending the following command:
8630    </p>
8631    <p>
8632                            </p>
8633    <blockquote class="text">
8634    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8635    </p>
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p>Where &lt;dir&gt; should be replaced by the absolute path
8640                        name of the directory to search in. If NON_RECURSIVE is specified, the
8641                        directories located in subdirectories of the specified directory will not
8642                        be searched. &lt;criteria-list&gt; is a list of search criterias
8643                        in form of "key1=val1 key2=val2 ...". The following criterias are
8644                        allowed:
8645    </p>
8646    <p>
8647                          
8648    <p>NAME='&lt;search-string&gt;'
8649                              </p>
8650    <blockquote class="text">
8651    <p>Restricts the search to instruments, which names
8652                                  satisfy the supplied search string.
8653    </p>
8654    </blockquote><p>
8655                          
8656    </p>
8657    
8658                          
8659    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8660                              </p>
8661    <blockquote class="text">
8662    <p>Restricts the search to instruments, which
8663                                  size is in the specified range. If &lt;min&gt; is omitted,
8664                                  the search results are restricted to instruments with size less then
8665                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8666                                  search is restricted to instruments with size greater then
8667                                  or equal to &lt;min&gt;.
8668    </p>
8669    </blockquote><p>
8670                          
8671    </p>
8672    
8673                          
8674    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8675                              </p>
8676    <blockquote class="text">
8677    <p>Restricts the search to instruments, which creation
8678                                  date satisfies the specified period, where &lt;date-after&gt;
8679                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8680                                  If &lt;date-after&gt; is omitted the search is restricted to
8681                                  instruments created before &lt;date-before&gt;. If
8682                                  &lt;date-before&gt; is omitted, the search is restricted
8683                                  to instruments created after &lt;date-after&gt;.
8684    </p>
8685    </blockquote><p>
8686                          
8687    </p>
8688    
8689                          
8690    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8691                              </p>
8692    <blockquote class="text">
8693    <p>Restricts the search to instruments, which
8694                                  date of last modification satisfies the specified period, where
8695                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8696                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8697                                  instruments, which are last modified before &lt;date-before&gt;. If
8698                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8699                                  which are last modified after &lt;date-after&gt;.
8700    </p>
8701    </blockquote><p>
8702                          
8703    </p>
8704    
8705                          
8706    <p>DESCRIPTION='&lt;search-string&gt;'
8707                              </p>
8708    <blockquote class="text">
8709    <p>Restricts the search to instruments with description
8710                                  that satisfies the supplied search string.
8711    </p>
8712    </blockquote><p>
8713                          
8714    </p>
8715    
8716                          
8717    <p>PRODUCT='&lt;search-string&gt;'
8718                              </p>
8719    <blockquote class="text">
8720    <p>Restricts the search to instruments with product info
8721                                  that satisfies the supplied search string.
8722    </p>
8723    </blockquote><p>
8724                          
8725    </p>
8726    
8727                          
8728    <p>ARTISTS='&lt;search-string&gt;'
8729                              </p>
8730    <blockquote class="text">
8731    <p>Restricts the search to instruments with artists info
8732                                  that satisfies the supplied search string.
8733    </p>
8734    </blockquote><p>
8735                          
8736    </p>
8737    
8738                          
8739    <p>KEYWORDS='&lt;search-string&gt;'
8740                              </p>
8741    <blockquote class="text">
8742    <p>Restricts the search to instruments with keyword list
8743                                  that satisfies the supplied search string.
8744    </p>
8745    </blockquote><p>
8746                          
8747    </p>
8748    
8749                          
8750    <p>IS_DRUM=true | false
8751                              </p>
8752    <blockquote class="text">
8753    <p>Either true or false. Restricts the search to
8754                                  drum kits or chromatic instruments.
8755    </p>
8756    </blockquote><p>
8757                          
8758    </p>
8759    
8760                          
8761    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8762                              </p>
8763    <blockquote class="text">
8764    <p>Restricts the search to instruments of the supplied format families,
8765                                  where &lt;format-list&gt; is a comma separated list of format families.
8766    </p>
8767    </blockquote><p>
8768                          
8769    </p>
8770                        
8771    
8772    <p>Where &lt;search-string&gt; is either a regular expression, or a
8773                        word list separated with spaces for OR search and with '+' for AND search.
8774    </p>
8775    <p>Possible Answers:
8776    </p>
8777    <p>
8778                            </p>
8779    <blockquote class="text">
8780    <p>A comma separated list with the absolute path names (encapsulated into
8781                                apostrophes) of all instruments in the specified directory that satisfy
8782                                the supplied search criterias.
8783    </p>
8784    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8785                                    </p>
8786    <blockquote class="text">
8787    <p>if the given directory does not exist.
8788    </p>
8789    </blockquote>
8790                                
8791    
8792    </blockquote><p>
8793                        
8794    </p>
8795    <p>Example:
8796    </p>
8797    <p>
8798                            </p>
8799    <blockquote class="text">
8800    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8801    </p>
8802    <p>S: "'/Piano Collection/Bosendorfer 290'"
8803    </p>
8804    </blockquote><p>
8805                        
8806    </p>
8807    <p>
8808                            </p>
8809    <blockquote class="text">
8810    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8811    </p>
8812    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8813    </p>
8814    </blockquote><p>
8815                        
8816    </p>
8817    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8818    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8819    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8820    Getting job status information</h3>
8821    
8822    <p>The front-end can ask for the current status of a
8823                        particular database instruments job by sending the following command:
8824    </p>
8825    <p>
8826                            </p>
8827    <blockquote class="text">
8828    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8829    </p>
8830    </blockquote><p>
8831                        
8832    </p>
8833    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8834                        of the job the front-end is interested in.
8835    </p>
8836    <p>Possible Answers:
8837    </p>
8838    <p>
8839                            </p>
8840    <blockquote class="text">
8841    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8842                                Each answer line begins with the settings category name
8843                                followed by a colon and then a space character &lt;SP&gt; and finally
8844                                the info character string to that setting category. At the
8845                                moment the following categories are defined:
8846    </p>
8847    <p>
8848                                    </p>
8849    <blockquote class="text">
8850    <p>FILES_TOTAL -
8851                                            </p>
8852    <blockquote class="text">
8853    <p>The total number of files scheduled for scanning
8854    </p>
8855    </blockquote>
8856                                        
8857    
8858    <p>FILES_SCANNED -
8859                                            </p>
8860    <blockquote class="text">
8861    <p>The current number of scanned files
8862    </p>
8863    </blockquote>
8864                                        
8865    
8866    <p>SCANNING -
8867                                            </p>
8868    <blockquote class="text">
8869    <p>The absolute path name of the file which is currently
8870                                                being scanned
8871    </p>
8872    </blockquote>
8873                                        
8874    
8875    <p>STATUS -
8876                                            </p>
8877    <blockquote class="text">
8878    <p>An integer value between 0 and 100 indicating the
8879                                                scanning progress percentage of the file which is
8880                                                currently being scanned
8881    </p>
8882    </blockquote>
8883                                        
8884    
8885    </blockquote>
8886                                
8887    
8888    </blockquote><p>
8889                        
8890    </p>
8891    <p>The mentioned fields above don't have to be in particular order.
8892    </p>
8893    <p>Example:
8894    </p>
8895    <p>
8896                            </p>
8897    <blockquote class="text">
8898    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8899    </p>
8900    <p>S: "FILES_TOTAL: 12"
8901    </p>
8902    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8903    </p>
8904    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8905    </p>
8906    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8907    </p>
8908    <p>&nbsp;&nbsp;&nbsp;"."
8909    </p>
8910    </blockquote><p>
8911                        
8912    </p>
8913  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8914  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8915  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7266  Command Syntax</h3> Line 9010  Command Syntax</h3>
9010  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9011                                    
9012  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9013  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9014                                    
9015  </p>  </p>
9016  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9017                                    
9018  </p>  </p>
9019    <p>/ FIND SP find_instruction
9020                    
9021    </p>
9022    <p>/ MOVE SP move_instruction
9023                    
9024    </p>
9025    <p>/ COPY SP copy_instruction
9026                    
9027    </p>
9028    <p>/ EDIT SP edit_instruction
9029                    
9030    </p>
9031  <p>/ RESET  <p>/ RESET
9032                                    
9033  </p>  </p>
# Line 7290  Command Syntax</h3> Line 9043  Command Syntax</h3>
9043  <p>CHANNEL  <p>CHANNEL
9044                                    
9045  </p>  </p>
9046    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9047                    
9048    </p>
9049    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname
9050                    
9051    </p>
9052    <p>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname
9053                    
9054    </p>
9055    <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname
9056                    
9057    </p>
9058    <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index
9059                    
9060    </p>
9061    <p>/ DB_INSTRUMENTS SP pathname SP pathname
9062                    
9063    </p>
9064    <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index
9065                    
9066    </p>
9067  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
9068                                    
9069  </p>  </p>
# Line 7347  Command Syntax</h3> Line 9121  Command Syntax</h3>
9121  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9122                                    
9123  </p>  </p>
9124    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9125                    
9126    </p>
9127    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9128                    
9129    </p>
9130    <p>/ DB_INSTRUMENT_COUNT
9131                    
9132    </p>
9133    <p>/ DB_INSTRUMENT_INFO
9134                    
9135    </p>
9136    <p>/ DB_INSTRUMENTS_JOB_INFO
9137                    
9138    </p>
9139  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9140                                    
9141  </p>  </p>
# Line 7407  Command Syntax</h3> Line 9196  Command Syntax</h3>
9196  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9197                                    
9198  </p>  </p>
9199    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9200                    
9201    </p>
9202    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9203                    
9204    </p>
9205    <p>/ DB_INSTRUMENT_COUNT
9206                    
9207    </p>
9208    <p>/ DB_INSTRUMENT_INFO
9209                    
9210    </p>
9211    <p>/ DB_INSTRUMENTS_JOB_INFO
9212                    
9213    </p>
9214  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9215                                    
9216  </p>  </p>
# Line 7458  Command Syntax</h3> Line 9262  Command Syntax</h3>
9262  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9263                                    
9264  </p>  </p>
9265    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname
9266                    
9267    </p>
9268    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9269                    
9270    </p>
9271    <p>/ DB_INSTRUMENT SP pathname
9272                    
9273    </p>
9274  </blockquote><p>  </blockquote><p>
9275    
9276  </p>  </p>
# Line 7563  Command Syntax</h3> Line 9376  Command Syntax</h3>
9376  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9377                                    
9378  </p>  </p>
9379    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9380                    
9381    </p>
9382    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9383                    
9384    </p>
9385    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
9386                    
9387    </p>
9388    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9389                    
9390    </p>
9391    <p>/ DB_INSTRUMENTS SP pathname
9392                    
9393    </p>
9394    <p>/ DB_INSTRUMENT SP INFO SP pathname
9395                    
9396    </p>
9397    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9398                    
9399    </p>
9400  <p>/ VOLUME  <p>/ VOLUME
9401                                    
9402  </p>  </p>
# Line 7602  Command Syntax</h3> Line 9436  Command Syntax</h3>
9436  <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
9437                                    
9438  </p>  </p>
9439    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname
9440                    
9441    </p>
9442    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval
9443                    
9444    </p>
9445    <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname
9446                    
9447    </p>
9448    <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval
9449                    
9450    </p>
9451  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9452                                    
9453  </p>  </p>
# Line 7656  Command Syntax</h3> Line 9502  Command Syntax</h3>
9502  </blockquote><p>  </blockquote><p>
9503    
9504  </p>  </p>
9505    <p>find_instruction =
9506            </p>
9507    <blockquote class="text">
9508    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list
9509                    
9510    </p>
9511    <p>/ DB_INSTRUMENTS SP pathname SP query_val_list
9512                    
9513    </p>
9514    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list
9515                    
9516    </p>
9517    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list
9518                    
9519    </p>
9520    </blockquote><p>
9521    
9522    </p>
9523    <p>move_instruction =
9524            </p>
9525    <blockquote class="text">
9526    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9527                    
9528    </p>
9529    <p>/ DB_INSTRUMENT SP pathname SP pathname
9530                    
9531    </p>
9532    </blockquote><p>
9533    
9534    </p>
9535    <p>copy_instruction =
9536            </p>
9537    <blockquote class="text">
9538    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9539                    
9540    </p>
9541    <p>/ DB_INSTRUMENT SP pathname SP pathname
9542                    
9543    </p>
9544    </blockquote><p>
9545    
9546    </p>
9547  <p>destroy_instruction =  <p>destroy_instruction =
9548          </p>          </p>
9549  <blockquote class="text">  <blockquote class="text">
# Line 7731  Command Syntax</h3> Line 9619  Command Syntax</h3>
9619  </blockquote><p>  </blockquote><p>
9620    
9621  </p>  </p>
9622    <p>edit_instruction =
9623            </p>
9624    <blockquote class="text">
9625    <p>INSTRUMENT SP sampler_channel
9626                    
9627    </p>
9628    </blockquote><p>
9629    
9630    </p>
9631  <p>modal_arg =  <p>modal_arg =
9632          </p>          </p>
9633  <blockquote class="text">  <blockquote class="text">
# Line 7800  Command Syntax</h3> Line 9697  Command Syntax</h3>
9697  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
9698                                    
9699  </p>  </p>
9700    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9701                    
9702    </p>
9703    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9704                    
9705    </p>
9706    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9707                    
9708    </p>
9709    <p>/ DB_INSTRUMENTS SP pathname
9710                    
9711    </p>
9712  </blockquote><p>  </blockquote><p>
9713    
9714  </p>  </p>
# Line 7980  Command Syntax</h3> Line 9889  Command Syntax</h3>
9889  </blockquote><p>  </blockquote><p>
9890    
9891  </p>  </p>
9892  <p>filename =  <p>pathname =
9893            </p>
9894    <blockquote class="text">
9895    <p>stringval
9896                    
9897    </p>
9898    </blockquote><p>
9899    
9900    </p>
9901    <p>dirname =
9902          </p>          </p>
9903  <blockquote class="text">  <blockquote class="text">
9904  <p>stringval  <p>stringval
# Line 7989  Command Syntax</h3> Line 9907  Command Syntax</h3>
9907  </blockquote><p>  </blockquote><p>
9908    
9909  </p>  </p>
9910    <p>filename =
9911            </p>
9912    <blockquote class="text">
9913    <p>stringval_escaped
9914                    
9915    </p>
9916    </blockquote><p>
9917    
9918    </p>
9919  <p>map_name =  <p>map_name =
9920          </p>          </p>
9921  <blockquote class="text">  <blockquote class="text">
# Line 8046  Command Syntax</h3> Line 9973  Command Syntax</h3>
9973  </blockquote><p>  </blockquote><p>
9974    
9975  </p>  </p>
9976    <p>query_val_list =
9977            </p>
9978    <blockquote class="text">
9979    <p>string '=' query_val
9980                    
9981    </p>
9982    <p>/ query_val_list SP string '=' query_val
9983                    
9984    </p>
9985    </blockquote><p>
9986    
9987    </p>
9988    <p>query_val =
9989            </p>
9990    <blockquote class="text">
9991    <p>string
9992                    
9993    </p>
9994    <p>/ stringval
9995                    
9996    </p>
9997    </blockquote><p>
9998    
9999    </p>
10000    <p>scan_mode =
10001            </p>
10002    <blockquote class="text">
10003    <p>RECURSIVE
10004                    
10005    </p>
10006    <p>/ NON_RECURSIVE
10007                    
10008    </p>
10009    <p>/ FLAT
10010                    
10011    </p>
10012    </blockquote><p>
10013    
10014    </p>
10015    <a name="character_set"></a><br /><hr />
10016    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10017    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10018    Character Set and Escape Sequences</h3>
10019    
10020    <p>Older versions of this protocol up to and including v1.1 only
10021                    supported the standard ASCII character set (ASCII code 0 - 127)
10022                    <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>, all younger versions of this protocol
10023                    however support the Extended ASCII character set (ASCII code
10024                    0 - 255). The same group of younger protocols also support
10025                    escape sequences, but only for certain, explicitly declared
10026                    parts of the protocol. The supported escape sequences are
10027                    defined as follows:
10028    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10029    <col align="left"><col align="left">
10030    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10031    <tr>
10032    <td align="left">\n</td>
10033    <td align="left">new line</td>
10034    </tr>
10035    <tr>
10036    <td align="left">\r</td>
10037    <td align="left">carriage return</td>
10038    </tr>
10039    <tr>
10040    <td align="left">\f</td>
10041    <td align="left">form feed</td>
10042    </tr>
10043    <tr>
10044    <td align="left">\t</td>
10045    <td align="left">horizontal tab</td>
10046    </tr>
10047    <tr>
10048    <td align="left">\v</td>
10049    <td align="left">vertical tab</td>
10050    </tr>
10051    <tr>
10052    <td align="left">\'</td>
10053    <td align="left">apostrophe</td>
10054    </tr>
10055    <tr>
10056    <td align="left">\"</td>
10057    <td align="left">quotation mark</td>
10058    </tr>
10059    <tr>
10060    <td align="left">\\</td>
10061    <td align="left">backslash</td>
10062    </tr>
10063    <tr>
10064    <td align="left">\OOO</td>
10065    <td align="left">three digit octal ASCII code of the character</td>
10066    </tr>
10067    <tr>
10068    <td align="left">\xHH</td>
10069    <td align="left">two digit hex ASCII code of the character</td>
10070    </tr>
10071    </table>
10072    
10073    <p>Notice: due to the transition of certain parts of the
10074                    protocol which now support escape sequences, a slight backward
10075                    incompatibility to protocols version v1.1 and younger has been
10076                    introduced. The only difference is that in parts of the protocol
10077                    where escape characters are now supported, a backslash characters
10078                    MUST be escaped as well (that is as double backslash), whereas
10079                    in the old versions a single backslash was sufficient.
10080    </p>
10081  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10082  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10083  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 8335  Channel information changed</h3> Line 10367  Channel information changed</h3>
10367  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10368  Number of effect sends changed</h3>  Number of effect sends changed</h3>
10369    
10370  <p>Client may want to be notified when the number of effect sends on  <p>Client may want to be notified when the number of effect sends on
10371                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
10372  </p>  </p>
10373  <p>  <p>
# Line 8574  Global settings changed</h3> Line 10606  Global settings changed</h3>
10606  </blockquote><p>  </blockquote><p>
10607                                    
10608  </p>  </p>
10609  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10610  <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>
10611  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10612    Number of database instrument directories changed</h3>
10613    
10614    <p>Client may want to be notified when the number of instrument
10615                    directories in a particular directory in the instruments database
10616                    is changed by issuing the following command:
10617    </p>
10618    <p>
10619                        </p>
10620    <blockquote class="text">
10621    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10622    </p>
10623    </blockquote><p>
10624                    
10625    </p>
10626    <p>Server will start sending the following notification messages:
10627    </p>
10628    <p>
10629                        </p>
10630    <blockquote class="text">
10631    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10632    </p>
10633    </blockquote><p>
10634                    
10635    </p>
10636    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10637                    name of the directory in the instruments database,
10638                    in which the number of directories is changed.
10639    </p>
10640    <p>Note that when a non-empty directory is removed, this event
10641                    is not sent for the subdirectories in that directory.
10642    </p>
10643    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10644    <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>
10645    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10646    Database instrument directory information changed</h3>
10647    
10648    <p>Client may want to be notified when changes were made to directories
10649                    in the instruments database by issuing the following command:
10650    </p>
10651    <p>
10652                        </p>
10653    <blockquote class="text">
10654    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10655    </p>
10656    </blockquote><p>
10657                    
10658    </p>
10659    <p>Server will start sending the following notification messages:
10660    </p>
10661    <p>
10662                        </p>
10663    <blockquote class="text">
10664    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10665    </p>
10666    </blockquote><p>
10667                    
10668    </p>
10669    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10670                    of the directory, for which information changes occurred. The front-end will have to send
10671                    the respective command to actually get the updated directory info. Because these messages
10672                    will be triggered by LSCP commands issued by other clients rather than real
10673                    time events happening on the server, it is believed that an empty notification
10674                    message is sufficient here.
10675    </p>
10676    <p>
10677                        </p>
10678    <blockquote class="text">
10679    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10680    </p>
10681    </blockquote><p>
10682                    
10683    </p>
10684    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
10685                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10686                    the new name of the directory, encapsulated into apostrophes.
10687    </p>
10688    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
10689    <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>
10690    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
10691    Number of database instruments changed</h3>
10692    
10693    <p>Client may want to be notified when the number of instruments
10694                    in a particular directory in the instruments database
10695                    is changed by issuing the following command:
10696    </p>
10697    <p>
10698                        </p>
10699    <blockquote class="text">
10700    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
10701    </p>
10702    </blockquote><p>
10703                    
10704    </p>
10705    <p>Server will start sending the following notification messages:
10706    </p>
10707    <p>
10708                        </p>
10709    <blockquote class="text">
10710    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
10711    </p>
10712    </blockquote><p>
10713                    
10714    </p>
10715    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10716                    name of the directory in the instruments database,
10717                    in which the number of instruments is changed.
10718    </p>
10719    <p>Note that when a non-empty directory is removed, this event
10720                    is not sent for the instruments in that directory.
10721    </p>
10722    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
10723    <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>
10724    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
10725    Database instrument information changed</h3>
10726    
10727    <p>Client may want to be notified when changes were made to instruments
10728                    in the instruments database by issuing the following command:
10729    </p>
10730    <p>
10731                        </p>
10732    <blockquote class="text">
10733    <p>SUBSCRIBE DB_INSTRUMENT_INFO
10734    </p>
10735    </blockquote><p>
10736                    
10737    </p>
10738    <p>Server will start sending the following notification messages:
10739    </p>
10740    <p>
10741                        </p>
10742    <blockquote class="text">
10743    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
10744    </p>
10745    </blockquote><p>
10746                    
10747    </p>
10748    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
10749                    of the instrument, which settings are changed. The front-end will have to send
10750                    the respective command to actually get the updated directory info. Because these messages
10751                    will be triggered by LSCP commands issued by other clients rather than real
10752                    time events happening on the server, it is believed that an empty notification
10753                    message is sufficient here.
10754    </p>
10755    <p>
10756                        </p>
10757    <blockquote class="text">
10758    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
10759    </p>
10760    </blockquote><p>
10761                    
10762    </p>
10763    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
10764                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10765                    the new name of the instrument, encapsulated into apostrophes.
10766    </p>
10767    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
10768    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10769    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10770    Database job status information changed</h3>
10771    
10772    <p>Client may want to be notified when the status of particular database
10773                    instruments job is changed by issuing the following command:
10774    </p>
10775    <p>
10776                        </p>
10777    <blockquote class="text">
10778    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
10779    </p>
10780    </blockquote><p>
10781                    
10782    </p>
10783    <p>Server will start sending the following notification messages:
10784    </p>
10785    <p>
10786                        </p>
10787    <blockquote class="text">
10788    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
10789    </p>
10790    </blockquote><p>
10791                    
10792    </p>
10793    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
10794                    which status is changed. The front-end will have to send the respective
10795                    command to actually get the status info. Because these messages
10796                    will be triggered by LSCP commands issued by other clients rather than real
10797                    time events happening on the server, it is believed that an empty notification
10798                    message is sufficient here.
10799    </p>
10800    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
10801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10802    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
10803  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
10804    
10805  <p>Client may want to be notified of miscellaneous and debugging events occurring at  <p>Client may want to be notified of miscellaneous and debugging events occurring at
# Line 8641  Acknowledgments</h3> Line 10864  Acknowledgments</h3>
10864  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10865  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
10866  <table width="99%" border="0">  <table width="99%" border="0">
10867    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
10868    <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
10869  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2119">[RFC2119]</a></td>
10870  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
10871  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>

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

  ViewVC Help
Powered by ViewVC