/[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 1572 by schoenebeck, Fri Dec 7 01:07:11 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: June 7, 2008</td><td class="header">December 5, 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.3</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 June 7, 2008.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
# Line 354  Global commands<br /> Line 354  Global commands<br />
354  Current number of active voices<br />  Current number of active voices<br />
355  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356  Maximum amount of active voices<br />  Maximum amount of active voices<br />
357  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
358    Current number of active disk streams<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
360  Reset sampler<br />  Reset sampler<br />
361  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
362  General sampler informations<br />  General sampler informations<br />
363  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
364  Getting global volume attenuation<br />  Getting global volume attenuation<br />
365  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
366  Setting global volume attenuation<br />  Setting global volume attenuation<br />
367  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
368  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
369  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
370  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
371  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
372  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 388  Remove an entry from the MIDI instrument Line 390  Remove an entry from the MIDI instrument
390  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
391  &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;
392  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
394    Managing Instruments Database<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
396    Creating a new instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
398    Deleting an instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
400    Getting amount of instrument directories<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
402    Listing all directories in specific directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
404    Getting instrument directory information<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
406    Renaming an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
408    Moving an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
410    Copying instrument directories<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
412    Changing the description of directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
414    Finding directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
416    Adding instruments to the instruments database<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
418    Removing an instrument<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
420    Getting amount of instruments<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
422    Listing all instruments in specific directory<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
424    Getting instrument information<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
426    Renaming an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
428    Moving an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
430    Copying instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
432    Changing the description of instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
434    Finding instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
436    Getting job status information<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
438    Formatting the instruments database<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &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 416  Number of effect sends changed<br /> Line 478  Number of effect sends changed<br />
478  Effect send information changed<br />  Effect send information changed<br />
479  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
480  Total number of active voices changed<br />  Total number of active voices changed<br />
481  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.13.</a>&nbsp;
482    Total number of active disk streams changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.14.</a>&nbsp;
484  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
485  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.15.</a>&nbsp;
486  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
487  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.16.</a>&nbsp;
488  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
489  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.17.</a>&nbsp;
490  MIDI instrument information changed<br />  MIDI instrument information changed<br />
491  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.18.</a>&nbsp;
492  Global settings changed<br />  Global settings changed<br />
493  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.18.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.19.</a>&nbsp;
494    Number of database instrument directories changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.20.</a>&nbsp;
496    Database instrument directory information changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.21.</a>&nbsp;
498    Number of database instruments changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.22.</a>&nbsp;
500    Database instrument information changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.23.</a>&nbsp;
502    Database job status information changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.24.</a>&nbsp;
504  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
505  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
506  Security Considerations<br />  Security Considerations<br />
# Line 458  Requirements notation</h3> Line 532  Requirements notation</h3>
532              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
533              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
534              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
535              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>),
536              example:              thus the following example:
537  </p>  </p>
538  <p>  <p>
539                  </p>                  </p>
# Line 3245  Changing settings of MIDI input ports</h Line 3319  Changing settings of MIDI input ports</h
3319                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3320                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3321                      the parameter to change and &lt;value&gt; by the new value for this                      the parameter to change and &lt;value&gt; by the new value for this
3322                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3323                        for specifying no value for parameters allowing a list of values.
3324  </p>  </p>
3325  <p>Possible Answers:  <p>Possible Answers:
3326  </p>  </p>
# Line 3286  Changing settings of MIDI input ports</h Line 3361  Changing settings of MIDI input ports</h
3361  <p>  <p>
3362                          </p>                          </p>
3363  <blockquote class="text">  <blockquote class="text">
3364    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3365    </p>
3366    <p>S: "OK"
3367    </p>
3368    </blockquote><p>
3369                        
3370    </p>
3371  <p>  <p>
3372                            </p>
3373    <blockquote class="text">
3374    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3375    </p>
3376    <p>S: "OK"
3377  </p>  </p>
3378  </blockquote><p>  </blockquote><p>
3379                                            
# Line 3321  Loading an instrument</h3> Line 3408  Loading an instrument</h3>
3408                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3409                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3410  </p>  </p>
3411    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3412                        escape characters for special characters (see chapter
3413                        "<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>"
3414                        for details) and accordingly backslash characters in the filename
3415                        MUST now be escaped as well!
3416    </p>
3417  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3418                      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
3419                      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 3368  Loading an instrument</h3> Line 3461  Loading an instrument</h3>
3461  </blockquote><p>  </blockquote><p>
3462                                            
3463  </p>  </p>
3464  <p>Example:  <p>Example (Unix):
3465  </p>  </p>
3466  <p>  <p>
3467                          </p>                          </p>
3468  <blockquote class="text">  <blockquote class="text">
3469    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3470    </p>
3471    <p>S: OK
3472    </p>
3473    </blockquote><p>
3474                        
3475    </p>
3476    <p>Example (Windows):
3477    </p>
3478  <p>  <p>
3479                            </p>
3480    <blockquote class="text">
3481    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3482    </p>
3483    <p>S: OK
3484  </p>  </p>
3485  </blockquote><p>  </blockquote><p>
3486                                            
# Line 3788  Getting information about an engine</h3> Line 3895  Getting information about an engine</h3>
3895                                          </p>                                          </p>
3896  <blockquote class="text">  <blockquote class="text">
3897  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3898                                                (note that the character string may contain
3899                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3900  </p>  </p>
3901  </blockquote>  </blockquote>
3902                                                                            
# Line 3907  Getting sampler channel information</h3> Line 4016  Getting sampler channel information</h3>
4016  <blockquote class="text">  <blockquote class="text">
4017  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4018                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4019                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4020                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4021  </p>  </p>
4022  </blockquote>  </blockquote>
4023                                                                            
# Line 3924  Getting sampler channel information</h3> Line 4034  Getting sampler channel information</h3>
4034                                          </p>                                          </p>
4035  <blockquote class="text">  <blockquote class="text">
4036  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4037                                                (note: since LSCP 1.2 this character string may contain
4038                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4039  </p>  </p>
4040  </blockquote>  </blockquote>
4041                                                                            
# Line 4999  Adding an effect send to a sampler chann Line 5111  Adding an effect send to a sampler chann
5111                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5112                      is a number between 0..127 defining the MIDI controller which can alter the                      is a number between 0..127 defining the MIDI controller which can alter the
5113                      effect send level and &lt;name&gt; is an optional argument defining a name                      effect send level and &lt;name&gt; is an optional argument defining a name
5114                      for the effect send entity. The name does not have to be unique.                      for the effect send entity. The name does not have to be unique, but MUST be
5115                        encapsulated into apostrophes and supports escape sequences as described in chapter
5116                        "<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>".
5117  </p>  </p>
5118  <p>By default, that is as initial routing, the effect send's audio channels  <p>By default, that is as initial routing, the effect send's audio channels
5119                      are automatically routed to the last audio channels of the sampler channel's                      are automatically routed to the last audio channels of the sampler channel's
# Line 5268  Getting effect send information</h3> Line 5382  Getting effect send information</h3>
5382                                          </p>                                          </p>
5383  <blockquote class="text">  <blockquote class="text">
5384  <p>name of the effect send entity  <p>name of the effect send entity
5385                                                (note that this character string may contain
5386                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5387  </p>  </p>
5388  </blockquote>  </blockquote>
5389                                                                            
# Line 5358  Changing effect send's name</h3> Line 5474  Changing effect send's name</h3>
5474                      as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5475                      or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and                      or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5476                      &lt;name&gt; is the new name of the effect send entity, which                      &lt;name&gt; is the new name of the effect send entity, which
5477                      does not have to be unique.                      does not have to be unique (name MUST be encapsulated into apostrophes
5478                        and supports escape sequences as described in chapter
5479                        "<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>").
5480                        
5481  </p>  </p>
5482  <p>Possible Answers:  <p>Possible Answers:
5483  </p>  </p>
# Line 5959  Maximum amount of active voices</h3> Line 6078  Maximum amount of active voices</h3>
6078  </blockquote><p>  </blockquote><p>
6079                                            
6080  </p>  </p>
6081  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6082  <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>
6083  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6084    Current number of active disk streams</h3>
6085    
6086    <p>The front-end can ask for the current number of active disk streams on
6087                        the sampler by sending the following command:
6088    </p>
6089    <p>
6090                            </p>
6091    <blockquote class="text">
6092    <p>GET TOTAL_STREAM_COUNT
6093    </p>
6094    </blockquote><p>
6095                        
6096    </p>
6097    <p>Possible Answers:
6098    </p>
6099    <p>
6100                            </p>
6101    <blockquote class="text">
6102    <p>LinuxSampler will answer by returning the number of all active
6103                                disk streams on the sampler.
6104    </p>
6105    </blockquote><p>
6106                        
6107    </p>
6108    <a name="RESET"></a><br /><hr />
6109    <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>
6110    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6111  Reset sampler</h3>  Reset sampler</h3>
6112    
6113  <p>The front-end can reset the whole sampler by sending the following command:  <p>The front-end can reset the whole sampler by sending the following command:
# Line 6002  Reset sampler</h3> Line 6148  Reset sampler</h3>
6148  </p>  </p>
6149  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6150  <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>
6151  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6152  General sampler informations</h3>  General sampler informations</h3>
6153    
6154  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
# Line 6035  General sampler informations</h3> Line 6181  General sampler informations</h3>
6181                                          </p>                                          </p>
6182  <blockquote class="text">  <blockquote class="text">
6183  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6184                                                (note that the character string may contain
6185                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6186  </p>  </p>
6187  </blockquote>  </blockquote>
6188                                                                            
# Line 6056  General sampler informations</h3> Line 6204  General sampler informations</h3>
6204  </blockquote>  </blockquote>
6205                                                                            
6206    
6207    <p>INSTRUMENTS_DB_SUPPORT -
6208                                            </p>
6209    <blockquote class="text">
6210    <p>either yes or no, specifies whether the
6211                                                sampler is build with instruments database support.
6212    </p>
6213    </blockquote>
6214                                        
6215    
6216  </blockquote>  </blockquote>
6217                                                            
6218    
# Line 6067  General sampler informations</h3> Line 6224  General sampler informations</h3>
6224  </p>  </p>
6225  <a name="GET VOLUME"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6226  <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>
6227  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;  <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6228  Getting global volume attenuation</h3>  Getting global volume attenuation</h3>
6229    
6230  <p>The client can ask for the current global sampler-wide volume  <p>The client can ask for the current global sampler-wide volume
# Line 6100  Getting global volume attenuation</h3> Line 6257  Getting global volume attenuation</h3>
6257  </p>  </p>
6258  <a name="SET VOLUME"></a><br /><hr />  <a name="SET VOLUME"></a><br /><hr />
6259  <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>
6260  <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;  <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6261  Setting global volume attenuation</h3>  Setting global volume attenuation</h3>
6262    
6263  <p>The client can alter the current global sampler-wide volume  <p>The client can alter the current global sampler-wide volume
# Line 6187  MIDI Instrument Mapping</h3> Line 6344  MIDI Instrument Mapping</h3>
6344                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6345                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6346  </p>  </p>
6347  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6348  <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>
6349  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6350  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6205  Create a new MIDI instrument map</h3> Line 6362  Create a new MIDI instrument map</h3>
6362  </p>  </p>
6363  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6364                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6365                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6366                        into apostrophes and support escape sequences as described
6367                        in chapter "<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>".
6368                        
6369  </p>  </p>
6370  <p>Possible Answers:  <p>Possible Answers:
6371  </p>  </p>
# Line 6463  Getting MIDI instrument map information< Line 6623  Getting MIDI instrument map information<
6623  <blockquote class="text">  <blockquote class="text">
6624  <p>custom name of the given map,  <p>custom name of the given map,
6625                                              which does not have to be unique                                              which does not have to be unique
6626                                                (note that this character string may contain
6627                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6628  </p>  </p>
6629  </blockquote>  </blockquote>
6630                                                                            
# Line 6518  Renaming a MIDI instrument map</h3> Line 6680  Renaming a MIDI instrument map</h3>
6680  </p>  </p>
6681  <p>Where &lt;map&gt; is the numerical ID of the map and  <p>Where &lt;map&gt; is the numerical ID of the map and
6682                      &lt;name&gt; the new custom name of the map, which does not                      &lt;name&gt; the new custom name of the map, which does not
6683                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6684                        and supports escape sequences as described in chapter
6685                        "<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>").
6686                        
6687  </p>  </p>
6688  <p>Possible Answers:  <p>Possible Answers:
6689  </p>  </p>
# Line 6584  Create or replace a MIDI instrument map Line 6749  Create or replace a MIDI instrument map
6749                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6750                      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>
6751                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6752                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6753                        supporting escape sequences as described in chapter
6754                        "<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>"),
6755                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6756                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6757                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 6681  Create or replace a MIDI instrument map Line 6848  Create or replace a MIDI instrument map
6848                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
6849                      mode by i.e. sending                      mode by i.e. sending
6850                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
6851                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6852                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6853                      entry, useful for frontends for displaying an appropriate name for                      "<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>") for the
6854                        mapping entry, useful for frontends for displaying an appropriate name for
6855                      mapped instruments (using                      mapped instruments (using
6856                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).
6857                                            
# Line 7005  Get current settings of MIDI instrument Line 7173  Get current settings of MIDI instrument
7173                                      changed with the                                      changed with the
7174                                      <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>                                      <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
7175                                      command and does not have to be unique.                                      command and does not have to be unique.
7176                                        (note that this character string may contain
7177                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7178  </p>  </p>
7179  </blockquote>  </blockquote>
7180                                                            
# Line 7021  Get current settings of MIDI instrument Line 7191  Get current settings of MIDI instrument
7191  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7192                                  </p>                                  </p>
7193  <blockquote class="text">  <blockquote class="text">
7194  <p>File name of the instrument.  <p>File name of the instrument
7195                                        (note that this path may contain
7196                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7197  </p>  </p>
7198  </blockquote>  </blockquote>
7199                                                            
# Line 7039  Get current settings of MIDI instrument Line 7211  Get current settings of MIDI instrument
7211  <blockquote class="text">  <blockquote class="text">
7212  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7213                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7214                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7215                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7216  </p>  </p>
7217  </blockquote>  </blockquote>
7218                                                            
# Line 7166  Clear MIDI instrument map</h3> Line 7339  Clear MIDI instrument map</h3>
7339  </blockquote><p>  </blockquote><p>
7340                                            
7341  </p>  </p>
7342    <a name="Managing Instruments Database"></a><br /><hr />
7343    <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>
7344    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7345    Managing Instruments Database</h3>
7346    
7347    <p>The following commands describe how to use and manage
7348                    the instruments database.
7349    </p>
7350    <p>Notice:
7351    </p>
7352    <p>
7353                            </p>
7354    <blockquote class="text">
7355    <p>All command arguments representing a path or
7356                                instrument/directory name support escape sequences as described in chapter
7357                                "<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>".
7358                                
7359    </p>
7360    <p>All occurrences of a forward slash in instrument and directory
7361                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7362                                
7363    </p>
7364    </blockquote><p>
7365                        
7366    </p>
7367    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7368    <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>
7369    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7370    Creating a new instrument directory</h3>
7371    
7372    <p>The front-end can add a new instrument directory to the
7373                        instruments database by sending the following command:
7374    </p>
7375    <p>
7376                            </p>
7377    <blockquote class="text">
7378    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7379    </p>
7380    </blockquote><p>
7381                        
7382    </p>
7383    <p>Where &lt;dir&gt; is the absolute path name of the directory
7384                        to be created (encapsulated into apostrophes).
7385    </p>
7386    <p>Possible Answers:
7387    </p>
7388    <p>
7389                            </p>
7390    <blockquote class="text">
7391    <p>"OK" -
7392                                    </p>
7393    <blockquote class="text">
7394    <p>on success
7395    </p>
7396    </blockquote>
7397                                
7398    
7399    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7400                                    </p>
7401    <blockquote class="text">
7402    <p>when the directory could not be created, which
7403                                        can happen if the directory already exists or the
7404                                        name contains not allowed symbols
7405    </p>
7406    </blockquote>
7407                                
7408    
7409    </blockquote><p>
7410                        
7411    </p>
7412    <p>Examples:
7413    </p>
7414    <p>
7415                            </p>
7416    <blockquote class="text">
7417    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7418    </p>
7419    <p>S: "OK"
7420    </p>
7421    </blockquote><p>
7422                        
7423    </p>
7424    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7425    <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>
7426    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7427    Deleting an instrument directory</h3>
7428    
7429    <p>The front-end can delete a particular instrument directory
7430                        from the instruments database by sending the following command:
7431    </p>
7432    <p>
7433                            </p>
7434    <blockquote class="text">
7435    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7436    </p>
7437    </blockquote><p>
7438                        
7439    </p>
7440    <p>Where &lt;dir&gt; is the absolute path name of the directory
7441                        to delete. The optional FORCE argument can be used to
7442                        force the deletion of a non-empty directory and all its content.
7443    </p>
7444    <p>Possible Answers:
7445    </p>
7446    <p>
7447                            </p>
7448    <blockquote class="text">
7449    <p>"OK" -
7450                                    </p>
7451    <blockquote class="text">
7452    <p>if the directory is deleted successfully
7453    </p>
7454    </blockquote>
7455                                
7456    
7457    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7458                                    </p>
7459    <blockquote class="text">
7460    <p>if the given directory does not exist, or
7461                                        if trying to delete a non-empty directory,
7462                                        without using the FORCE argument.
7463    </p>
7464    </blockquote>
7465                                
7466    
7467    </blockquote><p>
7468                        
7469    </p>
7470    <p>Examples:
7471    </p>
7472    <p>
7473                            </p>
7474    <blockquote class="text">
7475    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7476    </p>
7477    <p>S: "OK"
7478    </p>
7479    </blockquote><p>
7480                        
7481    </p>
7482    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7483    <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>
7484    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7485    Getting amount of instrument directories</h3>
7486    
7487    <p>The front-end can retrieve the current amount of
7488                        directories in a specific directory by sending the following command:
7489    </p>
7490    <p>
7491                            </p>
7492    <blockquote class="text">
7493    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7494    </p>
7495    </blockquote><p>
7496                        
7497    </p>
7498    <p>Where &lt;dir&gt; should be replaced by the absolute path
7499                        name of the directory. If RECURSIVE is specified, the number of
7500                        all directories, including those located in subdirectories of the
7501                        specified directory, will be returned.
7502    </p>
7503    <p>Possible Answers:
7504    </p>
7505    <p>
7506                            </p>
7507    <blockquote class="text">
7508    <p>The current number of instrument directories
7509                                in the specified directory.
7510    </p>
7511    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7512                                    </p>
7513    <blockquote class="text">
7514    <p>if the given directory does not exist.
7515    </p>
7516    </blockquote>
7517                                
7518    
7519    </blockquote><p>
7520                        
7521    </p>
7522    <p>Example:
7523    </p>
7524    <p>
7525                            </p>
7526    <blockquote class="text">
7527    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7528    </p>
7529    <p>S: "2"
7530    </p>
7531    </blockquote><p>
7532                        
7533    </p>
7534    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7535    <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>
7536    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7537    Listing all directories in specific directory</h3>
7538    
7539    <p>The front-end can retrieve the current list of directories
7540                        in specific directory by sending the following command:
7541    </p>
7542    <p>
7543                            </p>
7544    <blockquote class="text">
7545    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7546    </p>
7547    </blockquote><p>
7548                        
7549    </p>
7550    <p>Where &lt;dir&gt; should be replaced by the absolute path
7551                        name of the directory. If RECURSIVE is specified, the absolute path names
7552                        of all directories, including those located in subdirectories of the
7553                        specified directory, will be returned.
7554    </p>
7555    <p>Possible Answers:
7556    </p>
7557    <p>
7558                            </p>
7559    <blockquote class="text">
7560    <p>A comma separated list of all instrument directories
7561                                (encapsulated into apostrophes) in the specified directory.
7562    </p>
7563    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7564                                    </p>
7565    <blockquote class="text">
7566    <p>if the given directory does not exist.
7567    </p>
7568    </blockquote>
7569                                
7570    
7571    </blockquote><p>
7572                        
7573    </p>
7574    <p>Example:
7575    </p>
7576    <p>
7577                            </p>
7578    <blockquote class="text">
7579    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7580    </p>
7581    <p>S: "'Piano Collection','Percussion Collection'"
7582    </p>
7583    </blockquote><p>
7584                        
7585    </p>
7586    <p>
7587                            </p>
7588    <blockquote class="text">
7589    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7590    </p>
7591    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7592    </p>
7593    </blockquote><p>
7594                        
7595    </p>
7596    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7597    <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>
7598    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7599    Getting instrument directory information</h3>
7600    
7601    <p>The front-end can ask for the current settings of an
7602                        instrument directory by sending the following command:
7603    </p>
7604    <p>
7605                            </p>
7606    <blockquote class="text">
7607    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7608    </p>
7609    </blockquote><p>
7610                        
7611    </p>
7612    <p>Where &lt;dir&gt; should be replaced by the absolute path
7613                        name of the directory the front-end is interested in.
7614    </p>
7615    <p>Possible Answers:
7616    </p>
7617    <p>
7618                            </p>
7619    <blockquote class="text">
7620    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7621                                Each answer line begins with the settings category name
7622                                followed by a colon and then a space character &lt;SP&gt; and finally
7623                                the info character string to that setting category. At the
7624                                moment the following categories are defined:
7625    </p>
7626    <p>
7627                                    </p>
7628    <blockquote class="text">
7629    <p>DESCRIPTION -
7630                                            </p>
7631    <blockquote class="text">
7632    <p>A brief description of the directory content.
7633                                                Note that the character string may contain
7634                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7635    </p>
7636    </blockquote>
7637                                        
7638    
7639    <p>CREATED -
7640                                            </p>
7641    <blockquote class="text">
7642    <p>The creation date and time of the directory,
7643                                                represented in "YYYY-MM-DD HH:MM:SS" format
7644    </p>
7645    </blockquote>
7646                                        
7647    
7648    <p>MODIFIED -
7649                                            </p>
7650    <blockquote class="text">
7651    <p>The date and time of the last modification of the
7652                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7653    </p>
7654    </blockquote>
7655                                        
7656    
7657    </blockquote>
7658                                
7659    
7660    </blockquote><p>
7661                        
7662    </p>
7663    <p>The mentioned fields above don't have to be in particular order.
7664    </p>
7665    <p>Example:
7666    </p>
7667    <p>
7668                            </p>
7669    <blockquote class="text">
7670    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7671    </p>
7672    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7673    </p>
7674    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7675    </p>
7676    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7677    </p>
7678    <p>&nbsp;&nbsp;&nbsp;"."
7679    </p>
7680    </blockquote><p>
7681                        
7682    </p>
7683    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7684    <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>
7685    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7686    Renaming an instrument directory</h3>
7687    
7688    <p>The front-end can alter the name of a specific
7689                        instrument directory by sending the following command:
7690    </p>
7691    <p>
7692                            </p>
7693    <blockquote class="text">
7694    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7695    </p>
7696    </blockquote><p>
7697                        
7698    </p>
7699    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7700                        &lt;name&gt; is the new name for that directory.
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 the given directory does not exists,
7719                                        or if a directory with name equal to the new
7720                                        name already exists.
7721    </p>
7722    </blockquote>
7723                                
7724    
7725    </blockquote><p>
7726                        
7727    </p>
7728    <p>Example:
7729    </p>
7730    <p>
7731                            </p>
7732    <blockquote class="text">
7733    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7734    </p>
7735    <p>S: "OK"
7736    </p>
7737    </blockquote><p>
7738                        
7739    </p>
7740    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7741    <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>
7742    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7743    Moving an instrument directory</h3>
7744    
7745    <p>The front-end can move a specific
7746                        instrument directory by sending the following command:
7747    </p>
7748    <p>
7749                            </p>
7750    <blockquote class="text">
7751    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7752    </p>
7753    </blockquote><p>
7754                        
7755    </p>
7756    <p>Where &lt;dir&gt; is the absolute path name of the directory
7757                        to move and &lt;dst&gt; is the location where the directory will
7758                        be moved to.
7759    </p>
7760    <p>Possible Answers:
7761    </p>
7762    <p>
7763                            </p>
7764    <blockquote class="text">
7765    <p>"OK" -
7766                                    </p>
7767    <blockquote class="text">
7768    <p>on success
7769    </p>
7770    </blockquote>
7771                                
7772    
7773    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7774                                    </p>
7775    <blockquote class="text">
7776    <p>in case a given directory does not exists,
7777                                        or if a directory with name equal to the name
7778                                        of the specified directory already exists in
7779                                        the destination directory. Error is also thrown
7780                                        when trying to move a directory to a subdirectory
7781                                        of itself.
7782    </p>
7783    </blockquote>
7784                                
7785    
7786    </blockquote><p>
7787                        
7788    </p>
7789    <p>Example:
7790    </p>
7791    <p>
7792                            </p>
7793    <blockquote class="text">
7794    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7795    </p>
7796    <p>S: "OK"
7797    </p>
7798    </blockquote><p>
7799                        
7800    </p>
7801    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7802    <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>
7803    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7804    Copying instrument directories</h3>
7805    
7806    <p>The front-end can copy a specific
7807                        instrument directory by sending the following command:
7808    </p>
7809    <p>
7810                            </p>
7811    <blockquote class="text">
7812    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7813    </p>
7814    </blockquote><p>
7815                        
7816    </p>
7817    <p>Where &lt;dir&gt; is the absolute path name of the directory
7818                        to copy and &lt;dst&gt; is the location where the directory will
7819                        be copied to.
7820    </p>
7821    <p>Possible Answers:
7822    </p>
7823    <p>
7824                            </p>
7825    <blockquote class="text">
7826    <p>"OK" -
7827                                    </p>
7828    <blockquote class="text">
7829    <p>on success
7830    </p>
7831    </blockquote>
7832                                
7833    
7834    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7835                                    </p>
7836    <blockquote class="text">
7837    <p>in case a given directory does not exists,
7838                                        or if a directory with name equal to the name
7839                                        of the specified directory already exists in
7840                                        the destination directory. Error is also thrown
7841                                        when trying to copy a directory to a subdirectory
7842                                        of itself.
7843    </p>
7844    </blockquote>
7845                                
7846    
7847    </blockquote><p>
7848                        
7849    </p>
7850    <p>Example:
7851    </p>
7852    <p>
7853                            </p>
7854    <blockquote class="text">
7855    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7856    </p>
7857    <p>S: "OK"
7858    </p>
7859    </blockquote><p>
7860                        
7861    </p>
7862    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></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.9"></a><h3>6.8.9.&nbsp;
7865    Changing the description of directory</h3>
7866    
7867    <p>The front-end can alter the description of a specific
7868                        instrument directory by sending the following command:
7869    </p>
7870    <p>
7871                            </p>
7872    <blockquote class="text">
7873    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7874    </p>
7875    </blockquote><p>
7876                        
7877    </p>
7878    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7879                        &lt;desc&gt; is the new description for the directory
7880                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7881                        "<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>").
7882    </p>
7883    <p>Possible Answers:
7884    </p>
7885    <p>
7886                            </p>
7887    <blockquote class="text">
7888    <p>"OK" -
7889                                    </p>
7890    <blockquote class="text">
7891    <p>on success
7892    </p>
7893    </blockquote>
7894                                
7895    
7896    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7897                                    </p>
7898    <blockquote class="text">
7899    <p>in case the given directory does not exists.
7900    </p>
7901    </blockquote>
7902                                
7903    
7904    </blockquote><p>
7905                        
7906    </p>
7907    <p>Example:
7908    </p>
7909    <p>
7910                            </p>
7911    <blockquote class="text">
7912    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7913    </p>
7914    <p>S: "OK"
7915    </p>
7916    </blockquote><p>
7917                        
7918    </p>
7919    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7920    <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>
7921    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7922    Finding directories</h3>
7923    
7924    <p>The front-end can search for directories
7925                        in specific directory by sending the following command:
7926    </p>
7927    <p>
7928                            </p>
7929    <blockquote class="text">
7930    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7931    </p>
7932    </blockquote><p>
7933                        
7934    </p>
7935    <p>Where &lt;dir&gt; should be replaced by the absolute path
7936                        name of the directory to search in. If NON_RECURSIVE is specified, the
7937                        directories located in subdirectories of the specified directory will not
7938                        be searched. &lt;criteria-list&gt; is a list of search criterias
7939                        in form of "key1=val1 key2=val2 ...". The following criterias are
7940                        allowed:
7941    </p>
7942    <p>
7943                          
7944    <p>NAME='&lt;search-string&gt;'
7945                              </p>
7946    <blockquote class="text">
7947    <p>Restricts the search to directories, which names
7948                                  satisfy the supplied search string (encapsulated into apostrophes,
7949                                  supporting escape sequences as described in chapter
7950                                  "<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>").
7951    </p>
7952    </blockquote><p>
7953                          
7954    </p>
7955    
7956                          
7957    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7958                              </p>
7959    <blockquote class="text">
7960    <p>Restricts the search to directories, which creation
7961                                  date satisfies the specified period, where &lt;date-after&gt;
7962                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7963                                  If &lt;date-after&gt; is omitted the search is restricted to
7964                                  directories created before &lt;date-before&gt;. If
7965                                  &lt;date-before&gt; is omitted, the search is restricted
7966                                  to directories created after &lt;date-after&gt;.
7967    </p>
7968    </blockquote><p>
7969                          
7970    </p>
7971    
7972                          
7973    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7974                              </p>
7975    <blockquote class="text">
7976    <p>Restricts the search to directories, which
7977                                  date of last modification satisfies the specified period, where
7978                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7979                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7980                                  directories, which are last modified before &lt;date-before&gt;. If
7981                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7982                                  which are last modified after &lt;date-after&gt;.
7983    </p>
7984    </blockquote><p>
7985                          
7986    </p>
7987    
7988                          
7989    <p>DESCRIPTION='&lt;search-string&gt;'
7990                              </p>
7991    <blockquote class="text">
7992    <p>Restricts the search to directories with description
7993                                  that satisfies the supplied search string
7994                                  (encapsulated into apostrophes, supporting escape
7995                                  sequences as described in chapter
7996                                  "<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>").
7997    </p>
7998    </blockquote><p>
7999                          
8000    </p>
8001                        
8002    
8003    <p>Where &lt;search-string&gt; is either a regular expression, or a
8004                        word list separated with spaces for OR search and with '+' for AND search.
8005    </p>
8006    <p>Possible Answers:
8007    </p>
8008    <p>
8009                            </p>
8010    <blockquote class="text">
8011    <p>A comma separated list with the absolute path names (encapsulated into
8012                                apostrophes) of all directories in the specified directory that satisfy
8013                                the supplied search criterias.
8014    </p>
8015    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8016                                    </p>
8017    <blockquote class="text">
8018    <p>if the given directory does not exist.
8019    </p>
8020    </blockquote>
8021                                
8022    
8023    </blockquote><p>
8024                        
8025    </p>
8026    <p>Example:
8027    </p>
8028    <p>
8029                            </p>
8030    <blockquote class="text">
8031    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8032    </p>
8033    <p>S: "'/Piano Collection'"
8034    </p>
8035    </blockquote><p>
8036                        
8037    </p>
8038    <p>
8039                            </p>
8040    <blockquote class="text">
8041    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8042    </p>
8043    <p>S: "'/Piano Collection','/Percussions'"
8044    </p>
8045    </blockquote><p>
8046                        
8047    </p>
8048    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8049    <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>
8050    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8051    Adding instruments to the instruments database</h3>
8052    
8053    <p>The front-end can add one or more instruments
8054                        to the instruments database by sending the following command:
8055    </p>
8056    <p>
8057                            </p>
8058    <blockquote class="text">
8059    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8060    </p>
8061    </blockquote><p>
8062                        
8063    </p>
8064    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8065                        (encapsulated into apostrophes) in the instruments database in which
8066                        only the new instruments (that are not already in the database) will
8067                        be added, &lt;file_path&gt; is the absolute path name of a file or
8068                        directory in the file system (encapsulated into apostrophes). In case
8069                        an instrument file is supplied, only the instruments in the specified
8070                        file will be added to the instruments database. If the optional
8071                        &lt;instr_index&gt; (the index of the instrument within the given file)
8072                        is supplied too, then only the specified instrument will be added.
8073                        In case a directory is supplied, the instruments in that directory
8074                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8075                        when a directory is provided as &lt;file_path&gt; and specifies how the
8076                        scanning will be done and has exactly the following possibilities:
8077    </p>
8078    <p>
8079                            </p>
8080    <blockquote class="text">
8081    <p>"RECURSIVE" -
8082                                    </p>
8083    <blockquote class="text">
8084    <p>All instruments will be processed, including those
8085                                        in the subdirectories, and the respective subdirectory
8086                                        tree structure will be recreated in the instruments
8087                                        database
8088    </p>
8089    </blockquote>
8090                                
8091    
8092    <p>"NON_RECURSIVE" -
8093                                    </p>
8094    <blockquote class="text">
8095    <p>Only the instruments in the specified directory
8096                                        will be added, the instruments in the subdirectories
8097                                        will not be processed.
8098    </p>
8099    </blockquote>
8100                                
8101    
8102    <p>"FLAT" -
8103                                    </p>
8104    <blockquote class="text">
8105    <p>All instruments will be processed, including those
8106                                        in the subdirectories, but the respective subdirectory
8107                                        structure will not be recreated in the instruments
8108                                        database. All instruments will be added directly in
8109                                        the specified database directory.
8110    </p>
8111    </blockquote>
8112                                
8113    
8114    </blockquote><p>
8115                        
8116    </p>
8117    <p>The difference between regular and NON_MODAL versions of the command
8118                        is that the regular command returns when the scanning is finished
8119                        while NON_MODAL version returns immediately and a background process is launched.
8120                        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>
8121                        command can be used to monitor the scanning progress.
8122    </p>
8123    <p>Possible Answers:
8124    </p>
8125    <p>
8126                            </p>
8127    <blockquote class="text">
8128    <p>"OK" -
8129                                    </p>
8130    <blockquote class="text">
8131    <p>on success when NON_MODAL is not supplied
8132    </p>
8133    </blockquote>
8134                                
8135    
8136    <p>"OK[&lt;job-id&gt;]" -
8137                                    </p>
8138    <blockquote class="text">
8139    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8140                                        is a numerical ID used to obtain status information about the job progress.
8141                                        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>
8142                                        
8143    </p>
8144    </blockquote>
8145                                
8146    
8147    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8148                                    </p>
8149    <blockquote class="text">
8150    <p>if an invalid path is specified.
8151    </p>
8152    </blockquote>
8153                                
8154    
8155    </blockquote><p>
8156                        
8157    </p>
8158    <p>Examples:
8159    </p>
8160    <p>
8161                            </p>
8162    <blockquote class="text">
8163    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8164    </p>
8165    <p>S: "OK"
8166    </p>
8167    </blockquote><p>
8168                        
8169    </p>
8170    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8171    <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>
8172    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8173    Removing an instrument</h3>
8174    
8175    <p>The front-end can remove a particular instrument
8176                        from the instruments database by sending the following command:
8177    </p>
8178    <p>
8179                            </p>
8180    <blockquote class="text">
8181    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8182    </p>
8183    </blockquote><p>
8184                        
8185    </p>
8186    <p>Where &lt;instr_path&gt; is the absolute path name
8187                        (in the instruments database) of the instrument to remove.
8188    </p>
8189    <p>Possible Answers:
8190    </p>
8191    <p>
8192                            </p>
8193    <blockquote class="text">
8194    <p>"OK" -
8195                                    </p>
8196    <blockquote class="text">
8197    <p>if the instrument is removed successfully
8198    </p>
8199    </blockquote>
8200                                
8201    
8202    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8203                                    </p>
8204    <blockquote class="text">
8205    <p>if the given path does not exist or
8206                                        is a directory.
8207    </p>
8208    </blockquote>
8209                                
8210    
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>Examples:
8215    </p>
8216    <p>
8217                            </p>
8218    <blockquote class="text">
8219    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8220    </p>
8221    <p>S: "OK"
8222    </p>
8223    </blockquote><p>
8224                        
8225    </p>
8226    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8227    <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>
8228    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8229    Getting amount of instruments</h3>
8230    
8231    <p>The front-end can retrieve the current amount of
8232                        instruments in a specific directory by sending the following command:
8233    </p>
8234    <p>
8235                            </p>
8236    <blockquote class="text">
8237    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8238    </p>
8239    </blockquote><p>
8240                        
8241    </p>
8242    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8243                        of the directory. If RECURSIVE is specified, the number of all
8244                        instruments, including those located in subdirectories of the
8245                        specified directory, will be returned.
8246    </p>
8247    <p>Possible Answers:
8248    </p>
8249    <p>
8250                            </p>
8251    <blockquote class="text">
8252    <p>The current number of instruments
8253                                in the specified directory.
8254    </p>
8255    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8256                                    </p>
8257    <blockquote class="text">
8258    <p>if the given directory does not exist.
8259    </p>
8260    </blockquote>
8261                                
8262    
8263    </blockquote><p>
8264                        
8265    </p>
8266    <p>Example:
8267    </p>
8268    <p>
8269                            </p>
8270    <blockquote class="text">
8271    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8272    </p>
8273    <p>S: "2"
8274    </p>
8275    </blockquote><p>
8276                        
8277    </p>
8278    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8279    <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>
8280    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8281    Listing all instruments in specific directory</h3>
8282    
8283    <p>The front-end can retrieve the current list of instruments
8284                        in specific directory by sending the following command:
8285    </p>
8286    <p>
8287                            </p>
8288    <blockquote class="text">
8289    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8290    </p>
8291    </blockquote><p>
8292                        
8293    </p>
8294    <p>Where &lt;dir&gt; should be replaced by the absolute path
8295                        name of the directory. If RECURSIVE is specified, the absolute path
8296                        names of all instruments, including those located in subdirectories
8297                        of the specified directory, will be returned.
8298    </p>
8299    <p>Possible Answers:
8300    </p>
8301    <p>
8302                            </p>
8303    <blockquote class="text">
8304    <p>A comma separated list of all instruments
8305                                (encapsulated into apostrophes) in the specified directory.
8306    </p>
8307    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8308                                    </p>
8309    <blockquote class="text">
8310    <p>if the given directory does not exist.
8311    </p>
8312    </blockquote>
8313                                
8314    
8315    </blockquote><p>
8316                        
8317    </p>
8318    <p>Example:
8319    </p>
8320    <p>
8321                            </p>
8322    <blockquote class="text">
8323    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8324    </p>
8325    <p>S: "'Bosendorfer 290','Steinway D'"
8326    </p>
8327    </blockquote><p>
8328                        
8329    </p>
8330    <p>
8331                            </p>
8332    <blockquote class="text">
8333    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8334    </p>
8335    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8336    </p>
8337    </blockquote><p>
8338                        
8339    </p>
8340    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8341    <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>
8342    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8343    Getting instrument information</h3>
8344    
8345    <p>The front-end can ask for the current settings of an
8346                        instrument by sending the following command:
8347    </p>
8348    <p>
8349                            </p>
8350    <blockquote class="text">
8351    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8352    </p>
8353    </blockquote><p>
8354                        
8355    </p>
8356    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8357                        name of the instrument the front-end is interested in.
8358    </p>
8359    <p>Possible Answers:
8360    </p>
8361    <p>
8362                            </p>
8363    <blockquote class="text">
8364    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8365                                Each answer line begins with the settings category name
8366                                followed by a colon and then a space character &lt;SP&gt; and finally
8367                                the info character string to that setting category. At the
8368                                moment the following categories are defined:
8369    </p>
8370    <p>
8371                                    </p>
8372    <blockquote class="text">
8373    <p>INSTRUMENT_FILE -
8374                                            </p>
8375    <blockquote class="text">
8376    <p>File name of the instrument.
8377                                                Note that the character string may contain
8378                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8379    </p>
8380    </blockquote>
8381                                        
8382    
8383    <p>INSTRUMENT_NR -
8384                                            </p>
8385    <blockquote class="text">
8386    <p>Index of the instrument within the file.
8387    </p>
8388    </blockquote>
8389                                        
8390    
8391    <p>FORMAT_FAMILY -
8392                                            </p>
8393    <blockquote class="text">
8394    <p>The format family of the instrument.
8395    </p>
8396    </blockquote>
8397                                        
8398    
8399    <p>FORMAT_VERSION -
8400                                            </p>
8401    <blockquote class="text">
8402    <p>The format version of the instrument.
8403    </p>
8404    </blockquote>
8405                                        
8406    
8407    <p>SIZE -
8408                                            </p>
8409    <blockquote class="text">
8410    <p>The size of the instrument in bytes.
8411    </p>
8412    </blockquote>
8413                                        
8414    
8415    <p>CREATED -
8416                                            </p>
8417    <blockquote class="text">
8418    <p>The date and time when the instrument is added
8419                                                in the instruments database, represented in
8420                                               "YYYY-MM-DD HH:MM:SS" format
8421    </p>
8422    </blockquote>
8423                                        
8424    
8425    <p>MODIFIED -
8426                                            </p>
8427    <blockquote class="text">
8428    <p>The date and time of the last modification of the
8429                                                instrument's database settings, represented in
8430                                                "YYYY-MM-DD HH:MM:SS" format
8431    </p>
8432    </blockquote>
8433                                        
8434    
8435    <p>DESCRIPTION -
8436                                            </p>
8437    <blockquote class="text">
8438    <p>A brief description of the instrument.
8439                                                Note that the character string may contain
8440                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8441    </p>
8442    </blockquote>
8443                                        
8444    
8445    <p>IS_DRUM -
8446                                            </p>
8447    <blockquote class="text">
8448    <p>either true or false, determines whether the
8449                                                instrument is a drumkit or a chromatic instrument
8450    </p>
8451    </blockquote>
8452                                        
8453    
8454    <p>PRODUCT -
8455                                            </p>
8456    <blockquote class="text">
8457    <p>The product title of the instrument.
8458                                                Note that the character string may contain
8459                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8460    </p>
8461    </blockquote>
8462                                        
8463    
8464    <p>ARTISTS -
8465                                            </p>
8466    <blockquote class="text">
8467    <p>Lists the artist names.
8468                                                Note that the character string may contain
8469                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8470    </p>
8471    </blockquote>
8472                                        
8473    
8474    <p>KEYWORDS -
8475                                            </p>
8476    <blockquote class="text">
8477    <p>Provides a list of keywords that refer to the instrument.
8478                                                Keywords are separated with semicolon and blank.
8479                                                Note that the character string may contain
8480                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8481    </p>
8482    </blockquote>
8483                                        
8484    
8485    </blockquote>
8486                                
8487    
8488    </blockquote><p>
8489                        
8490    </p>
8491    <p>The mentioned fields above don't have to be in particular order.
8492    </p>
8493    <p>Example:
8494    </p>
8495    <p>
8496                            </p>
8497    <blockquote class="text">
8498    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8499    </p>
8500    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8501    </p>
8502    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8503    </p>
8504    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8505    </p>
8506    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8507    </p>
8508    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8509    </p>
8510    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8511    </p>
8512    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8513    </p>
8514    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8515    </p>
8516    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8517    </p>
8518    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8519    </p>
8520    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8521    </p>
8522    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8523    </p>
8524    <p>&nbsp;&nbsp;&nbsp;"."
8525    </p>
8526    </blockquote><p>
8527                        
8528    </p>
8529    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8530    <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>
8531    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8532    Renaming an instrument</h3>
8533    
8534    <p>The front-end can alter the name of a specific
8535                        instrument by sending the following command:
8536    </p>
8537    <p>
8538                            </p>
8539    <blockquote class="text">
8540    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8541    </p>
8542    </blockquote><p>
8543                        
8544    </p>
8545    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8546                        &lt;name&gt; is the new name for that instrument.
8547    </p>
8548    <p>Possible Answers:
8549    </p>
8550    <p>
8551                            </p>
8552    <blockquote class="text">
8553    <p>"OK" -
8554                                    </p>
8555    <blockquote class="text">
8556    <p>on success
8557    </p>
8558    </blockquote>
8559                                
8560    
8561    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8562                                    </p>
8563    <blockquote class="text">
8564    <p>in case the given instrument does not exists,
8565                                        or if an instrument with name equal to the new
8566                                        name already exists.
8567    </p>
8568    </blockquote>
8569                                
8570    
8571    </blockquote><p>
8572                        
8573    </p>
8574    <p>Example:
8575    </p>
8576    <p>
8577                            </p>
8578    <blockquote class="text">
8579    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8580    </p>
8581    <p>S: "OK"
8582    </p>
8583    </blockquote><p>
8584                        
8585    </p>
8586    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8587    <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>
8588    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8589    Moving an instrument</h3>
8590    
8591    <p>The front-end can move a specific instrument to another directory by
8592                        sending the following command:
8593    </p>
8594    <p>
8595                            </p>
8596    <blockquote class="text">
8597    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8598    </p>
8599    </blockquote><p>
8600                        
8601    </p>
8602    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8603                        to move and &lt;dst&gt; is the directory where the instrument will
8604                        be moved to.
8605    </p>
8606    <p>Possible Answers:
8607    </p>
8608    <p>
8609                            </p>
8610    <blockquote class="text">
8611    <p>"OK" -
8612                                    </p>
8613    <blockquote class="text">
8614    <p>on success
8615    </p>
8616    </blockquote>
8617                                
8618    
8619    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8620                                    </p>
8621    <blockquote class="text">
8622    <p>in case the given instrument does not exists,
8623                                        or if an instrument with name equal to the name of the
8624                                        specified instrument already exists in the destination
8625                                        directory.
8626    </p>
8627    </blockquote>
8628                                
8629    
8630    </blockquote><p>
8631                        
8632    </p>
8633    <p>Example:
8634    </p>
8635    <p>
8636                            </p>
8637    <blockquote class="text">
8638    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8639    </p>
8640    <p>S: "OK"
8641    </p>
8642    </blockquote><p>
8643                        
8644    </p>
8645    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8646    <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>
8647    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8648    Copying instruments</h3>
8649    
8650    <p>The front-end can copy a specific instrument to another directory by
8651                        sending the following command:
8652    </p>
8653    <p>
8654                            </p>
8655    <blockquote class="text">
8656    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8657    </p>
8658    </blockquote><p>
8659                        
8660    </p>
8661    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8662                        to copy and &lt;dst&gt; is the directory where the instrument will
8663                        be copied to.
8664    </p>
8665    <p>Possible Answers:
8666    </p>
8667    <p>
8668                            </p>
8669    <blockquote class="text">
8670    <p>"OK" -
8671                                    </p>
8672    <blockquote class="text">
8673    <p>on success
8674    </p>
8675    </blockquote>
8676                                
8677    
8678    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8679                                    </p>
8680    <blockquote class="text">
8681    <p>in case the given instrument does not exists,
8682                                        or if an instrument with name equal to the name of the
8683                                        specified instrument already exists in the destination
8684                                        directory.
8685    </p>
8686    </blockquote>
8687                                
8688    
8689    </blockquote><p>
8690                        
8691    </p>
8692    <p>Example:
8693    </p>
8694    <p>
8695                            </p>
8696    <blockquote class="text">
8697    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8698    </p>
8699    <p>S: "OK"
8700    </p>
8701    </blockquote><p>
8702                        
8703    </p>
8704    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8705    <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>
8706    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8707    Changing the description of instrument</h3>
8708    
8709    <p>The front-end can alter the description of a specific
8710                        instrument by sending the following command:
8711    </p>
8712    <p>
8713                            </p>
8714    <blockquote class="text">
8715    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8716    </p>
8717    </blockquote><p>
8718                        
8719    </p>
8720    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8721                        &lt;desc&gt; is the new description for the instrument
8722                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8723                        "<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>").
8724    </p>
8725    <p>Possible Answers:
8726    </p>
8727    <p>
8728                            </p>
8729    <blockquote class="text">
8730    <p>"OK" -
8731                                    </p>
8732    <blockquote class="text">
8733    <p>on success
8734    </p>
8735    </blockquote>
8736                                
8737    
8738    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8739                                    </p>
8740    <blockquote class="text">
8741    <p>in case the given instrument does not exists.
8742    </p>
8743    </blockquote>
8744                                
8745    
8746    </blockquote><p>
8747                        
8748    </p>
8749    <p>Example:
8750    </p>
8751    <p>
8752                            </p>
8753    <blockquote class="text">
8754    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8755    </p>
8756    <p>S: "OK"
8757    </p>
8758    </blockquote><p>
8759                        
8760    </p>
8761    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8762    <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>
8763    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8764    Finding instruments</h3>
8765    
8766    <p>The front-end can search for instruments
8767                        in specific directory by sending the following command:
8768    </p>
8769    <p>
8770                            </p>
8771    <blockquote class="text">
8772    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8773    </p>
8774    </blockquote><p>
8775                        
8776    </p>
8777    <p>Where &lt;dir&gt; should be replaced by the absolute path
8778                        name of the directory to search in. If NON_RECURSIVE is specified, the
8779                        directories located in subdirectories of the specified directory will not
8780                        be searched. &lt;criteria-list&gt; is a list of search criterias
8781                        in form of "key1=val1 key2=val2 ...". The following criterias are
8782                        allowed:
8783    </p>
8784    <p>
8785                          
8786    <p>NAME='&lt;search-string&gt;'
8787                              </p>
8788    <blockquote class="text">
8789    <p>Restricts the search to instruments, which names
8790                                  satisfy the supplied search string (encapsulated into apostrophes,
8791                                  supporting escape sequences as described in chapter
8792                                  "<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>").
8793    </p>
8794    </blockquote><p>
8795                          
8796    </p>
8797    
8798                          
8799    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8800                              </p>
8801    <blockquote class="text">
8802    <p>Restricts the search to instruments, which
8803                                  size is in the specified range. If &lt;min&gt; is omitted,
8804                                  the search results are restricted to instruments with size less then
8805                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8806                                  search is restricted to instruments with size greater then
8807                                  or equal to &lt;min&gt;.
8808    </p>
8809    </blockquote><p>
8810                          
8811    </p>
8812    
8813                          
8814    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8815                              </p>
8816    <blockquote class="text">
8817    <p>Restricts the search to instruments, which creation
8818                                  date satisfies the specified period, where &lt;date-after&gt;
8819                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8820                                  If &lt;date-after&gt; is omitted the search is restricted to
8821                                  instruments created before &lt;date-before&gt;. If
8822                                  &lt;date-before&gt; is omitted, the search is restricted
8823                                  to instruments created after &lt;date-after&gt;.
8824    </p>
8825    </blockquote><p>
8826                          
8827    </p>
8828    
8829                          
8830    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8831                              </p>
8832    <blockquote class="text">
8833    <p>Restricts the search to instruments, which
8834                                  date of last modification satisfies the specified period, where
8835                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8836                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8837                                  instruments, which are last modified before &lt;date-before&gt;. If
8838                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8839                                  which are last modified after &lt;date-after&gt;.
8840    </p>
8841    </blockquote><p>
8842                          
8843    </p>
8844    
8845                          
8846    <p>DESCRIPTION='&lt;search-string&gt;'
8847                              </p>
8848    <blockquote class="text">
8849    <p>Restricts the search to instruments with description
8850                                  that satisfies the supplied search string (encapsulated into apostrophes,
8851                                  supporting escape sequences as described in chapter
8852                                  "<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>").
8853    </p>
8854    </blockquote><p>
8855                          
8856    </p>
8857    
8858                          
8859    <p>PRODUCT='&lt;search-string&gt;'
8860                              </p>
8861    <blockquote class="text">
8862    <p>Restricts the search to instruments with product info
8863                                  that satisfies the supplied search string (encapsulated into apostrophes,
8864                                  supporting escape sequences as described in chapter
8865                                  "<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>").
8866    </p>
8867    </blockquote><p>
8868                          
8869    </p>
8870    
8871                          
8872    <p>ARTISTS='&lt;search-string&gt;'
8873                              </p>
8874    <blockquote class="text">
8875    <p>Restricts the search to instruments with artists info
8876                                  that satisfies the supplied search string (encapsulated into apostrophes,
8877                                  supporting escape sequences as described in chapter
8878                                  "<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>").
8879    </p>
8880    </blockquote><p>
8881                          
8882    </p>
8883    
8884                          
8885    <p>KEYWORDS='&lt;search-string&gt;'
8886                              </p>
8887    <blockquote class="text">
8888    <p>Restricts the search to instruments with keyword list
8889                                  that satisfies the supplied search string (encapsulated into apostrophes,
8890                                  supporting escape sequences as described in chapter
8891                                  "<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>").
8892    </p>
8893    </blockquote><p>
8894                          
8895    </p>
8896    
8897                          
8898    <p>IS_DRUM=true | false
8899                              </p>
8900    <blockquote class="text">
8901    <p>Either true or false. Restricts the search to
8902                                  drum kits or chromatic instruments.
8903    </p>
8904    </blockquote><p>
8905                          
8906    </p>
8907    
8908                          
8909    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8910                              </p>
8911    <blockquote class="text">
8912    <p>Restricts the search to instruments of the supplied format families,
8913                                  where &lt;format-list&gt; is a comma separated list of format families.
8914    </p>
8915    </blockquote><p>
8916                          
8917    </p>
8918                        
8919    
8920    <p>Where &lt;search-string&gt; is either a regular expression, or a
8921                        word list separated with spaces for OR search and with '+' for AND search.
8922    </p>
8923    <p>Possible Answers:
8924    </p>
8925    <p>
8926                            </p>
8927    <blockquote class="text">
8928    <p>A comma separated list with the absolute path names (encapsulated into
8929                                apostrophes) of all instruments in the specified directory that satisfy
8930                                the supplied search criterias.
8931    </p>
8932    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8933                                    </p>
8934    <blockquote class="text">
8935    <p>if the given directory does not exist.
8936    </p>
8937    </blockquote>
8938                                
8939    
8940    </blockquote><p>
8941                        
8942    </p>
8943    <p>Example:
8944    </p>
8945    <p>
8946                            </p>
8947    <blockquote class="text">
8948    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8949    </p>
8950    <p>S: "'/Piano Collection/Bosendorfer 290'"
8951    </p>
8952    </blockquote><p>
8953                        
8954    </p>
8955    <p>
8956                            </p>
8957    <blockquote class="text">
8958    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8959    </p>
8960    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8961    </p>
8962    </blockquote><p>
8963                        
8964    </p>
8965    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8966    <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>
8967    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8968    Getting job status information</h3>
8969    
8970    <p>The front-end can ask for the current status of a
8971                        particular database instruments job by sending the following command:
8972    </p>
8973    <p>
8974                            </p>
8975    <blockquote class="text">
8976    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8977    </p>
8978    </blockquote><p>
8979                        
8980    </p>
8981    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8982                        of the job the front-end is interested in.
8983    </p>
8984    <p>Possible Answers:
8985    </p>
8986    <p>
8987                            </p>
8988    <blockquote class="text">
8989    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8990                                Each answer line begins with the settings category name
8991                                followed by a colon and then a space character &lt;SP&gt; and finally
8992                                the info character string to that setting category. At the
8993                                moment the following categories are defined:
8994    </p>
8995    <p>
8996                                    </p>
8997    <blockquote class="text">
8998    <p>FILES_TOTAL -
8999                                            </p>
9000    <blockquote class="text">
9001    <p>The total number of files scheduled for scanning
9002    </p>
9003    </blockquote>
9004                                        
9005    
9006    <p>FILES_SCANNED -
9007                                            </p>
9008    <blockquote class="text">
9009    <p>The current number of scanned files
9010    </p>
9011    </blockquote>
9012                                        
9013    
9014    <p>SCANNING -
9015                                            </p>
9016    <blockquote class="text">
9017    <p>The absolute path name of the file which is currently
9018                                                being scanned
9019    </p>
9020    </blockquote>
9021                                        
9022    
9023    <p>STATUS -
9024                                            </p>
9025    <blockquote class="text">
9026    <p>An integer value between 0 and 100 indicating the
9027                                                scanning progress percentage of the file which is
9028                                                currently being scanned
9029    </p>
9030    </blockquote>
9031                                        
9032    
9033    </blockquote>
9034                                
9035    
9036    </blockquote><p>
9037                        
9038    </p>
9039    <p>The mentioned fields above don't have to be in particular order.
9040    </p>
9041    <p>Example:
9042    </p>
9043    <p>
9044                            </p>
9045    <blockquote class="text">
9046    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9047    </p>
9048    <p>S: "FILES_TOTAL: 12"
9049    </p>
9050    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9051    </p>
9052    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"."
9057    </p>
9058    </blockquote><p>
9059                        
9060    </p>
9061    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9062    <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>
9063    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9064    Formatting the instruments database</h3>
9065    
9066    <p>The front-end can remove all instruments and directories and re-create
9067                        the instruments database structure (e.g., in case of a database corruption)
9068                        by sending the following command:
9069    </p>
9070    <p>
9071                            </p>
9072    <blockquote class="text">
9073    <p>FORMAT INSTRUMENTS_DB
9074    </p>
9075    </blockquote><p>
9076                        
9077    </p>
9078    <p>Possible Answers:
9079    </p>
9080    <p>
9081                            </p>
9082    <blockquote class="text">
9083    <p>"OK" -
9084                                    </p>
9085    <blockquote class="text">
9086    <p>on success
9087    </p>
9088    </blockquote>
9089                                
9090    
9091    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9092                                    </p>
9093    <blockquote class="text">
9094    <p>If the formatting of the instruments database
9095                                        failed.
9096    </p>
9097    </blockquote>
9098                                
9099    
9100    </blockquote><p>
9101                        
9102    </p>
9103    <a name="editing_instruments"></a><br /><hr />
9104    <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>
9105    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9106    Editing Instruments</h3>
9107    
9108    <p>The sampler allows to edit instruments while playing with the
9109                    sampler by spawning an external (3rd party) instrument editor
9110                    application for a given instrument. The 3rd party instrument
9111                    editor applications have to place a respective plugin DLL file
9112                    into the sampler's plugins directory. The sampler will
9113                    automatically try to load all plugin DLLs in that directory on
9114                    startup and only on startup!
9115    </p>
9116    <p>At the moment there is only one command for this feature set,
9117                    but this will most probably change in future.
9118    </p>
9119    <a name="EDIT INSTRUMENT"></a><br /><hr />
9120    <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>
9121    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9122    Opening an appropriate instrument editor application</h3>
9123    
9124    <p>The front-end can request to open an appropriate instrument
9125                        editor application by sending the following command:
9126    </p>
9127    <p>
9128                            </p>
9129    <blockquote class="text">
9130    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9131    </p>
9132    </blockquote><p>
9133                        
9134    </p>
9135    <p>Where &lt;sampler-channel&gt; should be replaced by the
9136                        number of the sampler channel as given by the
9137                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9138                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9139                        command.
9140    </p>
9141    <p>The sampler will try to ask all registered instrument
9142                        editors (or to be more specific: their sampler plugins)
9143                        whether they are capable to handle the instrument on the
9144                        given sampler channel. The sampler will simply use the first
9145                        instrument editor application which replied with a positive
9146                        answer and spawn that instrument editor application within
9147                        the sampler's process and provide that application access
9148                        to the instrument's data structures, so both applications
9149                        can share and access the same instruments data at the same
9150                        time, thus allowing to immediately hear changes with the
9151                        sampler made by the instrument editor.
9152    </p>
9153    <p>Note: consequently instrument editors are always spawned
9154                        locally on the same machine where the sampler is running
9155                        on!
9156    </p>
9157    <p>Possible Answers:
9158    </p>
9159    <p>
9160                            </p>
9161    <blockquote class="text">
9162    <p>"OK" -
9163                                    </p>
9164    <blockquote class="text">
9165    <p>when an appropriate instrument editor was
9166                                        launched
9167    </p>
9168    </blockquote>
9169                                
9170    
9171    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9172                                    </p>
9173    <blockquote class="text">
9174    <p>when an appropriate instrument editor was
9175                                        launched, but there are noteworthy issues
9176    </p>
9177    </blockquote>
9178                                
9179    
9180    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9181                                    </p>
9182    <blockquote class="text">
9183    <p>when an appropriate instrument editor
9184                                        could not be launched
9185    </p>
9186    </blockquote>
9187                                
9188    
9189    </blockquote><p>
9190                        
9191    </p>
9192    <p>Examples:
9193    </p>
9194    <p>
9195                            </p>
9196    <blockquote class="text">
9197    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9198    </p>
9199    <p>S: "OK"
9200    </p>
9201    </blockquote><p>
9202                        
9203    </p>
9204    <a name="file_management"></a><br /><hr />
9205    <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>
9206    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9207    Managing Files</h3>
9208    
9209    <p>You can query detailed informations about files located
9210                    at the same system where the sampler instance is running on.
9211                    Using this command set allows to retrieve file informations
9212                    even remotely from another machine.
9213    </p>
9214    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9215    <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>
9216    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9217    Retrieving amount of instruments of a file</h3>
9218    
9219    <p>The front-end can retrieve the amount of instruments
9220                        within a given instrument file by sending the
9221                        following command:
9222    </p>
9223    <p>
9224                            </p>
9225    <blockquote class="text">
9226    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9227    </p>
9228    </blockquote><p>
9229                        
9230    </p>
9231    <p>Where &lt;filename&gt; is the name of the instrument
9232                        file (encapsulated into apostrophes, supporting escape
9233                        sequences as described in chapter
9234                        "<a class='info' href='#character_set'>Character Set and Escape
9235                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9236    </p>
9237    <p>The sampler will try to ask all sampler engines,
9238                        whether they support the given file and ask the first
9239                        engine with a positive answer for the amount of
9240                        instruments.
9241    </p>
9242    <p>Possible Answers:
9243    </p>
9244    <p>
9245                            </p>
9246    <blockquote class="text">
9247    <p>On success, the sampler will answer by
9248                                   returning the amount of instruments.
9249                                
9250    </p>
9251    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9252                                    </p>
9253    <blockquote class="text">
9254    <p>if the file could not be handled
9255    </p>
9256    </blockquote>
9257                                
9258    
9259    </blockquote><p>
9260                        
9261    </p>
9262    <p>Examples:
9263    </p>
9264    <p>
9265                            </p>
9266    <blockquote class="text">
9267    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9268    </p>
9269    <p>S: "10"
9270    </p>
9271    </blockquote><p>
9272                        
9273    </p>
9274    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9275    <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>
9276    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9277    Retrieving all instruments of a file</h3>
9278    
9279    <p>The front-end can retrieve a list of all instruments
9280                        within a given instrument file by sending the
9281                        following command:
9282    </p>
9283    <p>
9284                            </p>
9285    <blockquote class="text">
9286    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9287    </p>
9288    </blockquote><p>
9289                        
9290    </p>
9291    <p>Where &lt;filename&gt; is the name of the instrument
9292                        file (encapsulated into apostrophes, supporting escape
9293                        sequences as described in chapter
9294                        "<a class='info' href='#character_set'>Character Set and Escape
9295                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9296    </p>
9297    <p>The sampler will try to ask all sampler engines,
9298                        whether they support the given file and ask the first
9299                        engine with a positive answer for a list of IDs for the
9300                        instruments in the given file.
9301    </p>
9302    <p>Possible Answers:
9303    </p>
9304    <p>
9305                            </p>
9306    <blockquote class="text">
9307    <p>On success, the sampler will answer by
9308                                   returning a comma separated list of
9309                                   instrument IDs.
9310                                
9311    </p>
9312    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9313                                    </p>
9314    <blockquote class="text">
9315    <p>if the file could not be handled
9316    </p>
9317    </blockquote>
9318                                
9319    
9320    </blockquote><p>
9321                        
9322    </p>
9323    <p>Examples:
9324    </p>
9325    <p>
9326                            </p>
9327    <blockquote class="text">
9328    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9329    </p>
9330    <p>S: "0,1,2,3,4,5,6,7,8,9"
9331    </p>
9332    </blockquote><p>
9333                        
9334    </p>
9335    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9336    <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>
9337    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9338    Retrieving informations about one instrument in a file</h3>
9339    
9340    <p>The front-end can retrieve detailed informations
9341                        about a specific instrument within a given instrument
9342                        file by sending the following command:
9343    </p>
9344    <p>
9345                            </p>
9346    <blockquote class="text">
9347    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9348                                &lt;instr-id&gt;
9349    </p>
9350    </blockquote><p>
9351                        
9352    </p>
9353    <p>Where &lt;filename&gt; is the name of the instrument
9354                        file (encapsulated into apostrophes, supporting escape
9355                        sequences as described in chapter
9356                        "<a class='info' href='#character_set'>Character Set and Escape
9357                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9358                        instrument ID as returned by the
9359                        <a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> command.
9360    </p>
9361    <p>The sampler will try to ask all sampler engines,
9362                        whether they support the given file and ask the first
9363                        engine with a positive answer for informations about the
9364                        specific instrument in the given file.
9365    </p>
9366    <p>Possible Answers:
9367    </p>
9368    <p>
9369                            </p>
9370    <blockquote class="text">
9371    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9372                                Each answer line begins with the settings category name
9373                                followed by a colon and then a space character &lt;SP&gt; and finally
9374                                the info character string to that setting category. At the
9375                                moment the following categories are defined:
9376    </p>
9377    <p>
9378                                    </p>
9379    <blockquote class="text">
9380    <p>NAME -
9381                                            </p>
9382    <blockquote class="text">
9383    <p>name of the instrument as
9384                                                stored in the instrument file
9385    </p>
9386    </blockquote>
9387                                        
9388    
9389    <p>FORMAT_FAMILY -
9390                                            </p>
9391    <blockquote class="text">
9392    <p>name of the sampler format
9393                                                of the given instrument
9394    </p>
9395    </blockquote>
9396                                        
9397    
9398    <p>FORMAT_VERSION -
9399                                            </p>
9400    <blockquote class="text">
9401    <p>version of the sampler format
9402                                                the instrumen is stored as
9403    </p>
9404    </blockquote>
9405                                        
9406    
9407    <p>PRODUCT -
9408                                            </p>
9409    <blockquote class="text">
9410    <p>official product name of the
9411                                                instrument as stored in the file
9412                                                
9413    </p>
9414    </blockquote>
9415                                        
9416    
9417    <p>ARTISTS -
9418                                            </p>
9419    <blockquote class="text">
9420    <p>artists / sample library
9421                                                vendor of the instrument
9422    </p>
9423    </blockquote>
9424                                        
9425    
9426    </blockquote>
9427                                
9428    
9429    </blockquote><p>
9430                        
9431    </p>
9432    <p>The mentioned fields above don't have to be in particular order.
9433    </p>
9434    <p>Example:
9435    </p>
9436    <p>
9437                            </p>
9438    <blockquote class="text">
9439    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9440    </p>
9441    <p>S: "NAME: Lunatic Loops"
9442    </p>
9443    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9444    </p>
9445    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9446    </p>
9447    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9448    </p>
9449    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9450    </p>
9451    <p>&nbsp;&nbsp;&nbsp;"."
9452    </p>
9453    </blockquote><p>
9454                        
9455    </p>
9456  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9457  <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>
9458  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7266  Command Syntax</h3> Line 9553  Command Syntax</h3>
9553  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9554                                    
9555  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9556  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9557                                    
9558  </p>  </p>
9559  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9560                                    
9561  </p>  </p>
9562    <p>/ FIND SP find_instruction
9563                    
9564    </p>
9565    <p>/ MOVE SP move_instruction
9566                    
9567    </p>
9568    <p>/ COPY SP copy_instruction
9569                    
9570    </p>
9571    <p>/ EDIT SP edit_instruction
9572                    
9573    </p>
9574    <p>/ FORMAT SP format_instruction
9575                    
9576    </p>
9577  <p>/ RESET  <p>/ RESET
9578                                    
9579  </p>  </p>
# Line 7290  Command Syntax</h3> Line 9589  Command Syntax</h3>
9589  <p>CHANNEL  <p>CHANNEL
9590                                    
9591  </p>  </p>
9592    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9593                    
9594    </p>
9595    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9596                    
9597    </p>
9598    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9599                    
9600    </p>
9601    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9602                    
9603    </p>
9604    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9605                    
9606    </p>
9607    <p>/ DB_INSTRUMENTS SP db_path SP filename
9608                    
9609    </p>
9610    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9611                    
9612    </p>
9613  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
9614                                    
9615  </p>  </p>
# Line 7347  Command Syntax</h3> Line 9667  Command Syntax</h3>
9667  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9668                                    
9669  </p>  </p>
9670    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9671                    
9672    </p>
9673    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9674                    
9675    </p>
9676    <p>/ DB_INSTRUMENT_COUNT
9677                    
9678    </p>
9679    <p>/ DB_INSTRUMENT_INFO
9680                    
9681    </p>
9682    <p>/ DB_INSTRUMENTS_JOB_INFO
9683                    
9684    </p>
9685  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9686                                    
9687  </p>  </p>
9688    <p>/ TOTAL_STREAM_COUNT
9689                    
9690    </p>
9691  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9692                                    
9693  </p>  </p>
# Line 7407  Command Syntax</h3> Line 9745  Command Syntax</h3>
9745  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9746                                    
9747  </p>  </p>
9748    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9749                    
9750    </p>
9751    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9752                    
9753    </p>
9754    <p>/ DB_INSTRUMENT_COUNT
9755                    
9756    </p>
9757    <p>/ DB_INSTRUMENT_INFO
9758                    
9759    </p>
9760    <p>/ DB_INSTRUMENTS_JOB_INFO
9761                    
9762    </p>
9763  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9764                                    
9765  </p>  </p>
9766    <p>/ TOTAL_STREAM_COUNT
9767                    
9768    </p>
9769  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9770                                    
9771  </p>  </p>
# Line 7458  Command Syntax</h3> Line 9814  Command Syntax</h3>
9814  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9815                                    
9816  </p>  </p>
9817    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9818                    
9819    </p>
9820    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9821                    
9822    </p>
9823    <p>/ DB_INSTRUMENT SP db_path
9824                    
9825    </p>
9826  </blockquote><p>  </blockquote><p>
9827    
9828  </p>  </p>
# Line 7536  Command Syntax</h3> Line 9901  Command Syntax</h3>
9901  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
9902                                    
9903  </p>  </p>
9904    <p>/ TOTAL_STREAM_COUNT
9905                    
9906    </p>
9907  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9908                                    
9909  </p>  </p>
# Line 7563  Command Syntax</h3> Line 9931  Command Syntax</h3>
9931  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9932                                    
9933  </p>  </p>
9934    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9935                    
9936    </p>
9937    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9938                    
9939    </p>
9940    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9941                    
9942    </p>
9943    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9944                    
9945    </p>
9946    <p>/ DB_INSTRUMENTS SP db_path
9947                    
9948    </p>
9949    <p>/ DB_INSTRUMENT SP INFO SP db_path
9950                    
9951    </p>
9952    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9953                    
9954    </p>
9955  <p>/ VOLUME  <p>/ VOLUME
9956                                    
9957  </p>  </p>
9958    <p>/ FILE SP INSTRUMENTS SP filename
9959                    
9960    </p>
9961    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
9962                    
9963    </p>
9964  </blockquote><p>  </blockquote><p>
9965    
9966  </p>  </p>
# Line 7581  Command Syntax</h3> Line 9976  Command Syntax</h3>
9976  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9977                                    
9978  </p>  </p>
9979    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9980                    
9981    </p>
9982  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9983                                    
9984  </p>  </p>
# Line 7602  Command Syntax</h3> Line 10000  Command Syntax</h3>
10000  <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
10001                                    
10002  </p>  </p>
10003    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10004                    
10005    </p>
10006    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10007                    
10008    </p>
10009    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10010                    
10011    </p>
10012    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10013                    
10014    </p>
10015  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10016                                    
10017  </p>  </p>
# Line 7656  Command Syntax</h3> Line 10066  Command Syntax</h3>
10066  </blockquote><p>  </blockquote><p>
10067    
10068  </p>  </p>
10069    <p>find_instruction =
10070            </p>
10071    <blockquote class="text">
10072    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10073                    
10074    </p>
10075    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10076                    
10077    </p>
10078    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10079                    
10080    </p>
10081    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10082                    
10083    </p>
10084    </blockquote><p>
10085    
10086    </p>
10087    <p>move_instruction =
10088            </p>
10089    <blockquote class="text">
10090    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10091                    
10092    </p>
10093    <p>/ DB_INSTRUMENT SP db_path SP db_path
10094                    
10095    </p>
10096    </blockquote><p>
10097    
10098    </p>
10099    <p>copy_instruction =
10100            </p>
10101    <blockquote class="text">
10102    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10103                    
10104    </p>
10105    <p>/ DB_INSTRUMENT SP db_path SP db_path
10106                    
10107    </p>
10108    </blockquote><p>
10109    
10110    </p>
10111  <p>destroy_instruction =  <p>destroy_instruction =
10112          </p>          </p>
10113  <blockquote class="text">  <blockquote class="text">
# Line 7731  Command Syntax</h3> Line 10183  Command Syntax</h3>
10183  </blockquote><p>  </blockquote><p>
10184    
10185  </p>  </p>
10186    <p>edit_instruction =
10187            </p>
10188    <blockquote class="text">
10189    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10190                    
10191    </p>
10192    </blockquote><p>
10193    
10194    </p>
10195    <p>format_instruction =
10196            </p>
10197    <blockquote class="text">
10198    <p>INSTRUMENTS_DB
10199                    
10200    </p>
10201    </blockquote><p>
10202    
10203    </p>
10204  <p>modal_arg =  <p>modal_arg =
10205          </p>          </p>
10206  <blockquote class="text">  <blockquote class="text">
# Line 7800  Command Syntax</h3> Line 10270  Command Syntax</h3>
10270  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
10271                                    
10272  </p>  </p>
10273    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10274                    
10275    </p>
10276    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10277                    
10278    </p>
10279    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10280                    
10281    </p>
10282    <p>/ DB_INSTRUMENTS SP db_path
10283                    
10284    </p>
10285    <p>/ FILE SP INSTRUMENTS SP filename
10286                    
10287    </p>
10288  </blockquote><p>  </blockquote><p>
10289    
10290  </p>  </p>
# Line 7983  Command Syntax</h3> Line 10468  Command Syntax</h3>
10468  <p>filename =  <p>filename =
10469          </p>          </p>
10470  <blockquote class="text">  <blockquote class="text">
10471  <p>stringval  <p>path
10472                    
10473    </p>
10474    </blockquote><p>
10475    
10476    </p>
10477    <p>db_path =
10478            </p>
10479    <blockquote class="text">
10480    <p>path
10481                                    
10482  </p>  </p>
10483  </blockquote><p>  </blockquote><p>
# Line 7992  Command Syntax</h3> Line 10486  Command Syntax</h3>
10486  <p>map_name =  <p>map_name =
10487          </p>          </p>
10488  <blockquote class="text">  <blockquote class="text">
10489  <p>stringval  <p>stringval_escaped
10490                                    
10491  </p>  </p>
10492  </blockquote><p>  </blockquote><p>
# Line 8001  Command Syntax</h3> Line 10495  Command Syntax</h3>
10495  <p>entry_name =  <p>entry_name =
10496          </p>          </p>
10497  <blockquote class="text">  <blockquote class="text">
10498  <p>stringval  <p>stringval_escaped
10499                                    
10500  </p>  </p>
10501  </blockquote><p>  </blockquote><p>
# Line 8010  Command Syntax</h3> Line 10504  Command Syntax</h3>
10504  <p>fx_send_name =  <p>fx_send_name =
10505          </p>          </p>
10506  <blockquote class="text">  <blockquote class="text">
10507  <p>stringval  <p>stringval_escaped
10508                                    
10509  </p>  </p>
10510  </blockquote><p>  </blockquote><p>
# Line 8046  Command Syntax</h3> Line 10540  Command Syntax</h3>
10540  </blockquote><p>  </blockquote><p>
10541    
10542  </p>  </p>
10543    <p>query_val_list =
10544            </p>
10545    <blockquote class="text">
10546    <p>string '=' query_val
10547                    
10548    </p>
10549    <p>/ query_val_list SP string '=' query_val
10550                    
10551    </p>
10552    </blockquote><p>
10553    
10554    </p>
10555    <p>query_val =
10556            </p>
10557    <blockquote class="text">
10558    <p>text_escaped
10559                    
10560    </p>
10561    <p>/ stringval_escaped
10562                    
10563    </p>
10564    </blockquote><p>
10565    
10566    </p>
10567    <p>scan_mode =
10568            </p>
10569    <blockquote class="text">
10570    <p>RECURSIVE
10571                    
10572    </p>
10573    <p>/ NON_RECURSIVE
10574                    
10575    </p>
10576    <p>/ FLAT
10577                    
10578    </p>
10579    </blockquote><p>
10580    
10581    </p>
10582    <a name="character_set"></a><br /><hr />
10583    <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>
10584    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10585    Character Set and Escape Sequences</h3>
10586    
10587    <p>Older versions of this protocol up to and including v1.1 only
10588                    supported the standard ASCII character set (ASCII code 0 - 127)
10589                    <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
10590                    however support the Extended ASCII character set (ASCII code
10591                    0 - 255). The same group of younger protocols also support
10592                    escape sequences, but only for certain, explicitly declared
10593                    parts of the protocol. The supported escape sequences are
10594                    defined as follows:
10595    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10596    <col align="left"><col align="left">
10597    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10598    <tr>
10599    <td align="left">\n</td>
10600    <td align="left">new line</td>
10601    </tr>
10602    <tr>
10603    <td align="left">\r</td>
10604    <td align="left">carriage return</td>
10605    </tr>
10606    <tr>
10607    <td align="left">\f</td>
10608    <td align="left">form feed</td>
10609    </tr>
10610    <tr>
10611    <td align="left">\t</td>
10612    <td align="left">horizontal tab</td>
10613    </tr>
10614    <tr>
10615    <td align="left">\v</td>
10616    <td align="left">vertical tab</td>
10617    </tr>
10618    <tr>
10619    <td align="left">\'</td>
10620    <td align="left">apostrophe</td>
10621    </tr>
10622    <tr>
10623    <td align="left">\"</td>
10624    <td align="left">quotation mark</td>
10625    </tr>
10626    <tr>
10627    <td align="left">\\</td>
10628    <td align="left">backslash</td>
10629    </tr>
10630    <tr>
10631    <td align="left">\OOO</td>
10632    <td align="left">three digit octal ASCII code of the character</td>
10633    </tr>
10634    <tr>
10635    <td align="left">\xHH</td>
10636    <td align="left">two digit hex ASCII code of the character</td>
10637    </tr>
10638    </table>
10639    
10640    <p>Notice: due to the transition of certain parts of the
10641                    protocol which now support escape sequences, a slight backward
10642                    incompatibility to protocols version v1.1 and younger has been
10643                    introduced. The only difference is that in parts of the protocol
10644                    where escape characters are now supported, a backslash characters
10645                    MUST be escaped as well (that is as double backslash), whereas
10646                    in the old versions a single backslash was sufficient.
10647    </p>
10648    <p>The following LSCP commands support escape sequences as part
10649                    of their filename / path based arguments and / or may contain
10650                    a filename / path with escape sequences in their response:
10651                    </p>
10652    <blockquote class="text">
10653    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10654    </p>
10655    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10656    </p>
10657    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10658    </p>
10659    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10660    </p>
10661    <p><a class='info' href='#ADD DB_INSTRUMENT_DIRECTORY'>"ADD DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Creating a new instrument directory</span><span>)</span></a>
10662    </p>
10663    <p><a class='info' href='#ADD DB_INSTRUMENTS'>"ADD DB_INSTRUMENTS"<span> (</span><span class='info'>Adding instruments to the instruments database</span><span>)</span></a>
10664    </p>
10665    <p><a class='info' href='#REMOVE DB_INSTRUMENT_DIRECTORY'>"REMOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Deleting an instrument directory</span><span>)</span></a>
10666    </p>
10667    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10668    </p>
10669    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORIES'>"GET DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Getting amount of instrument directories</span><span>)</span></a>
10670    </p>
10671    <p><a class='info' href='#LIST DB_INSTRUMENT_DIRECTORIES'>"LIST DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Listing all directories in specific directory</span><span>)</span></a>
10672    </p>
10673    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10674    </p>
10675    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10676    </p>
10677    <p><a class='info' href='#LIST DB_INSTRUMENTS'>"LIST DB_INSTRUMENTS"<span> (</span><span class='info'>Listing all instruments in specific directory</span><span>)</span></a>
10678    </p>
10679    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10680    </p>
10681    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10682    </p>
10683    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10684    </p>
10685    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10686    </p>
10687    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10688    </p>
10689    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10690    </p>
10691    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10692    </p>
10693    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10694    </p>
10695    <p><a class='info' href='#MOVE DB_INSTRUMENT_DIRECTORY'>"MOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Moving an instrument directory</span><span>)</span></a>
10696    </p>
10697    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10698    </p>
10699    <p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a>
10700    </p>
10701    <p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a>
10702    </p>
10703    <p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a>
10704    </p>
10705    <p><a class='info' href='#GET FILE INSTRUMENT INFO'>"GET FILE INSTRUMENT INFO"<span> (</span><span class='info'>Retrieving informations about one instrument in a file</span><span>)</span></a>
10706    </p>
10707    </blockquote><p>
10708                    Note that the forward slash character ('/') has a special meaning in
10709                    filename / path based arguments: it acts as separator of the nodes in
10710                    the path, thus if a directory- or filename includes a forward slash
10711                    (not intended as path node separator), you MUST escape that slash
10712                    either with the respective hex escape sequence ("\x2f") or with the
10713                    respective octal escape sequence ("\057").
10714                    
10715    </p>
10716    <p>
10717                    Note for Windows: file path arguments in LSCP are expected
10718                    to use forward slashes as directory node separator similar
10719                    to Unix based operating systems. In contrast to Unix however
10720                    a Windows typical drive character is expected to be
10721                    prefixed to the path. That is an original Windows file path
10722                    like "D:\Sounds\My.gig" would become in LSCP:
10723                    "D:/Sounds/My.gig".
10724                    
10725    </p>
10726    <p>
10727                    The following LSCP commands even support escape sequences as
10728                    part of at least one of their text-based arguments (i.e. entity name,
10729                    description) and / or may contain escape sequences in at least one of
10730                    their text-based fields in their response:
10731                    </p>
10732    <blockquote class="text">
10733    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10734    </p>
10735    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
10736    </p>
10737    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10738    </p>
10739    <p><a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
10740    </p>
10741    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
10742    </p>
10743    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
10744    </p>
10745    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10746    </p>
10747    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
10748    </p>
10749    <p><a class='info' href='#ADD MIDI_INSTRUMENT_MAP'>"ADD MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Create a new MIDI instrument map</span><span>)</span></a>
10750    </p>
10751    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10752    </p>
10753    <p><a class='info' href='#SET MIDI_INSTRUMENT_MAP NAME'>"SET MIDI_INSTRUMENT_MAP NAME"<span> (</span><span class='info'>Renaming a MIDI instrument map</span><span>)</span></a>
10754    </p>
10755    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10756    </p>
10757    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10758    </p>
10759    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10760    </p>
10761    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10762    </p>
10763    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10764    </p>
10765    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10766    </p>
10767    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10768    </p>
10769    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10770    </p>
10771    </blockquote><p>
10772                    Please note that these lists are manually maintained. If you
10773                    find a command that also supports escape sequences we forgot to
10774                    mention here, please report it!
10775                    
10776    </p>
10777  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10778  <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>
10779  <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 11063  Channel information changed</h3>
11063  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11064  Number of effect sends changed</h3>  Number of effect sends changed</h3>
11065    
11066  <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
11067                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
11068  </p>  </p>
11069  <p>  <p>
# Line 8419  Total number of active voices changed</h Line 11147  Total number of active voices changed</h
11147  <p>where &lt;voices&gt; will be replaced by the new number of  <p>where &lt;voices&gt; will be replaced by the new number of
11148                  all currently active voices.                  all currently active voices.
11149  </p>  </p>
11150  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11151  <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>
11152  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11153    Total number of active disk streams changed</h3>
11154    
11155    <p>Client may want to be notified when the total number of disk streams on the
11156                    back-end changes by issuing the following command:
11157    </p>
11158    <p>
11159                        </p>
11160    <blockquote class="text">
11161    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11162    </p>
11163    </blockquote><p>
11164                    
11165    </p>
11166    <p>Server will start sending the following notification messages:
11167    </p>
11168    <p>
11169                        </p>
11170    <blockquote class="text">
11171    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11172    </p>
11173    </blockquote><p>
11174                    
11175    </p>
11176    <p>where &lt;streams&gt; will be replaced by the new number of
11177                    all currently active disk streams.
11178    </p>
11179    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11180    <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>
11181    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11182  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
11183    
11184  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 8450  Number of MIDI instrument maps changed</ Line 11207  Number of MIDI instrument maps changed</
11207  </p>  </p>
11208  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11209  <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>
11210  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11211  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
11212    
11213  <p>Client may want to be notified when changes were made to MIDI instrument maps on the  <p>Client may want to be notified when changes were made to MIDI instrument maps on the
# Line 8483  MIDI instrument map information changed< Line 11240  MIDI instrument map information changed<
11240  </p>  </p>
11241  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11242  <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>
11243  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11244  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
11245    
11246  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 8513  Number of MIDI instruments changed</h3> Line 11270  Number of MIDI instruments changed</h3>
11270  </p>  </p>
11271  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11272  <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>
11273  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11274  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
11275    
11276  <p>Client may want to be notified when changes were made to MIDI instruments on the  <p>Client may want to be notified when changes were made to MIDI instruments on the
# Line 8547  MIDI instrument information changed</h3> Line 11304  MIDI instrument information changed</h3>
11304  </p>  </p>
11305  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11306  <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>
11307  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11308  Global settings changed</h3>  Global settings changed</h3>
11309    
11310  <p>Client may want to be notified when changes to the global settings  <p>Client may want to be notified when changes to the global settings
# Line 8574  Global settings changed</h3> Line 11331  Global settings changed</h3>
11331  </blockquote><p>  </blockquote><p>
11332                                    
11333  </p>  </p>
11334    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11335    <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>
11336    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11337    Number of database instrument directories changed</h3>
11338    
11339    <p>Client may want to be notified when the number of instrument
11340                    directories in a particular directory in the instruments database
11341                    is changed by issuing the following command:
11342    </p>
11343    <p>
11344                        </p>
11345    <blockquote class="text">
11346    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11347    </p>
11348    </blockquote><p>
11349                    
11350    </p>
11351    <p>Server will start sending the following notification messages:
11352    </p>
11353    <p>
11354                        </p>
11355    <blockquote class="text">
11356    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11357    </p>
11358    </blockquote><p>
11359                    
11360    </p>
11361    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11362                    name of the directory in the instruments database,
11363                    in which the number of directories is changed.
11364    </p>
11365    <p>Note that when a non-empty directory is removed, this event
11366                    is not sent for the subdirectories in that directory.
11367    </p>
11368    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11369    <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>
11370    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11371    Database instrument directory information changed</h3>
11372    
11373    <p>Client may want to be notified when changes were made to directories
11374                    in the instruments database by issuing the following command:
11375    </p>
11376    <p>
11377                        </p>
11378    <blockquote class="text">
11379    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11380    </p>
11381    </blockquote><p>
11382                    
11383    </p>
11384    <p>Server will start sending the following notification messages:
11385    </p>
11386    <p>
11387                        </p>
11388    <blockquote class="text">
11389    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11390    </p>
11391    </blockquote><p>
11392                    
11393    </p>
11394    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11395                    of the directory, for which information changes occurred. The front-end will have to send
11396                    the respective command to actually get the updated directory info. Because these messages
11397                    will be triggered by LSCP commands issued by other clients rather than real
11398                    time events happening on the server, it is believed that an empty notification
11399                    message is sufficient here.
11400    </p>
11401    <p>
11402                        </p>
11403    <blockquote class="text">
11404    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11405    </p>
11406    </blockquote><p>
11407                    
11408    </p>
11409    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11410                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11411                    the new name of the directory, encapsulated into apostrophes.
11412    </p>
11413    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11414    <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>
11415    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11416    Number of database instruments changed</h3>
11417    
11418    <p>Client may want to be notified when the number of instruments
11419                    in a particular directory in the instruments database
11420                    is changed by issuing the following command:
11421    </p>
11422    <p>
11423                        </p>
11424    <blockquote class="text">
11425    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11426    </p>
11427    </blockquote><p>
11428                    
11429    </p>
11430    <p>Server will start sending the following notification messages:
11431    </p>
11432    <p>
11433                        </p>
11434    <blockquote class="text">
11435    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11436    </p>
11437    </blockquote><p>
11438                    
11439    </p>
11440    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11441                    name of the directory in the instruments database,
11442                    in which the number of instruments is changed.
11443    </p>
11444    <p>Note that when a non-empty directory is removed, this event
11445                    is not sent for the instruments in that directory.
11446    </p>
11447    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11448    <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>
11449    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11450    Database instrument information changed</h3>
11451    
11452    <p>Client may want to be notified when changes were made to instruments
11453                    in the instruments database by issuing the following command:
11454    </p>
11455    <p>
11456                        </p>
11457    <blockquote class="text">
11458    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11459    </p>
11460    </blockquote><p>
11461                    
11462    </p>
11463    <p>Server will start sending the following notification messages:
11464    </p>
11465    <p>
11466                        </p>
11467    <blockquote class="text">
11468    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11469    </p>
11470    </blockquote><p>
11471                    
11472    </p>
11473    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11474                    of the instrument, which settings are changed. The front-end will have to send
11475                    the respective command to actually get the updated directory info. Because these messages
11476                    will be triggered by LSCP commands issued by other clients rather than real
11477                    time events happening on the server, it is believed that an empty notification
11478                    message is sufficient here.
11479    </p>
11480    <p>
11481                        </p>
11482    <blockquote class="text">
11483    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11484    </p>
11485    </blockquote><p>
11486                    
11487    </p>
11488    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11489                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11490                    the new name of the instrument, encapsulated into apostrophes.
11491    </p>
11492    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11493    <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>
11494    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11495    Database job status information changed</h3>
11496    
11497    <p>Client may want to be notified when the status of particular database
11498                    instruments job is changed by issuing the following command:
11499    </p>
11500    <p>
11501                        </p>
11502    <blockquote class="text">
11503    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11504    </p>
11505    </blockquote><p>
11506                    
11507    </p>
11508    <p>Server will start sending the following notification messages:
11509    </p>
11510    <p>
11511                        </p>
11512    <blockquote class="text">
11513    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11514    </p>
11515    </blockquote><p>
11516                    
11517    </p>
11518    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11519                    which status is changed. The front-end will have to send the respective
11520                    command to actually get the status info. Because these messages
11521                    will be triggered by LSCP commands issued by other clients rather than real
11522                    time events happening on the server, it is believed that an empty notification
11523                    message is sufficient here.
11524    </p>
11525  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11526  <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>
11527  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11528  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11529    
11530  <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 11589  Acknowledgments</h3>
11589  <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>
11590  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11591  <table width="99%" border="0">  <table width="99%" border="0">
11592    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11593    <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>
11594  <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>
11595  <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>
11596  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
# Line 8718  Please address the information to the IE Line 11668  Please address the information to the IE
11668  Funding for the RFC Editor function is provided by  Funding for the RFC Editor function is provided by
11669  the IETF Administrative Support Activity (IASA).</p>  the IETF Administrative Support Activity (IASA).</p>
11670  </body></html>  </body></html>
11671    

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

  ViewVC Help
Powered by ViewVC