/[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 1162 by iliev, Mon Apr 16 16:02:19 2007 UTC
# 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: October 18, 2007</td><td class="header">April 16, 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<br />LSCP 1.2</h1>
151    
# 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 October 18, 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="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.8.</a>&nbsp;
408    Changing the description of directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.9.</a>&nbsp;
410    Adding instruments to the instruments database<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.10.</a>&nbsp;
412    Removing an instrument<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Getting amount of instruments<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.12.</a>&nbsp;
416    Listing all instruments in specific directory<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.13.</a>&nbsp;
418    Getting instrument information<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.14.</a>&nbsp;
420    Renaming an instrument<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.15.</a>&nbsp;
422    Moving an instrument<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.16.</a>&nbsp;
424    Changing the description of instrument<br />
425  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
426  Command Syntax<br />  Command Syntax<br />
427  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
# Line 426  Number of MIDI instruments changed<br /> Line 460  Number of MIDI instruments changed<br />
460  MIDI instrument information changed<br />  MIDI instrument information changed<br />
461  &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;
462  Global settings changed<br />  Global settings changed<br />
463  &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;
464    Number of database instrument directories changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
466    Database instrument directory information changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
468    Number of database instruments changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
470    Database instrument information changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a>&nbsp;
472  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
473  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
474  Security Considerations<br />  Security Considerations<br />
# Line 6056  General sampler informations</h3> Line 6098  General sampler informations</h3>
6098  </blockquote>  </blockquote>
6099                                                                            
6100    
6101    <p>INSTRUMENTS_DB_SUPPORT -
6102                                            </p>
6103    <blockquote class="text">
6104    <p>either yes or no, specifies whether the
6105                                                sampler is build with instruments database support.
6106    </p>
6107    </blockquote>
6108                                        
6109    
6110  </blockquote>  </blockquote>
6111                                                            
6112    
# Line 7166  Clear MIDI instrument map</h3> Line 7217  Clear MIDI instrument map</h3>
7217  </blockquote><p>  </blockquote><p>
7218                                            
7219  </p>  </p>
7220    <a name="Managing Instruments Database"></a><br /><hr />
7221    <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>
7222    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7223    Managing Instruments Database</h3>
7224    
7225    <p>The following commands describe how to use and manage
7226                    the instruments database.
7227    </p>
7228    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7229    <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>
7230    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7231    Creating a new instrument directory</h3>
7232    
7233    <p>The front-end can add a new instrument directory to the
7234                        instruments database by sending the following command:
7235    </p>
7236    <p>
7237                            </p>
7238    <blockquote class="text">
7239    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7240    </p>
7241    </blockquote><p>
7242                        
7243    </p>
7244    <p>Where &lt;dir&gt; is the absolute path name of the directory
7245                        to be created (encapsulated into apostrophes).
7246    </p>
7247    <p>Possible Answers:
7248    </p>
7249    <p>
7250                            </p>
7251    <blockquote class="text">
7252    <p>"OK" -
7253                                    </p>
7254    <blockquote class="text">
7255    <p>on success
7256    </p>
7257    </blockquote>
7258                                
7259    
7260    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7261                                    </p>
7262    <blockquote class="text">
7263    <p>when the directory could not be created, which
7264                                        can happen if the directory already exists or the
7265                                        name contains not allowed symbols
7266    </p>
7267    </blockquote>
7268                                
7269    
7270    </blockquote><p>
7271                        
7272    </p>
7273    <p>Examples:
7274    </p>
7275    <p>
7276                            </p>
7277    <blockquote class="text">
7278    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7279    </p>
7280    <p>S: "OK"
7281    </p>
7282    </blockquote><p>
7283                        
7284    </p>
7285    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7286    <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>
7287    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7288    Deleting an instrument directory</h3>
7289    
7290    <p>The front-end can delete a particular instrument directory
7291                        from the instruments database by sending the following command:
7292    </p>
7293    <p>
7294                            </p>
7295    <blockquote class="text">
7296    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7297    </p>
7298    </blockquote><p>
7299                        
7300    </p>
7301    <p>Where &lt;dir&gt; is the absolute path name of the directory
7302                        to delete. The optional FORCE argument can be used to
7303                        force the deletion of a non-empty directory and all its content.
7304    </p>
7305    <p>Possible Answers:
7306    </p>
7307    <p>
7308                            </p>
7309    <blockquote class="text">
7310    <p>"OK" -
7311                                    </p>
7312    <blockquote class="text">
7313    <p>if the directory is deleted successfully
7314    </p>
7315    </blockquote>
7316                                
7317    
7318    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7319                                    </p>
7320    <blockquote class="text">
7321    <p>if the given directory does not exist, or
7322                                        if trying to delete a non-empty directory,
7323                                        without using the FORCE argument.
7324    </p>
7325    </blockquote>
7326                                
7327    
7328    </blockquote><p>
7329                        
7330    </p>
7331    <p>Examples:
7332    </p>
7333    <p>
7334                            </p>
7335    <blockquote class="text">
7336    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7337    </p>
7338    <p>S: "OK"
7339    </p>
7340    </blockquote><p>
7341                        
7342    </p>
7343    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7344    <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>
7345    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7346    Getting amount of instrument directories</h3>
7347    
7348    <p>The front-end can retrieve the current amount of
7349                        directories in a specific directory by sending the following command:
7350    </p>
7351    <p>
7352                            </p>
7353    <blockquote class="text">
7354    <p>GET DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;
7355    </p>
7356    </blockquote><p>
7357                        
7358    </p>
7359    <p>Where &lt;dir&gt; should be replaced by the absolute path
7360                        name of the directory.
7361    </p>
7362    <p>Possible Answers:
7363    </p>
7364    <p>
7365                            </p>
7366    <blockquote class="text">
7367    <p>The current number of instrument directories
7368                                in the specified directory.
7369    </p>
7370    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7371                                    </p>
7372    <blockquote class="text">
7373    <p>if the given directory does not exist.
7374    </p>
7375    </blockquote>
7376                                
7377    
7378    </blockquote><p>
7379                        
7380    </p>
7381    <p>Example:
7382    </p>
7383    <p>
7384                            </p>
7385    <blockquote class="text">
7386    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7387    </p>
7388    <p>S: "2"
7389    </p>
7390    </blockquote><p>
7391                        
7392    </p>
7393    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7394    <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>
7395    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7396    Listing all directories in specific directory</h3>
7397    
7398    <p>The front-end can retrieve the current list of directories
7399                        in specific directory by sending the following command:
7400    </p>
7401    <p>
7402                            </p>
7403    <blockquote class="text">
7404    <p>LIST DB_INSTRUMENT_DIRECTORIES &lt;dir&gt;
7405    </p>
7406    </blockquote><p>
7407                        
7408    </p>
7409    <p>Where &lt;dir&gt; should be replaced by the absolute path
7410                        name of the directory.
7411    </p>
7412    <p>Possible Answers:
7413    </p>
7414    <p>
7415                            </p>
7416    <blockquote class="text">
7417    <p>A comma separated list of all instrument directories
7418                                (encapsulated into apostrophes) in the specified directory.
7419    </p>
7420    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7421                                    </p>
7422    <blockquote class="text">
7423    <p>if the given directory does not exist.
7424    </p>
7425    </blockquote>
7426                                
7427    
7428    </blockquote><p>
7429                        
7430    </p>
7431    <p>Example:
7432    </p>
7433    <p>
7434                            </p>
7435    <blockquote class="text">
7436    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7437    </p>
7438    <p>S: "'Piano Collection','Percussion Collection'"
7439    </p>
7440    </blockquote><p>
7441                        
7442    </p>
7443    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7444    <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>
7445    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7446    Getting instrument directory information</h3>
7447    
7448    <p>The front-end can ask for the current settings of an
7449                        instrument directory by sending the following command:
7450    </p>
7451    <p>
7452                            </p>
7453    <blockquote class="text">
7454    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7455    </p>
7456    </blockquote><p>
7457                        
7458    </p>
7459    <p>Where &lt;dir&gt; should be replaced by the absolute path
7460                        name of the directory the front-end is interested in.
7461    </p>
7462    <p>Possible Answers:
7463    </p>
7464    <p>
7465                            </p>
7466    <blockquote class="text">
7467    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7468                                Each answer line begins with the settings category name
7469                                followed by a colon and then a space character &lt;SP&gt; and finally
7470                                the info character string to that setting category. At the
7471                                moment the following categories are defined:
7472    </p>
7473    <p>
7474                                    </p>
7475    <blockquote class="text">
7476    <p>DESCRIPTION -
7477                                            </p>
7478    <blockquote class="text">
7479    <p>A brief description of the directory content
7480    </p>
7481    </blockquote>
7482                                        
7483    
7484    <p>CREATED -
7485                                            </p>
7486    <blockquote class="text">
7487    <p>The creation date and time of the directory,
7488                                                represented in "YYYY-MM-DD HH:MM:SS" format
7489    </p>
7490    </blockquote>
7491                                        
7492    
7493    <p>MODIFIED -
7494                                            </p>
7495    <blockquote class="text">
7496    <p>The date and time of the last modification of the
7497                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7498    </p>
7499    </blockquote>
7500                                        
7501    
7502    </blockquote>
7503                                
7504    
7505    </blockquote><p>
7506                        
7507    </p>
7508    <p>The mentioned fields above don't have to be in particular order.
7509    </p>
7510    <p>Example:
7511    </p>
7512    <p>
7513                            </p>
7514    <blockquote class="text">
7515    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7516    </p>
7517    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7518    </p>
7519    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7520    </p>
7521    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7522    </p>
7523    <p>&nbsp;&nbsp;&nbsp;"."
7524    </p>
7525    </blockquote><p>
7526                        
7527    </p>
7528    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7529    <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>
7530    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7531    Renaming an instrument directory</h3>
7532    
7533    <p>The front-end can alter the name of a specific
7534                        instrument directory by sending the following command:
7535    </p>
7536    <p>
7537                            </p>
7538    <blockquote class="text">
7539    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7540    </p>
7541    </blockquote><p>
7542                        
7543    </p>
7544    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7545                        &lt;name&gt; is the new name for that directory.
7546    </p>
7547    <p>Possible Answers:
7548    </p>
7549    <p>
7550                            </p>
7551    <blockquote class="text">
7552    <p>"OK" -
7553                                    </p>
7554    <blockquote class="text">
7555    <p>on success
7556    </p>
7557    </blockquote>
7558                                
7559    
7560    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7561                                    </p>
7562    <blockquote class="text">
7563    <p>in case the given directory does not exists,
7564                                        or if a directory with name equal to the new
7565                                        name already exists.
7566    </p>
7567    </blockquote>
7568                                
7569    
7570    </blockquote><p>
7571                        
7572    </p>
7573    <p>Example:
7574    </p>
7575    <p>
7576                            </p>
7577    <blockquote class="text">
7578    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7579    </p>
7580    <p>S: "OK"
7581    </p>
7582    </blockquote><p>
7583                        
7584    </p>
7585    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7586    <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>
7587    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7588    Moving an instrument directory</h3>
7589    
7590    <p>The front-end can move a specific
7591                        instrument directory by sending the following command:
7592    </p>
7593    <p>
7594                            </p>
7595    <blockquote class="text">
7596    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7597    </p>
7598    </blockquote><p>
7599                        
7600    </p>
7601    <p>Where &lt;dir&gt; is the absolute path name of the directory
7602                        to move and &lt;dst&gt; is the location where the directory will
7603                        be moved to.
7604    </p>
7605    <p>Possible Answers:
7606    </p>
7607    <p>
7608                            </p>
7609    <blockquote class="text">
7610    <p>"OK" -
7611                                    </p>
7612    <blockquote class="text">
7613    <p>on success
7614    </p>
7615    </blockquote>
7616                                
7617    
7618    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7619                                    </p>
7620    <blockquote class="text">
7621    <p>in case a given directory does not exists,
7622                                        or if a directory with name equal to the name
7623                                        of the specified directory already exists in
7624                                        the destination directory. Error is also thrown
7625                                        when trying to move a directory to a subdirectory
7626                                        of itself.
7627    </p>
7628    </blockquote>
7629                                
7630    
7631    </blockquote><p>
7632                        
7633    </p>
7634    <p>Example:
7635    </p>
7636    <p>
7637                            </p>
7638    <blockquote class="text">
7639    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7640    </p>
7641    <p>S: "OK"
7642    </p>
7643    </blockquote><p>
7644                        
7645    </p>
7646    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7647    <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>
7648    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7649    Changing the description of directory</h3>
7650    
7651    <p>The front-end can alter the description of a specific
7652                        instrument directory by sending the following command:
7653    </p>
7654    <p>
7655                            </p>
7656    <blockquote class="text">
7657    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7658    </p>
7659    </blockquote><p>
7660                        
7661    </p>
7662    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7663                        &lt;desc&gt; is the new description for the directory.
7664    </p>
7665    <p>Possible Answers:
7666    </p>
7667    <p>
7668                            </p>
7669    <blockquote class="text">
7670    <p>"OK" -
7671                                    </p>
7672    <blockquote class="text">
7673    <p>on success
7674    </p>
7675    </blockquote>
7676                                
7677    
7678    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7679                                    </p>
7680    <blockquote class="text">
7681    <p>in case the given directory does not exists.
7682    </p>
7683    </blockquote>
7684                                
7685    
7686    </blockquote><p>
7687                        
7688    </p>
7689    <p>Example:
7690    </p>
7691    <p>
7692                            </p>
7693    <blockquote class="text">
7694    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7695    </p>
7696    <p>S: "OK"
7697    </p>
7698    </blockquote><p>
7699                        
7700    </p>
7701    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7702    <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>
7703    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7704    Adding instruments to the instruments database</h3>
7705    
7706    <p>The front-end can add one or more instruments
7707                        to the instruments database by sending the following command:
7708    </p>
7709    <p>
7710                            </p>
7711    <blockquote class="text">
7712    <p>ADD DB_INSTRUMENTS [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7713    </p>
7714    </blockquote><p>
7715                        
7716    </p>
7717    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7718                        (encapsulated into apostrophes) in the instruments database in which
7719                        only the new instruments (that are not already in the database) will
7720                        be added, &lt;file_path&gt; is the absolute path name of a file or
7721                        directory in the file system (encapsulated into apostrophes). In case
7722                        an instrument file is supplied, only the instruments in the specified
7723                        file will be added to the instruments database. If the optional
7724                        &lt;instr_index&gt; (the index of the instrument within the given file)
7725                        is supplied too, then only the specified instrument will be added.
7726                        In case a directory is supplied, the instruments in that directory
7727                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7728                        when a directory is provided as &lt;file_path&gt; and specifies how the
7729                        scanning will be done and has exactly the following possibilities:
7730    </p>
7731    <p>
7732                            </p>
7733    <blockquote class="text">
7734    <p>"NON_RECURSIVE" -
7735                                    </p>
7736    <blockquote class="text">
7737    <p>Only the instruments in the specified directory
7738                                        will be added, the instruments in the subdirectories
7739                                        will not be processed.
7740    </p>
7741    </blockquote>
7742                                
7743    
7744    <p>"FLAT" -
7745                                    </p>
7746    <blockquote class="text">
7747    <p>All instruments will be processed, including those
7748                                        in the subdirectories, but the respective subdirectory
7749                                        structure will not be recreated in the instruments
7750                                        database. All instruments will be added directly in
7751                                        the specified database directory.
7752    </p>
7753    </blockquote>
7754                                
7755    
7756    <p>not supplied -
7757                                    </p>
7758    <blockquote class="text">
7759    <p>The subdirectory tree structure will be recreated
7760                                        in the instruments database and all instruments will be
7761                                        processed and added to the respective subdirectory
7762                                        in the instruments database.
7763    </p>
7764    </blockquote>
7765                                
7766    
7767    </blockquote><p>
7768                        
7769    </p>
7770    <p>Possible Answers:
7771    </p>
7772    <p>
7773                            </p>
7774    <blockquote class="text">
7775    <p>"OK" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>on success
7779    </p>
7780    </blockquote>
7781                                
7782    
7783    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7784                                    </p>
7785    <blockquote class="text">
7786    <p>if an invalid path is specified.
7787    </p>
7788    </blockquote>
7789                                
7790    
7791    </blockquote><p>
7792                        
7793    </p>
7794    <p>Examples:
7795    </p>
7796    <p>
7797                            </p>
7798    <blockquote class="text">
7799    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
7800    </p>
7801    <p>S: "OK"
7802    </p>
7803    </blockquote><p>
7804                        
7805    </p>
7806    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
7807    <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>
7808    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7809    Removing an instrument</h3>
7810    
7811    <p>The front-end can remove a particular instrument
7812                        from the instruments database by sending the following command:
7813    </p>
7814    <p>
7815                            </p>
7816    <blockquote class="text">
7817    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
7818    </p>
7819    </blockquote><p>
7820                        
7821    </p>
7822    <p>Where &lt;instr_path&gt; is the absolute path name
7823                        (in the instruments database) of the instrument to remove.
7824    </p>
7825    <p>Possible Answers:
7826    </p>
7827    <p>
7828                            </p>
7829    <blockquote class="text">
7830    <p>"OK" -
7831                                    </p>
7832    <blockquote class="text">
7833    <p>if the instrument is removed successfully
7834    </p>
7835    </blockquote>
7836                                
7837    
7838    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7839                                    </p>
7840    <blockquote class="text">
7841    <p>if the given path does not exist or
7842                                        is a directory.
7843    </p>
7844    </blockquote>
7845                                
7846    
7847    </blockquote><p>
7848                        
7849    </p>
7850    <p>Examples:
7851    </p>
7852    <p>
7853                            </p>
7854    <blockquote class="text">
7855    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
7856    </p>
7857    <p>S: "OK"
7858    </p>
7859    </blockquote><p>
7860                        
7861    </p>
7862    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
7863    <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>
7864    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7865    Getting amount of instruments</h3>
7866    
7867    <p>The front-end can retrieve the current amount of
7868                        instruments in a specific directory by sending the following command:
7869    </p>
7870    <p>
7871                            </p>
7872    <blockquote class="text">
7873    <p>GET DB_INSTRUMENTS &lt;dir&gt;
7874    </p>
7875    </blockquote><p>
7876                        
7877    </p>
7878    <p>Where &lt;dir&gt; should be replaced by the absolute path name
7879                        of the directory.
7880    </p>
7881    <p>Possible Answers:
7882    </p>
7883    <p>
7884                            </p>
7885    <blockquote class="text">
7886    <p>The current number of instruments
7887                                in the specified directory.
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: "GET DB_INSTRUMENTS '/Piano Collection'"
7906    </p>
7907    <p>S: "2"
7908    </p>
7909    </blockquote><p>
7910                        
7911    </p>
7912    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
7913    <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>
7914    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
7915    Listing all instruments in specific directory</h3>
7916    
7917    <p>The front-end can retrieve the current list of instruments
7918                        in specific directory by sending the following command:
7919    </p>
7920    <p>
7921                            </p>
7922    <blockquote class="text">
7923    <p>LIST DB_INSTRUMENTS &lt;dir&gt;
7924    </p>
7925    </blockquote><p>
7926                        
7927    </p>
7928    <p>Where &lt;dir&gt; should be replaced by the absolute path
7929                        name of the directory.
7930    </p>
7931    <p>Possible Answers:
7932    </p>
7933    <p>
7934                            </p>
7935    <blockquote class="text">
7936    <p>A comma separated list of all instruments
7937                                (encapsulated into apostrophes) in the specified directory.
7938    </p>
7939    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7940                                    </p>
7941    <blockquote class="text">
7942    <p>if the given directory does not exist.
7943    </p>
7944    </blockquote>
7945                                
7946    
7947    </blockquote><p>
7948                        
7949    </p>
7950    <p>Example:
7951    </p>
7952    <p>
7953                            </p>
7954    <blockquote class="text">
7955    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
7956    </p>
7957    <p>S: "'Bosendorfer 290','Steinway D'"
7958    </p>
7959    </blockquote><p>
7960                        
7961    </p>
7962    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
7963    <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>
7964    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
7965    Getting instrument information</h3>
7966    
7967    <p>The front-end can ask for the current settings of an
7968                        instrument by sending the following command:
7969    </p>
7970    <p>
7971                            </p>
7972    <blockquote class="text">
7973    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
7974    </p>
7975    </blockquote><p>
7976                        
7977    </p>
7978    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
7979                        name of the instrument the front-end is interested in.
7980    </p>
7981    <p>Possible Answers:
7982    </p>
7983    <p>
7984                            </p>
7985    <blockquote class="text">
7986    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7987                                Each answer line begins with the settings category name
7988                                followed by a colon and then a space character &lt;SP&gt; and finally
7989                                the info character string to that setting category. At the
7990                                moment the following categories are defined:
7991    </p>
7992    <p>
7993                                    </p>
7994    <blockquote class="text">
7995    <p>INSTRUMENT_FILE -
7996                                            </p>
7997    <blockquote class="text">
7998    <p>File name of the instrument.
7999    </p>
8000    </blockquote>
8001                                        
8002    
8003    <p>INSTRUMENT_NR -
8004                                            </p>
8005    <blockquote class="text">
8006    <p>Index of the instrument within the file.
8007    </p>
8008    </blockquote>
8009                                        
8010    
8011    <p>FORMAT_FAMILY -
8012                                            </p>
8013    <blockquote class="text">
8014    <p>The format family of the instrument.
8015    </p>
8016    </blockquote>
8017                                        
8018    
8019    <p>FORMAT_VERSION -
8020                                            </p>
8021    <blockquote class="text">
8022    <p>The format version of the instrument.
8023    </p>
8024    </blockquote>
8025                                        
8026    
8027    <p>SIZE -
8028                                            </p>
8029    <blockquote class="text">
8030    <p>The size of the instrument in bytes.
8031    </p>
8032    </blockquote>
8033                                        
8034    
8035    <p>CREATED -
8036                                            </p>
8037    <blockquote class="text">
8038    <p>The date and time when the instrument is added
8039                                                in the instruments database, represented in
8040                                               "YYYY-MM-DD HH:MM:SS" format
8041    </p>
8042    </blockquote>
8043                                        
8044    
8045    <p>MODIFIED -
8046                                            </p>
8047    <blockquote class="text">
8048    <p>The date and time of the last modification of the
8049                                                instrument's database settings, represented in
8050                                                "YYYY-MM-DD HH:MM:SS" format
8051    </p>
8052    </blockquote>
8053                                        
8054    
8055    <p>DESCRIPTION -
8056                                            </p>
8057    <blockquote class="text">
8058    <p>A brief description of the instrument
8059    </p>
8060    </blockquote>
8061                                        
8062    
8063    <p>IS_DRUM -
8064                                            </p>
8065    <blockquote class="text">
8066    <p>either true or false, determines whether the
8067                                                instrument is a drumkit or a chromatic instrument
8068    </p>
8069    </blockquote>
8070                                        
8071    
8072    <p>PRODUCT -
8073                                            </p>
8074    <blockquote class="text">
8075    <p>The product title of the instrument
8076    </p>
8077    </blockquote>
8078                                        
8079    
8080    <p>ARTISTS -
8081                                            </p>
8082    <blockquote class="text">
8083    <p>Lists the artist names
8084    </p>
8085    </blockquote>
8086                                        
8087    
8088    <p>KEYWORDS -
8089                                            </p>
8090    <blockquote class="text">
8091    <p>Provides a list of keywords that refer to the instrument.
8092                                                Keywords are separated with semicolon and blank.
8093    </p>
8094    </blockquote>
8095                                        
8096    
8097    </blockquote>
8098                                
8099    
8100    </blockquote><p>
8101                        
8102    </p>
8103    <p>The mentioned fields above don't have to be in particular order.
8104    </p>
8105    <p>Example:
8106    </p>
8107    <p>
8108                            </p>
8109    <blockquote class="text">
8110    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8111    </p>
8112    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8113    </p>
8114    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8115    </p>
8116    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8117    </p>
8118    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8119    </p>
8120    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8121    </p>
8122    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8123    </p>
8124    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8125    </p>
8126    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8127    </p>
8128    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8129    </p>
8130    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8131    </p>
8132    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8133    </p>
8134    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8135    </p>
8136    <p>&nbsp;&nbsp;&nbsp;"."
8137    </p>
8138    </blockquote><p>
8139                        
8140    </p>
8141    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8142    <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>
8143    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8144    Renaming an instrument</h3>
8145    
8146    <p>The front-end can alter the name of a specific
8147                        instrument by sending the following command:
8148    </p>
8149    <p>
8150                            </p>
8151    <blockquote class="text">
8152    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8153    </p>
8154    </blockquote><p>
8155                        
8156    </p>
8157    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8158                        &lt;name&gt; is the new name for that instrument.
8159    </p>
8160    <p>Possible Answers:
8161    </p>
8162    <p>
8163                            </p>
8164    <blockquote class="text">
8165    <p>"OK" -
8166                                    </p>
8167    <blockquote class="text">
8168    <p>on success
8169    </p>
8170    </blockquote>
8171                                
8172    
8173    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8174                                    </p>
8175    <blockquote class="text">
8176    <p>in case the given instrument does not exists,
8177                                        or if an instrument with name equal to the new
8178                                        name already exists.
8179    </p>
8180    </blockquote>
8181                                
8182    
8183    </blockquote><p>
8184                        
8185    </p>
8186    <p>Example:
8187    </p>
8188    <p>
8189                            </p>
8190    <blockquote class="text">
8191    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8192    </p>
8193    <p>S: "OK"
8194    </p>
8195    </blockquote><p>
8196                        
8197    </p>
8198    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8199    <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>
8200    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8201    Moving an instrument</h3>
8202    
8203    <p>The front-end can move a specific instrument to another directory by
8204                        sending the following command:
8205    </p>
8206    <p>
8207                            </p>
8208    <blockquote class="text">
8209    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8210    </p>
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8215                        to move and &lt;dst&gt; is the directory where the instrument will
8216                        be moved to.
8217    </p>
8218    <p>Possible Answers:
8219    </p>
8220    <p>
8221                            </p>
8222    <blockquote class="text">
8223    <p>"OK" -
8224                                    </p>
8225    <blockquote class="text">
8226    <p>on success
8227    </p>
8228    </blockquote>
8229                                
8230    
8231    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8232                                    </p>
8233    <blockquote class="text">
8234    <p>in case the given instrument does not exists,
8235                                        or if an instrument with name equal to the name of the
8236                                        specified instrument already exists in the destination
8237                                        directory.
8238    </p>
8239    </blockquote>
8240                                
8241    
8242    </blockquote><p>
8243                        
8244    </p>
8245    <p>Example:
8246    </p>
8247    <p>
8248                            </p>
8249    <blockquote class="text">
8250    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8251    </p>
8252    <p>S: "OK"
8253    </p>
8254    </blockquote><p>
8255                        
8256    </p>
8257    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8258    <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>
8259    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8260    Changing the description of instrument</h3>
8261    
8262    <p>The front-end can alter the description of a specific
8263                        instrument by sending the following command:
8264    </p>
8265    <p>
8266                            </p>
8267    <blockquote class="text">
8268    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8269    </p>
8270    </blockquote><p>
8271                        
8272    </p>
8273    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8274                        &lt;desc&gt; is the new description for the instrument.
8275    </p>
8276    <p>Possible Answers:
8277    </p>
8278    <p>
8279                            </p>
8280    <blockquote class="text">
8281    <p>"OK" -
8282                                    </p>
8283    <blockquote class="text">
8284    <p>on success
8285    </p>
8286    </blockquote>
8287                                
8288    
8289    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8290                                    </p>
8291    <blockquote class="text">
8292    <p>in case the given instrument does not exists.
8293    </p>
8294    </blockquote>
8295                                
8296    
8297    </blockquote><p>
8298                        
8299    </p>
8300    <p>Example:
8301    </p>
8302    <p>
8303                            </p>
8304    <blockquote class="text">
8305    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8306    </p>
8307    <p>S: "OK"
8308    </p>
8309    </blockquote><p>
8310                        
8311    </p>
8312  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8313  <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>
8314  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7266  Command Syntax</h3> Line 8409  Command Syntax</h3>
8409  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
8410                                    
8411  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
8412  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
8413                                    
8414  </p>  </p>
8415  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
8416                                    
8417  </p>  </p>
8418    <p>/ MOVE SP move_instruction
8419                    
8420    </p>
8421  <p>/ RESET  <p>/ RESET
8422                                    
8423  </p>  </p>
# Line 7290  Command Syntax</h3> Line 8433  Command Syntax</h3>
8433  <p>CHANNEL  <p>CHANNEL
8434                                    
8435  </p>  </p>
8436    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
8437                    
8438    </p>
8439    <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname
8440                    
8441    </p>
8442    <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname
8443                    
8444    </p>
8445    <p>/ DB_INSTRUMENTS SP pathname SP pathname
8446                    
8447    </p>
8448    <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index
8449                    
8450    </p>
8451  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
8452                                    
8453  </p>  </p>
# Line 7347  Command Syntax</h3> Line 8505  Command Syntax</h3>
8505  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
8506                                    
8507  </p>  </p>
8508    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
8509                    
8510    </p>
8511    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
8512                    
8513    </p>
8514    <p>/ DB_INSTRUMENT_COUNT
8515                    
8516    </p>
8517    <p>/ DB_INSTRUMENT_INFO
8518                    
8519    </p>
8520  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
8521                                    
8522  </p>  </p>
# Line 7407  Command Syntax</h3> Line 8577  Command Syntax</h3>
8577  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
8578                                    
8579  </p>  </p>
8580    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
8581                    
8582    </p>
8583    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
8584                    
8585    </p>
8586    <p>/ DB_INSTRUMENT_COUNT
8587                    
8588    </p>
8589    <p>/ DB_INSTRUMENT_INFO
8590                    
8591    </p>
8592  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
8593                                    
8594  </p>  </p>
# Line 7458  Command Syntax</h3> Line 8640  Command Syntax</h3>
8640  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
8641                                    
8642  </p>  </p>
8643    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname
8644                    
8645    </p>
8646    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
8647                    
8648    </p>
8649    <p>/ DB_INSTRUMENT SP pathname
8650                    
8651    </p>
8652  </blockquote><p>  </blockquote><p>
8653    
8654  </p>  </p>
# Line 7563  Command Syntax</h3> Line 8754  Command Syntax</h3>
8754  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
8755                                    
8756  </p>  </p>
8757    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
8758                    
8759    </p>
8760    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
8761                    
8762    </p>
8763    <p>/ DB_INSTRUMENTS SP pathname
8764                    
8765    </p>
8766    <p>/ DB_INSTRUMENT SP INFO SP pathname
8767                    
8768    </p>
8769  <p>/ VOLUME  <p>/ VOLUME
8770                                    
8771  </p>  </p>
# Line 7602  Command Syntax</h3> Line 8805  Command Syntax</h3>
8805  <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
8806                                    
8807  </p>  </p>
8808    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname
8809                    
8810    </p>
8811    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval
8812                    
8813    </p>
8814    <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname
8815                    
8816    </p>
8817    <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval
8818                    
8819    </p>
8820  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
8821                                    
8822  </p>  </p>
# Line 7656  Command Syntax</h3> Line 8871  Command Syntax</h3>
8871  </blockquote><p>  </blockquote><p>
8872    
8873  </p>  </p>
8874    <p>move_instruction =
8875            </p>
8876    <blockquote class="text">
8877    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
8878                    
8879    </p>
8880    <p>/ DB_INSTRUMENT SP pathname SP pathname
8881                    
8882    </p>
8883    </blockquote><p>
8884    
8885    </p>
8886  <p>destroy_instruction =  <p>destroy_instruction =
8887          </p>          </p>
8888  <blockquote class="text">  <blockquote class="text">
# Line 7800  Command Syntax</h3> Line 9027  Command Syntax</h3>
9027  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
9028                                    
9029  </p>  </p>
9030    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9031                    
9032    </p>
9033    <p>/ DB_INSTRUMENTS SP pathname
9034                    
9035    </p>
9036  </blockquote><p>  </blockquote><p>
9037    
9038  </p>  </p>
# Line 7980  Command Syntax</h3> Line 9213  Command Syntax</h3>
9213  </blockquote><p>  </blockquote><p>
9214    
9215  </p>  </p>
9216    <p>pathname =
9217            </p>
9218    <blockquote class="text">
9219    <p>stringval
9220                    
9221    </p>
9222    </blockquote><p>
9223    
9224    </p>
9225    <p>dirname =
9226            </p>
9227    <blockquote class="text">
9228    <p>stringval
9229                    
9230    </p>
9231    </blockquote><p>
9232    
9233    </p>
9234  <p>filename =  <p>filename =
9235          </p>          </p>
9236  <blockquote class="text">  <blockquote class="text">
# Line 8574  Global settings changed</h3> Line 9825  Global settings changed</h3>
9825  </blockquote><p>  </blockquote><p>
9826                                    
9827  </p>  </p>
9828  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
9829  <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>
9830  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
9831    Number of database instrument directories changed</h3>
9832    
9833    <p>Client may want to be notified when the number of instrument
9834                    directories in a particular directory in the instruments database
9835                    is changed by issuing the following command:
9836    </p>
9837    <p>
9838                        </p>
9839    <blockquote class="text">
9840    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
9841    </p>
9842    </blockquote><p>
9843                    
9844    </p>
9845    <p>Server will start sending the following notification messages:
9846    </p>
9847    <p>
9848                        </p>
9849    <blockquote class="text">
9850    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
9851    </p>
9852    </blockquote><p>
9853                    
9854    </p>
9855    <p>where &lt;dir-path&gt; will be replaced by the absolute path
9856                    name of the directory in the instruments database,
9857                    in which the number of directories is changed.
9858    </p>
9859    <p>Note that when a non-empty directory is removed, this event
9860                    is not sent for the subdirectories in that directory.
9861    </p>
9862    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
9863    <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>
9864    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
9865    Database instrument directory information changed</h3>
9866    
9867    <p>Client may want to be notified when changes were made to directories
9868                    in the instruments database by issuing the following command:
9869    </p>
9870    <p>
9871                        </p>
9872    <blockquote class="text">
9873    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
9874    </p>
9875    </blockquote><p>
9876                    
9877    </p>
9878    <p>Server will start sending the following notification messages:
9879    </p>
9880    <p>
9881                        </p>
9882    <blockquote class="text">
9883    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
9884    </p>
9885    </blockquote><p>
9886                    
9887    </p>
9888    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
9889                    of the directory, for which information changes occurred. The front-end will have to send
9890                    the respective command to actually get the updated directory info. Because these messages
9891                    will be triggered by LSCP commands issued by other clients rather than real
9892                    time events happening on the server, it is believed that an empty notification
9893                    message is sufficient here.
9894    </p>
9895    <p>
9896                        </p>
9897    <blockquote class="text">
9898    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
9899    </p>
9900    </blockquote><p>
9901                    
9902    </p>
9903    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
9904                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
9905                    the new name of the directory, encapsulated into apostrophes.
9906    </p>
9907    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
9908    <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>
9909    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
9910    Number of database instruments changed</h3>
9911    
9912    <p>Client may want to be notified when the number of instruments
9913                    in a particular directory in the instruments database
9914                    is changed by issuing the following command:
9915    </p>
9916    <p>
9917                        </p>
9918    <blockquote class="text">
9919    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
9920    </p>
9921    </blockquote><p>
9922                    
9923    </p>
9924    <p>Server will start sending the following notification messages:
9925    </p>
9926    <p>
9927                        </p>
9928    <blockquote class="text">
9929    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
9930    </p>
9931    </blockquote><p>
9932                    
9933    </p>
9934    <p>where &lt;dir-path&gt; will be replaced by the absolute path
9935                    name of the directory in the instruments database,
9936                    in which the number of instruments is changed.
9937    </p>
9938    <p>Note that when a non-empty directory is removed, this event
9939                    is not sent for the instruments in that directory.
9940    </p>
9941    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
9942    <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>
9943    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
9944    Database instrument information changed</h3>
9945    
9946    <p>Client may want to be notified when changes were made to instruments
9947                    in the instruments database by issuing the following command:
9948    </p>
9949    <p>
9950                        </p>
9951    <blockquote class="text">
9952    <p>SUBSCRIBE DB_INSTRUMENT_INFO
9953    </p>
9954    </blockquote><p>
9955                    
9956    </p>
9957    <p>Server will start sending the following notification messages:
9958    </p>
9959    <p>
9960                        </p>
9961    <blockquote class="text">
9962    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
9963    </p>
9964    </blockquote><p>
9965                    
9966    </p>
9967    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
9968                    of the instrument, which settings are changed. The front-end will have to send
9969                    the respective command to actually get the updated directory info. Because these messages
9970                    will be triggered by LSCP commands issued by other clients rather than real
9971                    time events happening on the server, it is believed that an empty notification
9972                    message is sufficient here.
9973    </p>
9974    <p>
9975                        </p>
9976    <blockquote class="text">
9977    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
9978    </p>
9979    </blockquote><p>
9980                    
9981    </p>
9982    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
9983                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
9984                    the new name of the instrument, encapsulated into apostrophes.
9985    </p>
9986    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
9987    <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>
9988    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
9989  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
9990    
9991  <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

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

  ViewVC Help
Powered by ViewVC