/[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 1110 by iliev, Thu Mar 22 21:12:10 2007 UTC revision 1773 by iliev, Wed Sep 10 15:14:31 2008 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 23, 2007</td><td class="header">March 22, 2007</td></tr>  <tr><td class="header">Expires: March 14, 2009</td><td class="header">September 10, 2008</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.4</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 23, 2007.</p>  This Internet-Draft will expire on March 14, 2009.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright &copy; The IETF Trust (2007).</p>  Copyright &copy; The IETF Trust (2008).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 328  Getting amount of effect sends on a samp Line 328  Getting amount of effect sends on a samp
328  Listing all effect sends on a sampler channel<br />  Listing all effect sends on a sampler channel<br />
329  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330  Getting effect send information<br />  Getting effect send information<br />
331  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334  Altering effect send's audio routing<br />  Altering effect send's audio routing<br />
335  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.31.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336  Altering effect send's MIDI controller<br />  Altering effect send's MIDI controller<br />
337  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.32.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338  Altering effect send's send level<br />  Altering effect send's send level<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.33.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SEND CHANNEL MIDI_DATA">6.4.34.</a>&nbsp;
340    Sending MIDI messages to sampler channel<br />
341    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.35.</a>&nbsp;
342  Resetting a sampler channel<br />  Resetting a sampler channel<br />
343  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
344  Controlling connection<br />  Controlling connection<br />
# Line 352  Global commands<br /> Line 356  Global commands<br />
356  Current number of active voices<br />  Current number of active voices<br />
357  &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;
358  Maximum amount of active voices<br />  Maximum amount of active voices<br />
359  &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;
360    Current number of active disk streams<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
362  Reset sampler<br />  Reset sampler<br />
363  &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;
364  General sampler informations<br />  General sampler informations<br />
365  &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;
366  Getting global volume attenuation<br />  Getting global volume attenuation<br />
367  &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;
368  Setting global volume attenuation<br />  Setting global volume attenuation<br />
369  &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;
370  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
371  &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;
372  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
373  &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;
374  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 386  Remove an entry from the MIDI instrument Line 392  Remove an entry from the MIDI instrument
392  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
393  &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;
394  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
396    Managing Instruments Database<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
398    Creating a new instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
400    Deleting an instrument directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
402    Getting amount of instrument directories<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
404    Listing all directories in specific directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
406    Getting instrument directory information<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
408    Renaming an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
410    Moving an instrument directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
412    Copying instrument directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
414    Changing the description of directory<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
416    Finding directories<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
418    Adding instruments to the instruments database<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
420    Removing an instrument<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
422    Getting amount of instruments<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
424    Listing all instruments in specific directory<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
426    Getting instrument information<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
428    Renaming an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
430    Moving an instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
432    Copying instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
434    Changing the description of instrument<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
436    Finding instruments<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
438    Getting job status information<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
440    Formatting the instruments database<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
442    Checking for lost instrument files<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
444    Replacing an instrument file<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
446    Editing Instruments<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
448    Opening an appropriate instrument editor application<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
450    Managing Files<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
452    Retrieving amount of instruments of a file<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
454    Retrieving all instruments of a file<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
456    Retrieving informations about one instrument in a file<br />
457  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
458  Command Syntax<br />  Command Syntax<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
460    Character Set and Escape Sequences<br />
461  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
462  Events<br />  Events<br />
463  &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 400  Number of MIDI input devices changed<br Line 470  Number of MIDI input devices changed<br
470  MIDI input device's settings changed<br />  MIDI input device's settings changed<br />
471  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
472  Number of sampler channels changed<br />  Number of sampler channels changed<br />
473  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
474    MIDI data on a sampler channel arrived<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
476    MIDI data on a MIDI input device arrived<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
478  Number of active voices changed<br />  Number of active voices changed<br />
479  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.9.</a>&nbsp;
480  Number of active disk streams changed<br />  Number of active disk streams changed<br />
481  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.10.</a>&nbsp;
482  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
483  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.11.</a>&nbsp;
484  Channel information changed<br />  Channel information changed<br />
485  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.12.</a>&nbsp;
486  Number of effect sends changed<br />  Number of effect sends changed<br />
487  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
488  Effect send information changed<br />  Effect send information changed<br />
489  &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.14.</a>&nbsp;
490  Total number of active voices changed<br />  Total number of active voices changed<br />
491  &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.15.</a>&nbsp;
492    Total number of active disk streams changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
494  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
495  &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.17.</a>&nbsp;
496  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
497  &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.18.</a>&nbsp;
498  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
499  &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.19.</a>&nbsp;
500  MIDI instrument information changed<br />  MIDI instrument information changed<br />
501  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
502  Global settings changed<br />  Global settings changed<br />
503  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.18.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
504    Number of database instrument directories changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
506    Database instrument directory information changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
508    Number of database instruments changed<br />
509    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
510    Database instrument information changed<br />
511    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
512    Database job status information changed<br />
513    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
514  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
515  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
516  Security Considerations<br />  Security Considerations<br />
# Line 456  Requirements notation</h3> Line 542  Requirements notation</h3>
542              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
543              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
544              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
545              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>),
546              example:              thus the following example:
547  </p>  </p>
548  <p>  <p>
549                  </p>                  </p>
# Line 3243  Changing settings of MIDI input ports</h Line 3329  Changing settings of MIDI input ports</h
3329                      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>
3330                      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
3331                      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
3332                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3333                        for specifying no value for parameters allowing a list of values.
3334  </p>  </p>
3335  <p>Possible Answers:  <p>Possible Answers:
3336  </p>  </p>
# Line 3284  Changing settings of MIDI input ports</h Line 3371  Changing settings of MIDI input ports</h
3371  <p>  <p>
3372                          </p>                          </p>
3373  <blockquote class="text">  <blockquote class="text">
3374    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3375    </p>
3376    <p>S: "OK"
3377    </p>
3378    </blockquote><p>
3379                        
3380    </p>
3381  <p>  <p>
3382                            </p>
3383    <blockquote class="text">
3384    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3385    </p>
3386    <p>S: "OK"
3387  </p>  </p>
3388  </blockquote><p>  </blockquote><p>
3389                                            
# Line 3319  Loading an instrument</h3> Line 3418  Loading an instrument</h3>
3418                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3419                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3420  </p>  </p>
3421    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3422                        escape characters for special characters (see chapter
3423                        "<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>"
3424                        for details) and accordingly backslash characters in the filename
3425                        MUST now be escaped as well!
3426    </p>
3427  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3428                      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
3429                      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 3366  Loading an instrument</h3> Line 3471  Loading an instrument</h3>
3471  </blockquote><p>  </blockquote><p>
3472                                            
3473  </p>  </p>
3474  <p>Example:  <p>Example (Unix):
3475  </p>  </p>
3476  <p>  <p>
3477                          </p>                          </p>
3478  <blockquote class="text">  <blockquote class="text">
3479    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3480    </p>
3481    <p>S: OK
3482    </p>
3483    </blockquote><p>
3484                        
3485    </p>
3486    <p>Example (Windows):
3487    </p>
3488  <p>  <p>
3489                            </p>
3490    <blockquote class="text">
3491    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3492    </p>
3493    <p>S: OK
3494  </p>  </p>
3495  </blockquote><p>  </blockquote><p>
3496                                            
# Line 3786  Getting information about an engine</h3> Line 3905  Getting information about an engine</h3>
3905                                          </p>                                          </p>
3906  <blockquote class="text">  <blockquote class="text">
3907  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3908                                                (note that the character string may contain
3909                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3910  </p>  </p>
3911  </blockquote>  </blockquote>
3912                                                                            
# Line 3905  Getting sampler channel information</h3> Line 4026  Getting sampler channel information</h3>
4026  <blockquote class="text">  <blockquote class="text">
4027  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4028                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4029                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4030                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4031  </p>  </p>
4032  </blockquote>  </blockquote>
4033                                                                            
# Line 3922  Getting sampler channel information</h3> Line 4044  Getting sampler channel information</h3>
4044                                          </p>                                          </p>
4045  <blockquote class="text">  <blockquote class="text">
4046  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4047                                                (note: since LSCP 1.2 this character string may contain
4048                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4049  </p>  </p>
4050  </blockquote>  </blockquote>
4051                                                                            
# Line 4997  Adding an effect send to a sampler chann Line 5121  Adding an effect send to a sampler chann
5121                      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;
5122                      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
5123                      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
5124                      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
5125                        encapsulated into apostrophes and supports escape sequences as described in chapter
5126                        "<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>".
5127  </p>  </p>
5128  <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
5129                      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 5266  Getting effect send information</h3> Line 5392  Getting effect send information</h3>
5392                                          </p>                                          </p>
5393  <blockquote class="text">  <blockquote class="text">
5394  <p>name of the effect send entity  <p>name of the effect send entity
5395                                                (note that this character string may contain
5396                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5397  </p>  </p>
5398  </blockquote>  </blockquote>
5399                                                                            
# Line 5333  Getting effect send information</h3> Line 5461  Getting effect send information</h3>
5461  </blockquote><p>  </blockquote><p>
5462                                            
5463  </p>  </p>
5464  <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET FX_SEND NAME"></a><br /><hr />
5465  <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>
5466  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5467    Changing effect send's name</h3>
5468    
5469    <p>The front-end can alter the current name of an effect
5470                        send entity by sending the following command:
5471    </p>
5472    <p>
5473                            </p>
5474    <blockquote class="text">
5475    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5476    </p>
5477    </blockquote><p>
5478                        
5479    </p>
5480    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5481                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5482                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5483                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5484                        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>
5485                        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
5486                        &lt;name&gt; is the new name of the effect send entity, which
5487                        does not have to be unique (name MUST be encapsulated into apostrophes
5488                        and supports escape sequences as described in chapter
5489                        "<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>").
5490                        
5491    </p>
5492    <p>Possible Answers:
5493    </p>
5494    <p>
5495                            </p>
5496    <blockquote class="text">
5497    <p>"OK" -
5498                                    </p>
5499    <blockquote class="text">
5500    <p>on success
5501    </p>
5502    </blockquote>
5503                                
5504    
5505    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5506                                    </p>
5507    <blockquote class="text">
5508    <p>in case it failed, providing an appropriate error code and error message
5509    </p>
5510    </blockquote>
5511                                
5512    
5513    </blockquote><p>
5514                        
5515    </p>
5516    <p>Example:
5517    </p>
5518    <p>
5519                            </p>
5520    <blockquote class="text">
5521    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5522    </p>
5523    <p>S: "OK"
5524    </p>
5525    </blockquote><p>
5526                        
5527    </p>
5528    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5529    <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>
5530    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5531  Altering effect send's audio routing</h3>  Altering effect send's audio routing</h3>
5532    
5533  <p>The front-end can alter the destination of an effect send's audio channel on a specific  <p>The front-end can alter the destination of an effect send's audio channel on a specific
# Line 5418  Altering effect send's audio routing</h3 Line 5610  Altering effect send's audio routing</h3
5610  </p>  </p>
5611  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5612  <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>
5613  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;  <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5614  Altering effect send's MIDI controller</h3>  Altering effect send's MIDI controller</h3>
5615    
5616  <p>The front-end can alter the MIDI controller of an effect  <p>The front-end can alter the MIDI controller of an effect
# Line 5489  Altering effect send's MIDI controller</ Line 5681  Altering effect send's MIDI controller</
5681  </p>  </p>
5682  <a name="SET FX_SEND LEVEL"></a><br /><hr />  <a name="SET FX_SEND LEVEL"></a><br /><hr />
5683  <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>
5684  <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;  <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5685  Altering effect send's send level</h3>  Altering effect send's send level</h3>
5686    
5687  <p>The front-end can alter the current send level of an effect  <p>The front-end can alter the current send level of an effect
# Line 5559  Altering effect send's send level</h3> Line 5751  Altering effect send's send level</h3>
5751  </blockquote><p>  </blockquote><p>
5752                                            
5753  </p>  </p>
5754    <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5755    <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>
5756    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5757    Sending MIDI messages to sampler channel</h3>
5758    
5759    <p>The front-end can send MIDI events to specific sampler channel
5760                        by sending the following command:
5761    </p>
5762    <p>
5763                            </p>
5764    <blockquote class="text">
5765    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5766    </p>
5767    </blockquote><p>
5768                        
5769    </p>
5770    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5771                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5772                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5773                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5774                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5775    </p>
5776    <p>
5777                            </p>
5778    <blockquote class="text">
5779    <p>"NOTE_ON" -
5780                                    </p>
5781    <blockquote class="text">
5782    <p>For turning on MIDI notes, where &lt;arg1&gt;
5783                                        specifies the key number and &lt;arg2&gt; the velocity
5784                                        as described in the MIDI specification.
5785    </p>
5786    </blockquote>
5787                                
5788    
5789    <p>"NOTE_OFF" -
5790                                    </p>
5791    <blockquote class="text">
5792    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
5793                                        specifies the key number and &lt;arg2&gt; the velocity
5794                                        as described in the MIDI specification.
5795    </p>
5796    </blockquote>
5797                                
5798    
5799    </blockquote><p>
5800                        
5801    </p>
5802    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
5803                        and no realtime guarantee whatsoever will be made!
5804    </p>
5805    <p>Possible Answers:
5806    </p>
5807    <p>
5808                            </p>
5809    <blockquote class="text">
5810    <p>"OK" -
5811                                    </p>
5812    <blockquote class="text">
5813    <p>on success
5814    </p>
5815    </blockquote>
5816                                
5817    
5818    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5819                                    </p>
5820    <blockquote class="text">
5821    <p>in case it failed, providing an appropriate error code and error message
5822    </p>
5823    </blockquote>
5824                                
5825    
5826    </blockquote><p>
5827                        
5828    </p>
5829    <p>Example:
5830    </p>
5831    <p>
5832                            </p>
5833    <blockquote class="text">
5834    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
5835    </p>
5836    <p>S: "OK"
5837    </p>
5838    </blockquote><p>
5839                        
5840    </p>
5841  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5842  <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>
5843  <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;  <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5844  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5845    
5846  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>The front-end can reset a particular sampler channel by sending the following command:
# Line 5896  Maximum amount of active voices</h3> Line 6175  Maximum amount of active voices</h3>
6175  </blockquote><p>  </blockquote><p>
6176                                            
6177  </p>  </p>
6178  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6179  <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>
6180  <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;
6181    Current number of active disk streams</h3>
6182    
6183    <p>The front-end can ask for the current number of active disk streams on
6184                        the sampler by sending the following command:
6185    </p>
6186    <p>
6187                            </p>
6188    <blockquote class="text">
6189    <p>GET TOTAL_STREAM_COUNT
6190    </p>
6191    </blockquote><p>
6192                        
6193    </p>
6194    <p>Possible Answers:
6195    </p>
6196    <p>
6197                            </p>
6198    <blockquote class="text">
6199    <p>LinuxSampler will answer by returning the number of all active
6200                                disk streams on the sampler.
6201    </p>
6202    </blockquote><p>
6203                        
6204    </p>
6205    <a name="RESET"></a><br /><hr />
6206    <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>
6207    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6208  Reset sampler</h3>  Reset sampler</h3>
6209    
6210  <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 5939  Reset sampler</h3> Line 6245  Reset sampler</h3>
6245  </p>  </p>
6246  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6247  <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>
6248  <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;
6249  General sampler informations</h3>  General sampler informations</h3>
6250    
6251  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
# Line 5972  General sampler informations</h3> Line 6278  General sampler informations</h3>
6278                                          </p>                                          </p>
6279  <blockquote class="text">  <blockquote class="text">
6280  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6281                                                (note that the character string may contain
6282                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6283  </p>  </p>
6284  </blockquote>  </blockquote>
6285                                                                            
# Line 5993  General sampler informations</h3> Line 6301  General sampler informations</h3>
6301  </blockquote>  </blockquote>
6302                                                                            
6303    
6304    <p>INSTRUMENTS_DB_SUPPORT -
6305                                            </p>
6306    <blockquote class="text">
6307    <p>either yes or no, specifies whether the
6308                                                sampler is build with instruments database support.
6309    </p>
6310    </blockquote>
6311                                        
6312    
6313  </blockquote>  </blockquote>
6314                                                            
6315    
# Line 6004  General sampler informations</h3> Line 6321  General sampler informations</h3>
6321  </p>  </p>
6322  <a name="GET VOLUME"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6323  <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>
6324  <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;
6325  Getting global volume attenuation</h3>  Getting global volume attenuation</h3>
6326    
6327  <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 6037  Getting global volume attenuation</h3> Line 6354  Getting global volume attenuation</h3>
6354  </p>  </p>
6355  <a name="SET VOLUME"></a><br /><hr />  <a name="SET VOLUME"></a><br /><hr />
6356  <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>
6357  <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;
6358  Setting global volume attenuation</h3>  Setting global volume attenuation</h3>
6359    
6360  <p>The client can alter the current global sampler-wide volume  <p>The client can alter the current global sampler-wide volume
# Line 6124  MIDI Instrument Mapping</h3> Line 6441  MIDI Instrument Mapping</h3>
6441                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6442                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6443  </p>  </p>
6444  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6445  <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>
6446  <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;
6447  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6142  Create a new MIDI instrument map</h3> Line 6459  Create a new MIDI instrument map</h3>
6459  </p>  </p>
6460  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6461                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6462                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6463                        into apostrophes and support escape sequences as described
6464                        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>".
6465                        
6466  </p>  </p>
6467  <p>Possible Answers:  <p>Possible Answers:
6468  </p>  </p>
# Line 6400  Getting MIDI instrument map information< Line 6720  Getting MIDI instrument map information<
6720  <blockquote class="text">  <blockquote class="text">
6721  <p>custom name of the given map,  <p>custom name of the given map,
6722                                              which does not have to be unique                                              which does not have to be unique
6723                                                (note that this character string may contain
6724                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6725    </p>
6726    </blockquote>
6727                                        
6728    
6729    <p>DEFAULT -
6730                                            </p>
6731    <blockquote class="text">
6732    <p>either true or false,
6733                                                defines whether this map is the default map
6734  </p>  </p>
6735  </blockquote>  </blockquote>
6736                                                                            
# Line 6421  Getting MIDI instrument map information< Line 6752  Getting MIDI instrument map information<
6752  </p>  </p>
6753  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
6754  </p>  </p>
6755    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6756    </p>
6757  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
6758  </p>  </p>
6759  </blockquote><p>  </blockquote><p>
# Line 6444  Renaming a MIDI instrument map</h3> Line 6777  Renaming a MIDI instrument map</h3>
6777  </p>  </p>
6778  <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
6779                      &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
6780                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6781                        and supports escape sequences as described in chapter
6782                        "<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>").
6783                        
6784  </p>  </p>
6785  <p>Possible Answers:  <p>Possible Answers:
6786  </p>  </p>
# Line 6510  Create or replace a MIDI instrument map Line 6846  Create or replace a MIDI instrument map
6846                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6847                      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>
6848                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6849                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6850                        supporting escape sequences as described in chapter
6851                        "<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>"),
6852                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6853                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6854                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 6607  Create or replace a MIDI instrument map Line 6945  Create or replace a MIDI instrument map
6945                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
6946                      mode by i.e. sending                      mode by i.e. sending
6947                      <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>
6948                      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
6949                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6950                      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
6951                        mapping entry, useful for frontends for displaying an appropriate name for
6952                      mapped instruments (using                      mapped instruments (using
6953                      <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>).
6954                                            
# Line 6931  Get current settings of MIDI instrument Line 7270  Get current settings of MIDI instrument
7270                                      changed with the                                      changed with the
7271                                      <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>
7272                                      command and does not have to be unique.                                      command and does not have to be unique.
7273                                        (note that this character string may contain
7274                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7275  </p>  </p>
7276  </blockquote>  </blockquote>
7277                                                            
# Line 6947  Get current settings of MIDI instrument Line 7288  Get current settings of MIDI instrument
7288  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7289                                  </p>                                  </p>
7290  <blockquote class="text">  <blockquote class="text">
7291  <p>File name of the instrument.  <p>File name of the instrument
7292                                        (note that this path may contain
7293                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7294  </p>  </p>
7295  </blockquote>  </blockquote>
7296                                                            
# Line 6965  Get current settings of MIDI instrument Line 7308  Get current settings of MIDI instrument
7308  <blockquote class="text">  <blockquote class="text">
7309  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7310                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7311                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7312                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7313  </p>  </p>
7314  </blockquote>  </blockquote>
7315                                                            
# Line 7092  Clear MIDI instrument map</h3> Line 7436  Clear MIDI instrument map</h3>
7436  </blockquote><p>  </blockquote><p>
7437                                            
7438  </p>  </p>
7439    <a name="Managing Instruments Database"></a><br /><hr />
7440    <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>
7441    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7442    Managing Instruments Database</h3>
7443    
7444    <p>The following commands describe how to use and manage
7445                    the instruments database.
7446    </p>
7447    <p>Notice:
7448    </p>
7449    <p>
7450                            </p>
7451    <blockquote class="text">
7452    <p>All command arguments representing a path or
7453                                instrument/directory name support escape sequences as described in chapter
7454                                "<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>".
7455                                
7456    </p>
7457    <p>All occurrences of a forward slash in instrument and directory
7458                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7459                                
7460    </p>
7461    </blockquote><p>
7462                        
7463    </p>
7464    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7465    <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>
7466    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7467    Creating a new instrument directory</h3>
7468    
7469    <p>The front-end can add a new instrument directory to the
7470                        instruments database by sending the following command:
7471    </p>
7472    <p>
7473                            </p>
7474    <blockquote class="text">
7475    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7476    </p>
7477    </blockquote><p>
7478                        
7479    </p>
7480    <p>Where &lt;dir&gt; is the absolute path name of the directory
7481                        to be created (encapsulated into apostrophes).
7482    </p>
7483    <p>Possible Answers:
7484    </p>
7485    <p>
7486                            </p>
7487    <blockquote class="text">
7488    <p>"OK" -
7489                                    </p>
7490    <blockquote class="text">
7491    <p>on success
7492    </p>
7493    </blockquote>
7494                                
7495    
7496    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7497                                    </p>
7498    <blockquote class="text">
7499    <p>when the directory could not be created, which
7500                                        can happen if the directory already exists or the
7501                                        name contains not allowed symbols
7502    </p>
7503    </blockquote>
7504                                
7505    
7506    </blockquote><p>
7507                        
7508    </p>
7509    <p>Examples:
7510    </p>
7511    <p>
7512                            </p>
7513    <blockquote class="text">
7514    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7515    </p>
7516    <p>S: "OK"
7517    </p>
7518    </blockquote><p>
7519                        
7520    </p>
7521    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7522    <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>
7523    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7524    Deleting an instrument directory</h3>
7525    
7526    <p>The front-end can delete a particular instrument directory
7527                        from the instruments database by sending the following command:
7528    </p>
7529    <p>
7530                            </p>
7531    <blockquote class="text">
7532    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7533    </p>
7534    </blockquote><p>
7535                        
7536    </p>
7537    <p>Where &lt;dir&gt; is the absolute path name of the directory
7538                        to delete. The optional FORCE argument can be used to
7539                        force the deletion of a non-empty directory and all its content.
7540    </p>
7541    <p>Possible Answers:
7542    </p>
7543    <p>
7544                            </p>
7545    <blockquote class="text">
7546    <p>"OK" -
7547                                    </p>
7548    <blockquote class="text">
7549    <p>if the directory is deleted successfully
7550    </p>
7551    </blockquote>
7552                                
7553    
7554    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7555                                    </p>
7556    <blockquote class="text">
7557    <p>if the given directory does not exist, or
7558                                        if trying to delete a non-empty directory,
7559                                        without using the FORCE argument.
7560    </p>
7561    </blockquote>
7562                                
7563    
7564    </blockquote><p>
7565                        
7566    </p>
7567    <p>Examples:
7568    </p>
7569    <p>
7570                            </p>
7571    <blockquote class="text">
7572    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7573    </p>
7574    <p>S: "OK"
7575    </p>
7576    </blockquote><p>
7577                        
7578    </p>
7579    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7580    <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>
7581    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7582    Getting amount of instrument directories</h3>
7583    
7584    <p>The front-end can retrieve the current amount of
7585                        directories in a specific directory by sending the following command:
7586    </p>
7587    <p>
7588                            </p>
7589    <blockquote class="text">
7590    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7591    </p>
7592    </blockquote><p>
7593                        
7594    </p>
7595    <p>Where &lt;dir&gt; should be replaced by the absolute path
7596                        name of the directory. If RECURSIVE is specified, the number of
7597                        all directories, including those located in subdirectories of the
7598                        specified directory, will be returned.
7599    </p>
7600    <p>Possible Answers:
7601    </p>
7602    <p>
7603                            </p>
7604    <blockquote class="text">
7605    <p>The current number of instrument directories
7606                                in the specified directory.
7607    </p>
7608    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7609                                    </p>
7610    <blockquote class="text">
7611    <p>if the given directory does not exist.
7612    </p>
7613    </blockquote>
7614                                
7615    
7616    </blockquote><p>
7617                        
7618    </p>
7619    <p>Example:
7620    </p>
7621    <p>
7622                            </p>
7623    <blockquote class="text">
7624    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7625    </p>
7626    <p>S: "2"
7627    </p>
7628    </blockquote><p>
7629                        
7630    </p>
7631    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7632    <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>
7633    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7634    Listing all directories in specific directory</h3>
7635    
7636    <p>The front-end can retrieve the current list of directories
7637                        in specific directory by sending the following command:
7638    </p>
7639    <p>
7640                            </p>
7641    <blockquote class="text">
7642    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7643    </p>
7644    </blockquote><p>
7645                        
7646    </p>
7647    <p>Where &lt;dir&gt; should be replaced by the absolute path
7648                        name of the directory. If RECURSIVE is specified, the absolute path names
7649                        of all directories, including those located in subdirectories of the
7650                        specified directory, will be returned.
7651    </p>
7652    <p>Possible Answers:
7653    </p>
7654    <p>
7655                            </p>
7656    <blockquote class="text">
7657    <p>A comma separated list of all instrument directories
7658                                (encapsulated into apostrophes) in the specified directory.
7659    </p>
7660    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7661                                    </p>
7662    <blockquote class="text">
7663    <p>if the given directory does not exist.
7664    </p>
7665    </blockquote>
7666                                
7667    
7668    </blockquote><p>
7669                        
7670    </p>
7671    <p>Example:
7672    </p>
7673    <p>
7674                            </p>
7675    <blockquote class="text">
7676    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7677    </p>
7678    <p>S: "'Piano Collection','Percussion Collection'"
7679    </p>
7680    </blockquote><p>
7681                        
7682    </p>
7683    <p>
7684                            </p>
7685    <blockquote class="text">
7686    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7687    </p>
7688    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7689    </p>
7690    </blockquote><p>
7691                        
7692    </p>
7693    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7694    <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>
7695    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7696    Getting instrument directory information</h3>
7697    
7698    <p>The front-end can ask for the current settings of an
7699                        instrument directory by sending the following command:
7700    </p>
7701    <p>
7702                            </p>
7703    <blockquote class="text">
7704    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7705    </p>
7706    </blockquote><p>
7707                        
7708    </p>
7709    <p>Where &lt;dir&gt; should be replaced by the absolute path
7710                        name of the directory the front-end is interested in.
7711    </p>
7712    <p>Possible Answers:
7713    </p>
7714    <p>
7715                            </p>
7716    <blockquote class="text">
7717    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7718                                Each answer line begins with the settings category name
7719                                followed by a colon and then a space character &lt;SP&gt; and finally
7720                                the info character string to that setting category. At the
7721                                moment the following categories are defined:
7722    </p>
7723    <p>
7724                                    </p>
7725    <blockquote class="text">
7726    <p>DESCRIPTION -
7727                                            </p>
7728    <blockquote class="text">
7729    <p>A brief description of the directory content.
7730                                                Note that the character string may contain
7731                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7732    </p>
7733    </blockquote>
7734                                        
7735    
7736    <p>CREATED -
7737                                            </p>
7738    <blockquote class="text">
7739    <p>The creation date and time of the directory,
7740                                                represented in "YYYY-MM-DD HH:MM:SS" format
7741    </p>
7742    </blockquote>
7743                                        
7744    
7745    <p>MODIFIED -
7746                                            </p>
7747    <blockquote class="text">
7748    <p>The date and time of the last modification of the
7749                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7750    </p>
7751    </blockquote>
7752                                        
7753    
7754    </blockquote>
7755                                
7756    
7757    </blockquote><p>
7758                        
7759    </p>
7760    <p>The mentioned fields above don't have to be in particular order.
7761    </p>
7762    <p>Example:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7768    </p>
7769    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7770    </p>
7771    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7772    </p>
7773    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7774    </p>
7775    <p>&nbsp;&nbsp;&nbsp;"."
7776    </p>
7777    </blockquote><p>
7778                        
7779    </p>
7780    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7781    <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>
7782    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7783    Renaming an instrument directory</h3>
7784    
7785    <p>The front-end can alter the name of a specific
7786                        instrument directory by sending the following command:
7787    </p>
7788    <p>
7789                            </p>
7790    <blockquote class="text">
7791    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7792    </p>
7793    </blockquote><p>
7794                        
7795    </p>
7796    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7797                        &lt;name&gt; is the new name for that directory.
7798    </p>
7799    <p>Possible Answers:
7800    </p>
7801    <p>
7802                            </p>
7803    <blockquote class="text">
7804    <p>"OK" -
7805                                    </p>
7806    <blockquote class="text">
7807    <p>on success
7808    </p>
7809    </blockquote>
7810                                
7811    
7812    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7813                                    </p>
7814    <blockquote class="text">
7815    <p>in case the given directory does not exists,
7816                                        or if a directory with name equal to the new
7817                                        name already exists.
7818    </p>
7819    </blockquote>
7820                                
7821    
7822    </blockquote><p>
7823                        
7824    </p>
7825    <p>Example:
7826    </p>
7827    <p>
7828                            </p>
7829    <blockquote class="text">
7830    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7831    </p>
7832    <p>S: "OK"
7833    </p>
7834    </blockquote><p>
7835                        
7836    </p>
7837    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7838    <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>
7839    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7840    Moving an instrument directory</h3>
7841    
7842    <p>The front-end can move a specific
7843                        instrument directory by sending the following command:
7844    </p>
7845    <p>
7846                            </p>
7847    <blockquote class="text">
7848    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7849    </p>
7850    </blockquote><p>
7851                        
7852    </p>
7853    <p>Where &lt;dir&gt; is the absolute path name of the directory
7854                        to move and &lt;dst&gt; is the location where the directory will
7855                        be moved to.
7856    </p>
7857    <p>Possible Answers:
7858    </p>
7859    <p>
7860                            </p>
7861    <blockquote class="text">
7862    <p>"OK" -
7863                                    </p>
7864    <blockquote class="text">
7865    <p>on success
7866    </p>
7867    </blockquote>
7868                                
7869    
7870    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7871                                    </p>
7872    <blockquote class="text">
7873    <p>in case a given directory does not exists,
7874                                        or if a directory with name equal to the name
7875                                        of the specified directory already exists in
7876                                        the destination directory. Error is also thrown
7877                                        when trying to move a directory to a subdirectory
7878                                        of itself.
7879    </p>
7880    </blockquote>
7881                                
7882    
7883    </blockquote><p>
7884                        
7885    </p>
7886    <p>Example:
7887    </p>
7888    <p>
7889                            </p>
7890    <blockquote class="text">
7891    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7892    </p>
7893    <p>S: "OK"
7894    </p>
7895    </blockquote><p>
7896                        
7897    </p>
7898    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7899    <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>
7900    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7901    Copying instrument directories</h3>
7902    
7903    <p>The front-end can copy a specific
7904                        instrument directory by sending the following command:
7905    </p>
7906    <p>
7907                            </p>
7908    <blockquote class="text">
7909    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7910    </p>
7911    </blockquote><p>
7912                        
7913    </p>
7914    <p>Where &lt;dir&gt; is the absolute path name of the directory
7915                        to copy and &lt;dst&gt; is the location where the directory will
7916                        be copied to.
7917    </p>
7918    <p>Possible Answers:
7919    </p>
7920    <p>
7921                            </p>
7922    <blockquote class="text">
7923    <p>"OK" -
7924                                    </p>
7925    <blockquote class="text">
7926    <p>on success
7927    </p>
7928    </blockquote>
7929                                
7930    
7931    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7932                                    </p>
7933    <blockquote class="text">
7934    <p>in case a given directory does not exists,
7935                                        or if a directory with name equal to the name
7936                                        of the specified directory already exists in
7937                                        the destination directory. Error is also thrown
7938                                        when trying to copy a directory to a subdirectory
7939                                        of itself.
7940    </p>
7941    </blockquote>
7942                                
7943    
7944    </blockquote><p>
7945                        
7946    </p>
7947    <p>Example:
7948    </p>
7949    <p>
7950                            </p>
7951    <blockquote class="text">
7952    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7953    </p>
7954    <p>S: "OK"
7955    </p>
7956    </blockquote><p>
7957                        
7958    </p>
7959    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7960    <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>
7961    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7962    Changing the description of directory</h3>
7963    
7964    <p>The front-end can alter the description of a specific
7965                        instrument directory by sending the following command:
7966    </p>
7967    <p>
7968                            </p>
7969    <blockquote class="text">
7970    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7971    </p>
7972    </blockquote><p>
7973                        
7974    </p>
7975    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7976                        &lt;desc&gt; is the new description for the directory
7977                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7978                        "<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>").
7979    </p>
7980    <p>Possible Answers:
7981    </p>
7982    <p>
7983                            </p>
7984    <blockquote class="text">
7985    <p>"OK" -
7986                                    </p>
7987    <blockquote class="text">
7988    <p>on success
7989    </p>
7990    </blockquote>
7991                                
7992    
7993    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7994                                    </p>
7995    <blockquote class="text">
7996    <p>in case the given directory does not exists.
7997    </p>
7998    </blockquote>
7999                                
8000    
8001    </blockquote><p>
8002                        
8003    </p>
8004    <p>Example:
8005    </p>
8006    <p>
8007                            </p>
8008    <blockquote class="text">
8009    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
8010    </p>
8011    <p>S: "OK"
8012    </p>
8013    </blockquote><p>
8014                        
8015    </p>
8016    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8017    <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>
8018    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
8019    Finding directories</h3>
8020    
8021    <p>The front-end can search for directories
8022                        in specific directory by sending the following command:
8023    </p>
8024    <p>
8025                            </p>
8026    <blockquote class="text">
8027    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8028    </p>
8029    </blockquote><p>
8030                        
8031    </p>
8032    <p>Where &lt;dir&gt; should be replaced by the absolute path
8033                        name of the directory to search in. If NON_RECURSIVE is specified, the
8034                        directories located in subdirectories of the specified directory will not
8035                        be searched. &lt;criteria-list&gt; is a list of search criterias
8036                        in form of "key1=val1 key2=val2 ...". The following criterias are
8037                        allowed:
8038    </p>
8039    <p>
8040                          
8041    <p>NAME='&lt;search-string&gt;'
8042                              </p>
8043    <blockquote class="text">
8044    <p>Restricts the search to directories, which names
8045                                  satisfy the supplied search string (encapsulated into apostrophes,
8046                                  supporting escape sequences as described in chapter
8047                                  "<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>").
8048    </p>
8049    </blockquote><p>
8050                          
8051    </p>
8052    
8053                          
8054    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8055                              </p>
8056    <blockquote class="text">
8057    <p>Restricts the search to directories, which creation
8058                                  date satisfies the specified period, where &lt;date-after&gt;
8059                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8060                                  If &lt;date-after&gt; is omitted the search is restricted to
8061                                  directories created before &lt;date-before&gt;. If
8062                                  &lt;date-before&gt; is omitted, the search is restricted
8063                                  to directories created after &lt;date-after&gt;.
8064    </p>
8065    </blockquote><p>
8066                          
8067    </p>
8068    
8069                          
8070    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8071                              </p>
8072    <blockquote class="text">
8073    <p>Restricts the search to directories, which
8074                                  date of last modification satisfies the specified period, where
8075                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8076                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8077                                  directories, which are last modified before &lt;date-before&gt;. If
8078                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
8079                                  which are last modified after &lt;date-after&gt;.
8080    </p>
8081    </blockquote><p>
8082                          
8083    </p>
8084    
8085                          
8086    <p>DESCRIPTION='&lt;search-string&gt;'
8087                              </p>
8088    <blockquote class="text">
8089    <p>Restricts the search to directories with description
8090                                  that satisfies the supplied search string
8091                                  (encapsulated into apostrophes, supporting escape
8092                                  sequences as described in chapter
8093                                  "<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>").
8094    </p>
8095    </blockquote><p>
8096                          
8097    </p>
8098                        
8099    
8100    <p>Where &lt;search-string&gt; is either a regular expression, or a
8101                        word list separated with spaces for OR search and with '+' for AND search.
8102    </p>
8103    <p>Possible Answers:
8104    </p>
8105    <p>
8106                            </p>
8107    <blockquote class="text">
8108    <p>A comma separated list with the absolute path names (encapsulated into
8109                                apostrophes) of all directories in the specified directory that satisfy
8110                                the supplied search criterias.
8111    </p>
8112    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8113                                    </p>
8114    <blockquote class="text">
8115    <p>if the given directory does not exist.
8116    </p>
8117    </blockquote>
8118                                
8119    
8120    </blockquote><p>
8121                        
8122    </p>
8123    <p>Example:
8124    </p>
8125    <p>
8126                            </p>
8127    <blockquote class="text">
8128    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8129    </p>
8130    <p>S: "'/Piano Collection'"
8131    </p>
8132    </blockquote><p>
8133                        
8134    </p>
8135    <p>
8136                            </p>
8137    <blockquote class="text">
8138    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8139    </p>
8140    <p>S: "'/Piano Collection','/Percussions'"
8141    </p>
8142    </blockquote><p>
8143                        
8144    </p>
8145    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8146    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8147    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8148    Adding instruments to the instruments database</h3>
8149    
8150    <p>The front-end can add one or more instruments
8151                        to the instruments database by sending the following command:
8152    </p>
8153    <p>
8154                            </p>
8155    <blockquote class="text">
8156    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8157    </p>
8158    </blockquote><p>
8159                        
8160    </p>
8161    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8162                        (encapsulated into apostrophes) in the instruments database in which
8163                        only the new instruments (that are not already in the database) will
8164                        be added, &lt;file_path&gt; is the absolute path name of a file or
8165                        directory in the file system (encapsulated into apostrophes). In case
8166                        an instrument file is supplied, only the instruments in the specified
8167                        file will be added to the instruments database. If the optional
8168                        &lt;instr_index&gt; (the index of the instrument within the given file)
8169                        is supplied too, then only the specified instrument will be added.
8170                        In case a directory is supplied, the instruments in that directory
8171                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8172                        when a directory is provided as &lt;file_path&gt; and specifies how the
8173                        scanning will be done and has exactly the following possibilities:
8174    </p>
8175    <p>
8176                            </p>
8177    <blockquote class="text">
8178    <p>"RECURSIVE" -
8179                                    </p>
8180    <blockquote class="text">
8181    <p>All instruments will be processed, including those
8182                                        in the subdirectories, and the respective subdirectory
8183                                        tree structure will be recreated in the instruments
8184                                        database
8185    </p>
8186    </blockquote>
8187                                
8188    
8189    <p>"NON_RECURSIVE" -
8190                                    </p>
8191    <blockquote class="text">
8192    <p>Only the instruments in the specified directory
8193                                        will be added, the instruments in the subdirectories
8194                                        will not be processed.
8195    </p>
8196    </blockquote>
8197                                
8198    
8199    <p>"FLAT" -
8200                                    </p>
8201    <blockquote class="text">
8202    <p>All instruments will be processed, including those
8203                                        in the subdirectories, but the respective subdirectory
8204                                        structure will not be recreated in the instruments
8205                                        database. All instruments will be added directly in
8206                                        the specified database directory.
8207    </p>
8208    </blockquote>
8209                                
8210    
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>The difference between regular and NON_MODAL versions of the command
8215                        is that the regular command returns when the scanning is finished
8216                        while NON_MODAL version returns immediately and a background process is launched.
8217                        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>
8218                        command can be used to monitor the scanning progress.
8219    </p>
8220    <p>Possible Answers:
8221    </p>
8222    <p>
8223                            </p>
8224    <blockquote class="text">
8225    <p>"OK" -
8226                                    </p>
8227    <blockquote class="text">
8228    <p>on success when NON_MODAL is not supplied
8229    </p>
8230    </blockquote>
8231                                
8232    
8233    <p>"OK[&lt;job-id&gt;]" -
8234                                    </p>
8235    <blockquote class="text">
8236    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8237                                        is a numerical ID used to obtain status information about the job progress.
8238                                        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>
8239                                        
8240    </p>
8241    </blockquote>
8242                                
8243    
8244    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8245                                    </p>
8246    <blockquote class="text">
8247    <p>if an invalid path is specified.
8248    </p>
8249    </blockquote>
8250                                
8251    
8252    </blockquote><p>
8253                        
8254    </p>
8255    <p>Examples:
8256    </p>
8257    <p>
8258                            </p>
8259    <blockquote class="text">
8260    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8261    </p>
8262    <p>S: "OK"
8263    </p>
8264    </blockquote><p>
8265                        
8266    </p>
8267    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8268    <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>
8269    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8270    Removing an instrument</h3>
8271    
8272    <p>The front-end can remove a particular instrument
8273                        from the instruments database by sending the following command:
8274    </p>
8275    <p>
8276                            </p>
8277    <blockquote class="text">
8278    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8279    </p>
8280    </blockquote><p>
8281                        
8282    </p>
8283    <p>Where &lt;instr_path&gt; is the absolute path name
8284                        (in the instruments database) of the instrument to remove.
8285    </p>
8286    <p>Possible Answers:
8287    </p>
8288    <p>
8289                            </p>
8290    <blockquote class="text">
8291    <p>"OK" -
8292                                    </p>
8293    <blockquote class="text">
8294    <p>if the instrument is removed successfully
8295    </p>
8296    </blockquote>
8297                                
8298    
8299    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8300                                    </p>
8301    <blockquote class="text">
8302    <p>if the given path does not exist or
8303                                        is a directory.
8304    </p>
8305    </blockquote>
8306                                
8307    
8308    </blockquote><p>
8309                        
8310    </p>
8311    <p>Examples:
8312    </p>
8313    <p>
8314                            </p>
8315    <blockquote class="text">
8316    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8317    </p>
8318    <p>S: "OK"
8319    </p>
8320    </blockquote><p>
8321                        
8322    </p>
8323    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8324    <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>
8325    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8326    Getting amount of instruments</h3>
8327    
8328    <p>The front-end can retrieve the current amount of
8329                        instruments in a specific directory by sending the following command:
8330    </p>
8331    <p>
8332                            </p>
8333    <blockquote class="text">
8334    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8335    </p>
8336    </blockquote><p>
8337                        
8338    </p>
8339    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8340                        of the directory. If RECURSIVE is specified, the number of all
8341                        instruments, including those located in subdirectories of the
8342                        specified directory, will be returned.
8343    </p>
8344    <p>Possible Answers:
8345    </p>
8346    <p>
8347                            </p>
8348    <blockquote class="text">
8349    <p>The current number of instruments
8350                                in the specified directory.
8351    </p>
8352    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8353                                    </p>
8354    <blockquote class="text">
8355    <p>if the given directory does not exist.
8356    </p>
8357    </blockquote>
8358                                
8359    
8360    </blockquote><p>
8361                        
8362    </p>
8363    <p>Example:
8364    </p>
8365    <p>
8366                            </p>
8367    <blockquote class="text">
8368    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8369    </p>
8370    <p>S: "2"
8371    </p>
8372    </blockquote><p>
8373                        
8374    </p>
8375    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8376    <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>
8377    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8378    Listing all instruments in specific directory</h3>
8379    
8380    <p>The front-end can retrieve the current list of instruments
8381                        in specific directory by sending the following command:
8382    </p>
8383    <p>
8384                            </p>
8385    <blockquote class="text">
8386    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8387    </p>
8388    </blockquote><p>
8389                        
8390    </p>
8391    <p>Where &lt;dir&gt; should be replaced by the absolute path
8392                        name of the directory. If RECURSIVE is specified, the absolute path
8393                        names of all instruments, including those located in subdirectories
8394                        of the specified directory, will be returned.
8395    </p>
8396    <p>Possible Answers:
8397    </p>
8398    <p>
8399                            </p>
8400    <blockquote class="text">
8401    <p>A comma separated list of all instruments
8402                                (encapsulated into apostrophes) in the specified directory.
8403    </p>
8404    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8405                                    </p>
8406    <blockquote class="text">
8407    <p>if the given directory does not exist.
8408    </p>
8409    </blockquote>
8410                                
8411    
8412    </blockquote><p>
8413                        
8414    </p>
8415    <p>Example:
8416    </p>
8417    <p>
8418                            </p>
8419    <blockquote class="text">
8420    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8421    </p>
8422    <p>S: "'Bosendorfer 290','Steinway D'"
8423    </p>
8424    </blockquote><p>
8425                        
8426    </p>
8427    <p>
8428                            </p>
8429    <blockquote class="text">
8430    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8431    </p>
8432    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8433    </p>
8434    </blockquote><p>
8435                        
8436    </p>
8437    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8438    <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>
8439    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8440    Getting instrument information</h3>
8441    
8442    <p>The front-end can ask for the current settings of an
8443                        instrument by sending the following command:
8444    </p>
8445    <p>
8446                            </p>
8447    <blockquote class="text">
8448    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8449    </p>
8450    </blockquote><p>
8451                        
8452    </p>
8453    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8454                        name of the instrument the front-end is interested in.
8455    </p>
8456    <p>Possible Answers:
8457    </p>
8458    <p>
8459                            </p>
8460    <blockquote class="text">
8461    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8462                                Each answer line begins with the settings category name
8463                                followed by a colon and then a space character &lt;SP&gt; and finally
8464                                the info character string to that setting category. At the
8465                                moment the following categories are defined:
8466    </p>
8467    <p>
8468                                    </p>
8469    <blockquote class="text">
8470    <p>INSTRUMENT_FILE -
8471                                            </p>
8472    <blockquote class="text">
8473    <p>File name of the instrument.
8474                                                Note that the character string may contain
8475                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8476    </p>
8477    </blockquote>
8478                                        
8479    
8480    <p>INSTRUMENT_NR -
8481                                            </p>
8482    <blockquote class="text">
8483    <p>Index of the instrument within the file.
8484    </p>
8485    </blockquote>
8486                                        
8487    
8488    <p>FORMAT_FAMILY -
8489                                            </p>
8490    <blockquote class="text">
8491    <p>The format family of the instrument.
8492    </p>
8493    </blockquote>
8494                                        
8495    
8496    <p>FORMAT_VERSION -
8497                                            </p>
8498    <blockquote class="text">
8499    <p>The format version of the instrument.
8500    </p>
8501    </blockquote>
8502                                        
8503    
8504    <p>SIZE -
8505                                            </p>
8506    <blockquote class="text">
8507    <p>The size of the instrument in bytes.
8508    </p>
8509    </blockquote>
8510                                        
8511    
8512    <p>CREATED -
8513                                            </p>
8514    <blockquote class="text">
8515    <p>The date and time when the instrument is added
8516                                                in the instruments database, represented in
8517                                               "YYYY-MM-DD HH:MM:SS" format
8518    </p>
8519    </blockquote>
8520                                        
8521    
8522    <p>MODIFIED -
8523                                            </p>
8524    <blockquote class="text">
8525    <p>The date and time of the last modification of the
8526                                                instrument's database settings, represented in
8527                                                "YYYY-MM-DD HH:MM:SS" format
8528    </p>
8529    </blockquote>
8530                                        
8531    
8532    <p>DESCRIPTION -
8533                                            </p>
8534    <blockquote class="text">
8535    <p>A brief description of the instrument.
8536                                                Note that the character string may contain
8537                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8538    </p>
8539    </blockquote>
8540                                        
8541    
8542    <p>IS_DRUM -
8543                                            </p>
8544    <blockquote class="text">
8545    <p>either true or false, determines whether the
8546                                                instrument is a drumkit or a chromatic instrument
8547    </p>
8548    </blockquote>
8549                                        
8550    
8551    <p>PRODUCT -
8552                                            </p>
8553    <blockquote class="text">
8554    <p>The product title of the instrument.
8555                                                Note that the character string may contain
8556                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8557    </p>
8558    </blockquote>
8559                                        
8560    
8561    <p>ARTISTS -
8562                                            </p>
8563    <blockquote class="text">
8564    <p>Lists the artist names.
8565                                                Note that the character string may contain
8566                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8567    </p>
8568    </blockquote>
8569                                        
8570    
8571    <p>KEYWORDS -
8572                                            </p>
8573    <blockquote class="text">
8574    <p>Provides a list of keywords that refer to the instrument.
8575                                                Keywords are separated with semicolon and blank.
8576                                                Note that the character string may contain
8577                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8578    </p>
8579    </blockquote>
8580                                        
8581    
8582    </blockquote>
8583                                
8584    
8585    </blockquote><p>
8586                        
8587    </p>
8588    <p>The mentioned fields above don't have to be in particular order.
8589    </p>
8590    <p>Example:
8591    </p>
8592    <p>
8593                            </p>
8594    <blockquote class="text">
8595    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8596    </p>
8597    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8598    </p>
8599    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8600    </p>
8601    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8602    </p>
8603    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8604    </p>
8605    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8606    </p>
8607    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8608    </p>
8609    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8610    </p>
8611    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8612    </p>
8613    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8614    </p>
8615    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8616    </p>
8617    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8618    </p>
8619    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8620    </p>
8621    <p>&nbsp;&nbsp;&nbsp;"."
8622    </p>
8623    </blockquote><p>
8624                        
8625    </p>
8626    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8627    <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>
8628    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8629    Renaming an instrument</h3>
8630    
8631    <p>The front-end can alter the name of a specific
8632                        instrument by sending the following command:
8633    </p>
8634    <p>
8635                            </p>
8636    <blockquote class="text">
8637    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8638    </p>
8639    </blockquote><p>
8640                        
8641    </p>
8642    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8643                        &lt;name&gt; is the new name for that instrument.
8644    </p>
8645    <p>Possible Answers:
8646    </p>
8647    <p>
8648                            </p>
8649    <blockquote class="text">
8650    <p>"OK" -
8651                                    </p>
8652    <blockquote class="text">
8653    <p>on success
8654    </p>
8655    </blockquote>
8656                                
8657    
8658    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8659                                    </p>
8660    <blockquote class="text">
8661    <p>in case the given instrument does not exists,
8662                                        or if an instrument with name equal to the new
8663                                        name already exists.
8664    </p>
8665    </blockquote>
8666                                
8667    
8668    </blockquote><p>
8669                        
8670    </p>
8671    <p>Example:
8672    </p>
8673    <p>
8674                            </p>
8675    <blockquote class="text">
8676    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8677    </p>
8678    <p>S: "OK"
8679    </p>
8680    </blockquote><p>
8681                        
8682    </p>
8683    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8684    <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>
8685    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8686    Moving an instrument</h3>
8687    
8688    <p>The front-end can move a specific instrument to another directory by
8689                        sending the following command:
8690    </p>
8691    <p>
8692                            </p>
8693    <blockquote class="text">
8694    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8695    </p>
8696    </blockquote><p>
8697                        
8698    </p>
8699    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8700                        to move and &lt;dst&gt; is the directory where the instrument will
8701                        be moved to.
8702    </p>
8703    <p>Possible Answers:
8704    </p>
8705    <p>
8706                            </p>
8707    <blockquote class="text">
8708    <p>"OK" -
8709                                    </p>
8710    <blockquote class="text">
8711    <p>on success
8712    </p>
8713    </blockquote>
8714                                
8715    
8716    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8717                                    </p>
8718    <blockquote class="text">
8719    <p>in case the given instrument does not exists,
8720                                        or if an instrument with name equal to the name of the
8721                                        specified instrument already exists in the destination
8722                                        directory.
8723    </p>
8724    </blockquote>
8725                                
8726    
8727    </blockquote><p>
8728                        
8729    </p>
8730    <p>Example:
8731    </p>
8732    <p>
8733                            </p>
8734    <blockquote class="text">
8735    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8736    </p>
8737    <p>S: "OK"
8738    </p>
8739    </blockquote><p>
8740                        
8741    </p>
8742    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8743    <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>
8744    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8745    Copying instruments</h3>
8746    
8747    <p>The front-end can copy a specific instrument to another directory by
8748                        sending the following command:
8749    </p>
8750    <p>
8751                            </p>
8752    <blockquote class="text">
8753    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8754    </p>
8755    </blockquote><p>
8756                        
8757    </p>
8758    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8759                        to copy and &lt;dst&gt; is the directory where the instrument will
8760                        be copied to.
8761    </p>
8762    <p>Possible Answers:
8763    </p>
8764    <p>
8765                            </p>
8766    <blockquote class="text">
8767    <p>"OK" -
8768                                    </p>
8769    <blockquote class="text">
8770    <p>on success
8771    </p>
8772    </blockquote>
8773                                
8774    
8775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8776                                    </p>
8777    <blockquote class="text">
8778    <p>in case the given instrument does not exists,
8779                                        or if an instrument with name equal to the name of the
8780                                        specified instrument already exists in the destination
8781                                        directory.
8782    </p>
8783    </blockquote>
8784                                
8785    
8786    </blockquote><p>
8787                        
8788    </p>
8789    <p>Example:
8790    </p>
8791    <p>
8792                            </p>
8793    <blockquote class="text">
8794    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8795    </p>
8796    <p>S: "OK"
8797    </p>
8798    </blockquote><p>
8799                        
8800    </p>
8801    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8802    <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>
8803    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8804    Changing the description of instrument</h3>
8805    
8806    <p>The front-end can alter the description of a specific
8807                        instrument by sending the following command:
8808    </p>
8809    <p>
8810                            </p>
8811    <blockquote class="text">
8812    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8813    </p>
8814    </blockquote><p>
8815                        
8816    </p>
8817    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8818                        &lt;desc&gt; is the new description for the instrument
8819                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8820                        "<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>").
8821    </p>
8822    <p>Possible Answers:
8823    </p>
8824    <p>
8825                            </p>
8826    <blockquote class="text">
8827    <p>"OK" -
8828                                    </p>
8829    <blockquote class="text">
8830    <p>on success
8831    </p>
8832    </blockquote>
8833                                
8834    
8835    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8836                                    </p>
8837    <blockquote class="text">
8838    <p>in case the given instrument does not exists.
8839    </p>
8840    </blockquote>
8841                                
8842    
8843    </blockquote><p>
8844                        
8845    </p>
8846    <p>Example:
8847    </p>
8848    <p>
8849                            </p>
8850    <blockquote class="text">
8851    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8852    </p>
8853    <p>S: "OK"
8854    </p>
8855    </blockquote><p>
8856                        
8857    </p>
8858    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8859    <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>
8860    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8861    Finding instruments</h3>
8862    
8863    <p>The front-end can search for instruments
8864                        in specific directory by sending the following command:
8865    </p>
8866    <p>
8867                            </p>
8868    <blockquote class="text">
8869    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8870    </p>
8871    </blockquote><p>
8872                        
8873    </p>
8874    <p>Where &lt;dir&gt; should be replaced by the absolute path
8875                        name of the directory to search in. If NON_RECURSIVE is specified, the
8876                        directories located in subdirectories of the specified directory will not
8877                        be searched. &lt;criteria-list&gt; is a list of search criterias
8878                        in form of "key1=val1 key2=val2 ...". The following criterias are
8879                        allowed:
8880    </p>
8881    <p>
8882                          
8883    <p>NAME='&lt;search-string&gt;'
8884                              </p>
8885    <blockquote class="text">
8886    <p>Restricts the search to instruments, which names
8887                                  satisfy the supplied search string (encapsulated into apostrophes,
8888                                  supporting escape sequences as described in chapter
8889                                  "<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>").
8890    </p>
8891    </blockquote><p>
8892                          
8893    </p>
8894    
8895                          
8896    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8897                              </p>
8898    <blockquote class="text">
8899    <p>Restricts the search to instruments, which
8900                                  size is in the specified range. If &lt;min&gt; is omitted,
8901                                  the search results are restricted to instruments with size less then
8902                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8903                                  search is restricted to instruments with size greater then
8904                                  or equal to &lt;min&gt;.
8905    </p>
8906    </blockquote><p>
8907                          
8908    </p>
8909    
8910                          
8911    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8912                              </p>
8913    <blockquote class="text">
8914    <p>Restricts the search to instruments, which creation
8915                                  date satisfies the specified period, where &lt;date-after&gt;
8916                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8917                                  If &lt;date-after&gt; is omitted the search is restricted to
8918                                  instruments created before &lt;date-before&gt;. If
8919                                  &lt;date-before&gt; is omitted, the search is restricted
8920                                  to instruments created after &lt;date-after&gt;.
8921    </p>
8922    </blockquote><p>
8923                          
8924    </p>
8925    
8926                          
8927    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8928                              </p>
8929    <blockquote class="text">
8930    <p>Restricts the search to instruments, which
8931                                  date of last modification satisfies the specified period, where
8932                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8933                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8934                                  instruments, which are last modified before &lt;date-before&gt;. If
8935                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8936                                  which are last modified after &lt;date-after&gt;.
8937    </p>
8938    </blockquote><p>
8939                          
8940    </p>
8941    
8942                          
8943    <p>DESCRIPTION='&lt;search-string&gt;'
8944                              </p>
8945    <blockquote class="text">
8946    <p>Restricts the search to instruments with description
8947                                  that satisfies the supplied search string (encapsulated into apostrophes,
8948                                  supporting escape sequences as described in chapter
8949                                  "<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>").
8950    </p>
8951    </blockquote><p>
8952                          
8953    </p>
8954    
8955                          
8956    <p>PRODUCT='&lt;search-string&gt;'
8957                              </p>
8958    <blockquote class="text">
8959    <p>Restricts the search to instruments with product info
8960                                  that satisfies the supplied search string (encapsulated into apostrophes,
8961                                  supporting escape sequences as described in chapter
8962                                  "<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>").
8963    </p>
8964    </blockquote><p>
8965                          
8966    </p>
8967    
8968                          
8969    <p>ARTISTS='&lt;search-string&gt;'
8970                              </p>
8971    <blockquote class="text">
8972    <p>Restricts the search to instruments with artists info
8973                                  that satisfies the supplied search string (encapsulated into apostrophes,
8974                                  supporting escape sequences as described in chapter
8975                                  "<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>").
8976    </p>
8977    </blockquote><p>
8978                          
8979    </p>
8980    
8981                          
8982    <p>KEYWORDS='&lt;search-string&gt;'
8983                              </p>
8984    <blockquote class="text">
8985    <p>Restricts the search to instruments with keyword list
8986                                  that satisfies the supplied search string (encapsulated into apostrophes,
8987                                  supporting escape sequences as described in chapter
8988                                  "<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>").
8989    </p>
8990    </blockquote><p>
8991                          
8992    </p>
8993    
8994                          
8995    <p>IS_DRUM=true | false
8996                              </p>
8997    <blockquote class="text">
8998    <p>Either true or false. Restricts the search to
8999                                  drum kits or chromatic instruments.
9000    </p>
9001    </blockquote><p>
9002                          
9003    </p>
9004    
9005                          
9006    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
9007                              </p>
9008    <blockquote class="text">
9009    <p>Restricts the search to instruments of the supplied format families,
9010                                  where &lt;format-list&gt; is a comma separated list of format families.
9011    </p>
9012    </blockquote><p>
9013                          
9014    </p>
9015                        
9016    
9017    <p>Where &lt;search-string&gt; is either a regular expression, or a
9018                        word list separated with spaces for OR search and with '+' for AND search.
9019    </p>
9020    <p>Possible Answers:
9021    </p>
9022    <p>
9023                            </p>
9024    <blockquote class="text">
9025    <p>A comma separated list with the absolute path names (encapsulated into
9026                                apostrophes) of all instruments in the specified directory that satisfy
9027                                the supplied search criterias.
9028    </p>
9029    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9030                                    </p>
9031    <blockquote class="text">
9032    <p>if the given directory does not exist.
9033    </p>
9034    </blockquote>
9035                                
9036    
9037    </blockquote><p>
9038                        
9039    </p>
9040    <p>Example:
9041    </p>
9042    <p>
9043                            </p>
9044    <blockquote class="text">
9045    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
9046    </p>
9047    <p>S: "'/Piano Collection/Bosendorfer 290'"
9048    </p>
9049    </blockquote><p>
9050                        
9051    </p>
9052    <p>
9053                            </p>
9054    <blockquote class="text">
9055    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
9056    </p>
9057    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
9058    </p>
9059    </blockquote><p>
9060                        
9061    </p>
9062    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9063    <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>
9064    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9065    Getting job status information</h3>
9066    
9067    <p>The front-end can ask for the current status of a
9068                        particular database instruments job by sending the following command:
9069    </p>
9070    <p>
9071                            </p>
9072    <blockquote class="text">
9073    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9074    </p>
9075    </blockquote><p>
9076                        
9077    </p>
9078    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9079                        of the job the front-end is interested in.
9080    </p>
9081    <p>Possible Answers:
9082    </p>
9083    <p>
9084                            </p>
9085    <blockquote class="text">
9086    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9087                                Each answer line begins with the settings category name
9088                                followed by a colon and then a space character &lt;SP&gt; and finally
9089                                the info character string to that setting category. At the
9090                                moment the following categories are defined:
9091    </p>
9092    <p>
9093                                    </p>
9094    <blockquote class="text">
9095    <p>FILES_TOTAL -
9096                                            </p>
9097    <blockquote class="text">
9098    <p>The total number of files scheduled for scanning
9099    </p>
9100    </blockquote>
9101                                        
9102    
9103    <p>FILES_SCANNED -
9104                                            </p>
9105    <blockquote class="text">
9106    <p>The current number of scanned files
9107    </p>
9108    </blockquote>
9109                                        
9110    
9111    <p>SCANNING -
9112                                            </p>
9113    <blockquote class="text">
9114    <p>The absolute path name of the file which is currently
9115                                                being scanned
9116    </p>
9117    </blockquote>
9118                                        
9119    
9120    <p>STATUS -
9121                                            </p>
9122    <blockquote class="text">
9123    <p>An integer value between 0 and 100 indicating the
9124                                                scanning progress percentage of the file which is
9125                                                currently being scanned
9126    </p>
9127    </blockquote>
9128                                        
9129    
9130    </blockquote>
9131                                
9132    
9133    </blockquote><p>
9134                        
9135    </p>
9136    <p>The mentioned fields above don't have to be in particular order.
9137    </p>
9138    <p>Example:
9139    </p>
9140    <p>
9141                            </p>
9142    <blockquote class="text">
9143    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9144    </p>
9145    <p>S: "FILES_TOTAL: 12"
9146    </p>
9147    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9148    </p>
9149    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9150    </p>
9151    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9152    </p>
9153    <p>&nbsp;&nbsp;&nbsp;"."
9154    </p>
9155    </blockquote><p>
9156                        
9157    </p>
9158    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9159    <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>
9160    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9161    Formatting the instruments database</h3>
9162    
9163    <p>The front-end can remove all instruments and directories and re-create
9164                        the instruments database structure (e.g., in case of a database corruption)
9165                        by sending the following command:
9166    </p>
9167    <p>
9168                            </p>
9169    <blockquote class="text">
9170    <p>FORMAT INSTRUMENTS_DB
9171    </p>
9172    </blockquote><p>
9173                        
9174    </p>
9175    <p>Possible Answers:
9176    </p>
9177    <p>
9178                            </p>
9179    <blockquote class="text">
9180    <p>"OK" -
9181                                    </p>
9182    <blockquote class="text">
9183    <p>on success
9184    </p>
9185    </blockquote>
9186                                
9187    
9188    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9189                                    </p>
9190    <blockquote class="text">
9191    <p>If the formatting of the instruments database
9192                                        failed.
9193    </p>
9194    </blockquote>
9195                                
9196    
9197    </blockquote><p>
9198                        
9199    </p>
9200    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9201    <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>
9202    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9203    Checking for lost instrument files</h3>
9204    
9205    <p>The front-end can retrieve the list of all instrument files in the instruments database
9206                        that don't exist in the filesystem by sending the following command:
9207    </p>
9208    <p>
9209                            </p>
9210    <blockquote class="text">
9211    <p>FIND LOST DB_INSTRUMENT_FILES
9212    </p>
9213    </blockquote><p>
9214                        
9215    </p>
9216    <p>Possible Answers:
9217    </p>
9218    <p>
9219                            </p>
9220    <blockquote class="text">
9221    <p>A comma separated list with the absolute path names
9222                                (encapsulated into apostrophes) of all lost instrument files.
9223    </p>
9224    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9225                                    </p>
9226    <blockquote class="text">
9227    <p>in case it failed, providing an appropriate error code and error message.
9228    </p>
9229    </blockquote>
9230                                
9231    
9232    </blockquote><p>
9233                        
9234    </p>
9235    <p>Example:
9236    </p>
9237    <p>
9238                            </p>
9239    <blockquote class="text">
9240    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9241    </p>
9242    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9243    </p>
9244    </blockquote><p>
9245                        
9246    </p>
9247    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9248    <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>
9249    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9250    Replacing an instrument file</h3>
9251    
9252    <p>The front-end can substitute all occurrences of an instrument file
9253                        in the instruments database with a new one by sending the following command:
9254    </p>
9255    <p>
9256                            </p>
9257    <blockquote class="text">
9258    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9259    </p>
9260    </blockquote><p>
9261                        
9262    </p>
9263    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9264                        to substitute with &lt;new_path&gt;.
9265    </p>
9266    <p>Possible Answers:
9267    </p>
9268    <p>
9269                            </p>
9270    <blockquote class="text">
9271    <p>"OK" -
9272                                    </p>
9273    <blockquote class="text">
9274    <p>on success
9275    </p>
9276    </blockquote>
9277                                
9278    
9279    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9280                                    </p>
9281    <blockquote class="text">
9282    <p>in case it failed, providing an appropriate error code and error message.
9283    </p>
9284    </blockquote>
9285                                
9286    
9287    </blockquote><p>
9288                        
9289    </p>
9290    <p>Example:
9291    </p>
9292    <p>
9293                            </p>
9294    <blockquote class="text">
9295    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9296    </p>
9297    <p>S: "OK"
9298    </p>
9299    </blockquote><p>
9300                        
9301    </p>
9302    <a name="editing_instruments"></a><br /><hr />
9303    <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>
9304    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9305    Editing Instruments</h3>
9306    
9307    <p>The sampler allows to edit instruments while playing with the
9308                    sampler by spawning an external (3rd party) instrument editor
9309                    application for a given instrument. The 3rd party instrument
9310                    editor applications have to place a respective plugin DLL file
9311                    into the sampler's plugins directory. The sampler will
9312                    automatically try to load all plugin DLLs in that directory on
9313                    startup and only on startup!
9314    </p>
9315    <p>At the moment there is only one command for this feature set,
9316                    but this will most probably change in future.
9317    </p>
9318    <a name="EDIT INSTRUMENT"></a><br /><hr />
9319    <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>
9320    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9321    Opening an appropriate instrument editor application</h3>
9322    
9323    <p>The front-end can request to open an appropriate instrument
9324                        editor application by sending the following command:
9325    </p>
9326    <p>
9327                            </p>
9328    <blockquote class="text">
9329    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9330    </p>
9331    </blockquote><p>
9332                        
9333    </p>
9334    <p>Where &lt;sampler-channel&gt; should be replaced by the
9335                        number of the sampler channel as given by the
9336                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9337                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9338                        command.
9339    </p>
9340    <p>The sampler will try to ask all registered instrument
9341                        editors (or to be more specific: their sampler plugins)
9342                        whether they are capable to handle the instrument on the
9343                        given sampler channel. The sampler will simply use the first
9344                        instrument editor application which replied with a positive
9345                        answer and spawn that instrument editor application within
9346                        the sampler's process and provide that application access
9347                        to the instrument's data structures, so both applications
9348                        can share and access the same instruments data at the same
9349                        time, thus allowing to immediately hear changes with the
9350                        sampler made by the instrument editor.
9351    </p>
9352    <p>Note: consequently instrument editors are always spawned
9353                        locally on the same machine where the sampler is running
9354                        on!
9355    </p>
9356    <p>Possible Answers:
9357    </p>
9358    <p>
9359                            </p>
9360    <blockquote class="text">
9361    <p>"OK" -
9362                                    </p>
9363    <blockquote class="text">
9364    <p>when an appropriate instrument editor was
9365                                        launched
9366    </p>
9367    </blockquote>
9368                                
9369    
9370    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9371                                    </p>
9372    <blockquote class="text">
9373    <p>when an appropriate instrument editor was
9374                                        launched, but there are noteworthy issues
9375    </p>
9376    </blockquote>
9377                                
9378    
9379    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9380                                    </p>
9381    <blockquote class="text">
9382    <p>when an appropriate instrument editor
9383                                        could not be launched
9384    </p>
9385    </blockquote>
9386                                
9387    
9388    </blockquote><p>
9389                        
9390    </p>
9391    <p>Examples:
9392    </p>
9393    <p>
9394                            </p>
9395    <blockquote class="text">
9396    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9397    </p>
9398    <p>S: "OK"
9399    </p>
9400    </blockquote><p>
9401                        
9402    </p>
9403    <a name="file_management"></a><br /><hr />
9404    <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>
9405    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9406    Managing Files</h3>
9407    
9408    <p>You can query detailed informations about files located
9409                    at the same system where the sampler instance is running on.
9410                    Using this command set allows to retrieve file informations
9411                    even remotely from another machine.
9412    </p>
9413    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9414    <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>
9415    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9416    Retrieving amount of instruments of a file</h3>
9417    
9418    <p>The front-end can retrieve the amount of instruments
9419                        within a given instrument file by sending the
9420                        following command:
9421    </p>
9422    <p>
9423                            </p>
9424    <blockquote class="text">
9425    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9426    </p>
9427    </blockquote><p>
9428                        
9429    </p>
9430    <p>Where &lt;filename&gt; is the name of the instrument
9431                        file (encapsulated into apostrophes, supporting escape
9432                        sequences as described in chapter
9433                        "<a class='info' href='#character_set'>Character Set and Escape
9434                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9435    </p>
9436    <p>The sampler will try to ask all sampler engines,
9437                        whether they support the given file and ask the first
9438                        engine with a positive answer for the amount of
9439                        instruments.
9440    </p>
9441    <p>Possible Answers:
9442    </p>
9443    <p>
9444                            </p>
9445    <blockquote class="text">
9446    <p>On success, the sampler will answer by
9447                                   returning the amount of instruments.
9448                                
9449    </p>
9450    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9451                                    </p>
9452    <blockquote class="text">
9453    <p>if the file could not be handled
9454    </p>
9455    </blockquote>
9456                                
9457    
9458    </blockquote><p>
9459                        
9460    </p>
9461    <p>Examples:
9462    </p>
9463    <p>
9464                            </p>
9465    <blockquote class="text">
9466    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9467    </p>
9468    <p>S: "10"
9469    </p>
9470    </blockquote><p>
9471                        
9472    </p>
9473    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9474    <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>
9475    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9476    Retrieving all instruments of a file</h3>
9477    
9478    <p>The front-end can retrieve a list of all instruments
9479                        within a given instrument file by sending the
9480                        following command:
9481    </p>
9482    <p>
9483                            </p>
9484    <blockquote class="text">
9485    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9486    </p>
9487    </blockquote><p>
9488                        
9489    </p>
9490    <p>Where &lt;filename&gt; is the name of the instrument
9491                        file (encapsulated into apostrophes, supporting escape
9492                        sequences as described in chapter
9493                        "<a class='info' href='#character_set'>Character Set and Escape
9494                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9495    </p>
9496    <p>The sampler will try to ask all sampler engines,
9497                        whether they support the given file and ask the first
9498                        engine with a positive answer for a list of IDs for the
9499                        instruments in the given file.
9500    </p>
9501    <p>Possible Answers:
9502    </p>
9503    <p>
9504                            </p>
9505    <blockquote class="text">
9506    <p>On success, the sampler will answer by
9507                                   returning a comma separated list of
9508                                   instrument IDs.
9509                                
9510    </p>
9511    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9512                                    </p>
9513    <blockquote class="text">
9514    <p>if the file could not be handled
9515    </p>
9516    </blockquote>
9517                                
9518    
9519    </blockquote><p>
9520                        
9521    </p>
9522    <p>Examples:
9523    </p>
9524    <p>
9525                            </p>
9526    <blockquote class="text">
9527    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9528    </p>
9529    <p>S: "0,1,2,3,4,5,6,7,8,9"
9530    </p>
9531    </blockquote><p>
9532                        
9533    </p>
9534    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9535    <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>
9536    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9537    Retrieving informations about one instrument in a file</h3>
9538    
9539    <p>The front-end can retrieve detailed informations
9540                        about a specific instrument within a given instrument
9541                        file by sending the following command:
9542    </p>
9543    <p>
9544                            </p>
9545    <blockquote class="text">
9546    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9547                                &lt;instr-id&gt;
9548    </p>
9549    </blockquote><p>
9550                        
9551    </p>
9552    <p>Where &lt;filename&gt; is the name of the instrument
9553                        file (encapsulated into apostrophes, supporting escape
9554                        sequences as described in chapter
9555                        "<a class='info' href='#character_set'>Character Set and Escape
9556                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9557                        instrument ID as returned by the
9558                        <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.
9559    </p>
9560    <p>The sampler will try to ask all sampler engines,
9561                        whether they support the given file and ask the first
9562                        engine with a positive answer for informations about the
9563                        specific instrument in the given file.
9564    </p>
9565    <p>Possible Answers:
9566    </p>
9567    <p>
9568                            </p>
9569    <blockquote class="text">
9570    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9571                                Each answer line begins with the settings category name
9572                                followed by a colon and then a space character &lt;SP&gt; and finally
9573                                the info character string to that setting category. At the
9574                                moment the following categories are defined:
9575    </p>
9576    <p>
9577                                    </p>
9578    <blockquote class="text">
9579    <p>NAME -
9580                                            </p>
9581    <blockquote class="text">
9582    <p>name of the instrument as
9583                                                stored in the instrument file
9584    </p>
9585    </blockquote>
9586                                        
9587    
9588    <p>FORMAT_FAMILY -
9589                                            </p>
9590    <blockquote class="text">
9591    <p>name of the sampler format
9592                                                of the given instrument
9593    </p>
9594    </blockquote>
9595                                        
9596    
9597    <p>FORMAT_VERSION -
9598                                            </p>
9599    <blockquote class="text">
9600    <p>version of the sampler format
9601                                                the instrumen is stored as
9602    </p>
9603    </blockquote>
9604                                        
9605    
9606    <p>PRODUCT -
9607                                            </p>
9608    <blockquote class="text">
9609    <p>official product name of the
9610                                                instrument as stored in the file
9611                                                
9612    </p>
9613    </blockquote>
9614                                        
9615    
9616    <p>ARTISTS -
9617                                            </p>
9618    <blockquote class="text">
9619    <p>artists / sample library
9620                                                vendor of the instrument
9621    </p>
9622    </blockquote>
9623                                        
9624    
9625    <p>KEY_BINDINGS -
9626                                            </p>
9627    <blockquote class="text">
9628    <p>comma separated list of integer values representing
9629                                                   the instrument's key mapping in the range between 0 .. 127,
9630                                                   reflecting the analog meaning of the MIDI specification.
9631    </p>
9632    </blockquote>
9633                                        
9634    
9635    <p>KEYSWITCH_BINDINGS -
9636                                            </p>
9637    <blockquote class="text">
9638    <p>comma separated list of integer values representing
9639                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
9640                                                   reflecting the analog meaning of the MIDI specification.
9641    </p>
9642    </blockquote>
9643                                        
9644    
9645    </blockquote>
9646                                
9647    
9648    </blockquote><p>
9649                        
9650    </p>
9651    <p>The mentioned fields above don't have to be in particular order.
9652    </p>
9653    <p>Example:
9654    </p>
9655    <p>
9656                            </p>
9657    <blockquote class="text">
9658    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9659    </p>
9660    <p>S: "NAME: Lunatic Loops"
9661    </p>
9662    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9663    </p>
9664    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9665    </p>
9666    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9667    </p>
9668    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9669    </p>
9670    <p>&nbsp;&nbsp;&nbsp;"."
9671    </p>
9672    </blockquote><p>
9673                        
9674    </p>
9675  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9676  <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>
9677  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7192  Command Syntax</h3> Line 9772  Command Syntax</h3>
9772  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9773                                    
9774  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9775  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9776                                    
9777  </p>  </p>
9778  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9779                                    
9780  </p>  </p>
9781    <p>/ FIND SP find_instruction
9782                    
9783    </p>
9784    <p>/ MOVE SP move_instruction
9785                    
9786    </p>
9787    <p>/ COPY SP copy_instruction
9788                    
9789    </p>
9790    <p>/ EDIT SP edit_instruction
9791                    
9792    </p>
9793    <p>/ FORMAT SP format_instruction
9794                    
9795    </p>
9796    <p>SEND SP send_instruction
9797                    
9798    </p>
9799  <p>/ RESET  <p>/ RESET
9800                                    
9801  </p>  </p>
# Line 7216  Command Syntax</h3> Line 9811  Command Syntax</h3>
9811  <p>CHANNEL  <p>CHANNEL
9812                                    
9813  </p>  </p>
9814    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9815                    
9816    </p>
9817    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9818                    
9819    </p>
9820    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9821                    
9822    </p>
9823    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9824                    
9825    </p>
9826    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9827                    
9828    </p>
9829    <p>/ DB_INSTRUMENTS SP db_path SP filename
9830                    
9831    </p>
9832    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9833                    
9834    </p>
9835  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
9836                                    
9837  </p>  </p>
# Line 7243  Command Syntax</h3> Line 9859  Command Syntax</h3>
9859  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9860                                    
9861  </p>  </p>
9862    <p>/ CHANNEL_MIDI
9863                    
9864    </p>
9865    <p>/ DEVICE_MIDI
9866                    
9867    </p>
9868  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9869                                    
9870  </p>  </p>
# Line 7273  Command Syntax</h3> Line 9895  Command Syntax</h3>
9895  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9896                                    
9897  </p>  </p>
9898    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9899                    
9900    </p>
9901    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9902                    
9903    </p>
9904    <p>/ DB_INSTRUMENT_COUNT
9905                    
9906    </p>
9907    <p>/ DB_INSTRUMENT_INFO
9908                    
9909    </p>
9910    <p>/ DB_INSTRUMENTS_JOB_INFO
9911                    
9912    </p>
9913  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9914                                    
9915  </p>  </p>
9916    <p>/ TOTAL_STREAM_COUNT
9917                    
9918    </p>
9919  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9920                                    
9921  </p>  </p>
# Line 7303  Command Syntax</h3> Line 9943  Command Syntax</h3>
9943  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9944                                    
9945  </p>  </p>
9946    <p>/ CHANNEL_MIDI
9947                    
9948    </p>
9949    <p>/ DEVICE_MIDI
9950                    
9951    </p>
9952  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9953                                    
9954  </p>  </p>
# Line 7333  Command Syntax</h3> Line 9979  Command Syntax</h3>
9979  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
9980                                    
9981  </p>  </p>
9982    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9983                    
9984    </p>
9985    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9986                    
9987    </p>
9988    <p>/ DB_INSTRUMENT_COUNT
9989                    
9990    </p>
9991    <p>/ DB_INSTRUMENT_INFO
9992                    
9993    </p>
9994    <p>/ DB_INSTRUMENTS_JOB_INFO
9995                    
9996    </p>
9997  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9998                                    
9999  </p>  </p>
10000    <p>/ TOTAL_STREAM_COUNT
10001                    
10002    </p>
10003  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10004                                    
10005  </p>  </p>
# Line 7384  Command Syntax</h3> Line 10048  Command Syntax</h3>
10048  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
10049                                    
10050  </p>  </p>
10051    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
10052                    
10053    </p>
10054    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10055                    
10056    </p>
10057    <p>/ DB_INSTRUMENT SP db_path
10058                    
10059    </p>
10060  </blockquote><p>  </blockquote><p>
10061    
10062  </p>  </p>
# Line 7462  Command Syntax</h3> Line 10135  Command Syntax</h3>
10135  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
10136                                    
10137  </p>  </p>
10138    <p>/ TOTAL_STREAM_COUNT
10139                    
10140    </p>
10141  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10142                                    
10143  </p>  </p>
# Line 7489  Command Syntax</h3> Line 10165  Command Syntax</h3>
10165  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
10166                                    
10167  </p>  </p>
10168    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10169                    
10170    </p>
10171    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10172                    
10173    </p>
10174    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
10175                    
10176    </p>
10177    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10178                    
10179    </p>
10180    <p>/ DB_INSTRUMENTS SP db_path
10181                    
10182    </p>
10183    <p>/ DB_INSTRUMENT SP INFO SP db_path
10184                    
10185    </p>
10186    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
10187                    
10188    </p>
10189  <p>/ VOLUME  <p>/ VOLUME
10190                                    
10191  </p>  </p>
10192    <p>/ FILE SP INSTRUMENTS SP filename
10193                    
10194    </p>
10195    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
10196                    
10197    </p>
10198  </blockquote><p>  </blockquote><p>
10199    
10200  </p>  </p>
# Line 7507  Command Syntax</h3> Line 10210  Command Syntax</h3>
10210  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10211                                    
10212  </p>  </p>
10213    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
10214                    
10215    </p>
10216  <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
10217                                    
10218  </p>  </p>
# Line 7516  Command Syntax</h3> Line 10222  Command Syntax</h3>
10222  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
10223                                    
10224  </p>  </p>
10225    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10226                    
10227    </p>
10228  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10229                                    
10230  </p>  </p>
# Line 7525  Command Syntax</h3> Line 10234  Command Syntax</h3>
10234  <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
10235                                    
10236  </p>  </p>
10237    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10238                    
10239    </p>
10240    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10241                    
10242    </p>
10243    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10244                    
10245    </p>
10246    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10247                    
10248    </p>
10249    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10250                    
10251    </p>
10252  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10253                                    
10254  </p>  </p>
# Line 7579  Command Syntax</h3> Line 10303  Command Syntax</h3>
10303  </blockquote><p>  </blockquote><p>
10304    
10305  </p>  </p>
10306    <p>find_instruction =
10307            </p>
10308    <blockquote class="text">
10309    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10310                    
10311    </p>
10312    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10313                    
10314    </p>
10315    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10316                    
10317    </p>
10318    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10319                    
10320    </p>
10321    <p>/ LOST SP DB_INSTRUMENT_FILES
10322                    
10323    </p>
10324    </blockquote><p>
10325    
10326    </p>
10327    <p>move_instruction =
10328            </p>
10329    <blockquote class="text">
10330    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10331                    
10332    </p>
10333    <p>/ DB_INSTRUMENT SP db_path SP db_path
10334                    
10335    </p>
10336    </blockquote><p>
10337    
10338    </p>
10339    <p>copy_instruction =
10340            </p>
10341    <blockquote class="text">
10342    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10343                    
10344    </p>
10345    <p>/ DB_INSTRUMENT SP db_path SP db_path
10346                    
10347    </p>
10348    </blockquote><p>
10349    
10350    </p>
10351  <p>destroy_instruction =  <p>destroy_instruction =
10352          </p>          </p>
10353  <blockquote class="text">  <blockquote class="text">
# Line 7654  Command Syntax</h3> Line 10423  Command Syntax</h3>
10423  </blockquote><p>  </blockquote><p>
10424    
10425  </p>  </p>
10426    <p>edit_instruction =
10427            </p>
10428    <blockquote class="text">
10429    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10430                    
10431    </p>
10432    </blockquote><p>
10433    
10434    </p>
10435    <p>format_instruction =
10436            </p>
10437    <blockquote class="text">
10438    <p>INSTRUMENTS_DB
10439                    
10440    </p>
10441    </blockquote><p>
10442    
10443    </p>
10444  <p>modal_arg =  <p>modal_arg =
10445          </p>          </p>
10446  <blockquote class="text">  <blockquote class="text">
# Line 7723  Command Syntax</h3> Line 10510  Command Syntax</h3>
10510  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
10511                                    
10512  </p>  </p>
10513    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10514                    
10515    </p>
10516    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10517                    
10518    </p>
10519    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10520                    
10521    </p>
10522    <p>/ DB_INSTRUMENTS SP db_path
10523                    
10524    </p>
10525    <p>/ FILE SP INSTRUMENTS SP filename
10526                    
10527    </p>
10528    </blockquote><p>
10529    
10530    </p>
10531    <p>send_instruction =
10532            </p>
10533    <blockquote class="text">
10534    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
10535                    
10536    </p>
10537  </blockquote><p>  </blockquote><p>
10538    
10539  </p>  </p>
# Line 7906  Command Syntax</h3> Line 10717  Command Syntax</h3>
10717  <p>filename =  <p>filename =
10718          </p>          </p>
10719  <blockquote class="text">  <blockquote class="text">
10720  <p>stringval  <p>path
10721                    
10722    </p>
10723    </blockquote><p>
10724    
10725    </p>
10726    <p>db_path =
10727            </p>
10728    <blockquote class="text">
10729    <p>path
10730                                    
10731  </p>  </p>
10732  </blockquote><p>  </blockquote><p>
# Line 7915  Command Syntax</h3> Line 10735  Command Syntax</h3>
10735  <p>map_name =  <p>map_name =
10736          </p>          </p>
10737  <blockquote class="text">  <blockquote class="text">
10738  <p>stringval  <p>stringval_escaped
10739                                    
10740  </p>  </p>
10741  </blockquote><p>  </blockquote><p>
# Line 7924  Command Syntax</h3> Line 10744  Command Syntax</h3>
10744  <p>entry_name =  <p>entry_name =
10745          </p>          </p>
10746  <blockquote class="text">  <blockquote class="text">
10747  <p>stringval  <p>stringval_escaped
10748                                    
10749  </p>  </p>
10750  </blockquote><p>  </blockquote><p>
# Line 7933  Command Syntax</h3> Line 10753  Command Syntax</h3>
10753  <p>fx_send_name =  <p>fx_send_name =
10754          </p>          </p>
10755  <blockquote class="text">  <blockquote class="text">
10756  <p>stringval  <p>stringval_escaped
10757                                    
10758  </p>  </p>
10759  </blockquote><p>  </blockquote><p>
# Line 7969  Command Syntax</h3> Line 10789  Command Syntax</h3>
10789  </blockquote><p>  </blockquote><p>
10790    
10791  </p>  </p>
10792    <p>query_val_list =
10793            </p>
10794    <blockquote class="text">
10795    <p>string '=' query_val
10796                    
10797    </p>
10798    <p>/ query_val_list SP string '=' query_val
10799                    
10800    </p>
10801    </blockquote><p>
10802    
10803    </p>
10804    <p>query_val =
10805            </p>
10806    <blockquote class="text">
10807    <p>text_escaped
10808                    
10809    </p>
10810    <p>/ stringval_escaped
10811                    
10812    </p>
10813    </blockquote><p>
10814    
10815    </p>
10816    <p>scan_mode =
10817            </p>
10818    <blockquote class="text">
10819    <p>RECURSIVE
10820                    
10821    </p>
10822    <p>/ NON_RECURSIVE
10823                    
10824    </p>
10825    <p>/ FLAT
10826                    
10827    </p>
10828    </blockquote><p>
10829    
10830    </p>
10831    <a name="character_set"></a><br /><hr />
10832    <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>
10833    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10834    Character Set and Escape Sequences</h3>
10835    
10836    <p>Older versions of this protocol up to and including v1.1 only
10837                    supported the standard ASCII character set (ASCII code 0 - 127)
10838                    <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
10839                    however support the Extended ASCII character set (ASCII code
10840                    0 - 255). The same group of younger protocols also support
10841                    escape sequences, but only for certain, explicitly declared
10842                    parts of the protocol. The supported escape sequences are
10843                    defined as follows:
10844    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10845    <col align="left"><col align="left">
10846    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10847    <tr>
10848    <td align="left">\n</td>
10849    <td align="left">new line</td>
10850    </tr>
10851    <tr>
10852    <td align="left">\r</td>
10853    <td align="left">carriage return</td>
10854    </tr>
10855    <tr>
10856    <td align="left">\f</td>
10857    <td align="left">form feed</td>
10858    </tr>
10859    <tr>
10860    <td align="left">\t</td>
10861    <td align="left">horizontal tab</td>
10862    </tr>
10863    <tr>
10864    <td align="left">\v</td>
10865    <td align="left">vertical tab</td>
10866    </tr>
10867    <tr>
10868    <td align="left">\'</td>
10869    <td align="left">apostrophe</td>
10870    </tr>
10871    <tr>
10872    <td align="left">\"</td>
10873    <td align="left">quotation mark</td>
10874    </tr>
10875    <tr>
10876    <td align="left">\\</td>
10877    <td align="left">backslash</td>
10878    </tr>
10879    <tr>
10880    <td align="left">\OOO</td>
10881    <td align="left">three digit octal ASCII code of the character</td>
10882    </tr>
10883    <tr>
10884    <td align="left">\xHH</td>
10885    <td align="left">two digit hex ASCII code of the character</td>
10886    </tr>
10887    </table>
10888    
10889    <p>Notice: due to the transition of certain parts of the
10890                    protocol which now support escape sequences, a slight backward
10891                    incompatibility to protocols version v1.1 and younger has been
10892                    introduced. The only difference is that in parts of the protocol
10893                    where escape characters are now supported, a backslash characters
10894                    MUST be escaped as well (that is as double backslash), whereas
10895                    in the old versions a single backslash was sufficient.
10896    </p>
10897    <p>The following LSCP commands support escape sequences as part
10898                    of their filename / path based arguments and / or may contain
10899                    a filename / path with escape sequences in their response:
10900                    </p>
10901    <blockquote class="text">
10902    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10903    </p>
10904    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10905    </p>
10906    <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>
10907    </p>
10908    <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>
10909    </p>
10910    <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>
10911    </p>
10912    <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>
10913    </p>
10914    <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>
10915    </p>
10916    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10917    </p>
10918    <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>
10919    </p>
10920    <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>
10921    </p>
10922    <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>
10923    </p>
10924    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10925    </p>
10926    <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>
10927    </p>
10928    <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>
10929    </p>
10930    <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>
10931    </p>
10932    <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>
10933    </p>
10934    <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>
10935    </p>
10936    <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>
10937    </p>
10938    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10939    </p>
10940    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10941    </p>
10942    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10943    </p>
10944    <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>
10945    </p>
10946    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10947    </p>
10948    <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>
10949    </p>
10950    <p><a class='info' href='#FIND LOST DB_INSTRUMENT_FILES'>"FIND LOST DB_INSTRUMENT_FILES"<span> (</span><span class='info'>Checking for lost instrument files</span><span>)</span></a>
10951    </p>
10952    <p><a class='info' href='#SET DB_INSTRUMENT FILE_PATH'>"SET DB_INSTRUMENT FILE_PATH"<span> (</span><span class='info'>Replacing an instrument file</span><span>)</span></a>
10953    </p>
10954    <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>
10955    </p>
10956    <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>
10957    </p>
10958    <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>
10959    </p>
10960    </blockquote><p>
10961                    Note that the forward slash character ('/') has a special meaning in
10962                    filename / path based arguments: it acts as separator of the nodes in
10963                    the path, thus if a directory- or filename includes a forward slash
10964                    (not intended as path node separator), you MUST escape that slash
10965                    either with the respective hex escape sequence ("\x2f") or with the
10966                    respective octal escape sequence ("\057").
10967                    
10968    </p>
10969    <p>
10970                    Note for Windows: file path arguments in LSCP are expected
10971                    to use forward slashes as directory node separator similar
10972                    to Unix based operating systems. In contrast to Unix however
10973                    a Windows typical drive character is expected to be
10974                    prefixed to the path. That is an original Windows file path
10975                    like "D:\Sounds\My.gig" would become in LSCP:
10976                    "D:/Sounds/My.gig".
10977                    
10978    </p>
10979    <p>
10980                    The following LSCP commands even support escape sequences as
10981                    part of at least one of their text-based arguments (i.e. entity name,
10982                    description) and / or may contain escape sequences in at least one of
10983                    their text-based fields in their response:
10984                    </p>
10985    <blockquote class="text">
10986    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10987    </p>
10988    <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>
10989    </p>
10990    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10991    </p>
10992    <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>
10993    </p>
10994    <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>
10995    </p>
10996    <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>
10997    </p>
10998    <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>
10999    </p>
11000    <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>
11001    </p>
11002    <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>
11003    </p>
11004    <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>
11005    </p>
11006    <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>
11007    </p>
11008    <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>
11009    </p>
11010    <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>
11011    </p>
11012    <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>
11013    </p>
11014    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11015    </p>
11016    <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>
11017    </p>
11018    <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>
11019    </p>
11020    <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>
11021    </p>
11022    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11023    </p>
11024    </blockquote><p>
11025                    Please note that these lists are manually maintained. If you
11026                    find a command that also supports escape sequences we forgot to
11027                    mention here, please report it!
11028                    
11029    </p>
11030  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
11031  <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>
11032  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 8129  Number of sampler channels changed</h3> Line 11187  Number of sampler channels changed</h3>
11187  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
11188                  of sampler channels.                  of sampler channels.
11189  </p>  </p>
11190  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
11191  <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>
11192  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
11193    MIDI data on a sampler channel arrived</h3>
11194    
11195    <p>Client may want to be notified when MIDI data arrive on sampler channels on
11196                    back-end side, by issuing the following command:
11197    </p>
11198    <p>
11199                        </p>
11200    <blockquote class="text">
11201    <p>SUBSCRIBE CHANNEL_MIDI
11202    </p>
11203    </blockquote><p>
11204                    
11205    </p>
11206    <p>Server will start sending one of the the following notification messages:
11207    </p>
11208    <p>
11209                        </p>
11210    <blockquote class="text">
11211    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
11212    </p>
11213    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11214    </p>
11215    </blockquote><p>
11216                    
11217    </p>
11218    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
11219                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11220                    0 .. 127, reflecting the analog meaning of the MIDI specification.
11221                    
11222    </p>
11223    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11224                    delivered by this mechanism! With other words: events could be lost at any time!
11225                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11226                    thread unaffected by this feature.
11227    </p>
11228    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
11229    <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>
11230    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
11231    MIDI data on a MIDI input device arrived</h3>
11232    
11233    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
11234    </p>
11235    <p>
11236                                </p>
11237    <blockquote class="text">
11238    <p>SUBSCRIBE DEVICE_MIDI
11239    </p>
11240    </blockquote><p>
11241                        
11242    </p>
11243    <p>Server will start sending one of the the following notification messages:
11244    </p>
11245    <p>
11246                                </p>
11247    <blockquote class="text">
11248    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11249    </p>
11250    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11251    </p>
11252    </blockquote><p>
11253                        
11254    </p>
11255    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11256                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11257                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11258                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11259                        
11260    </p>
11261    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11262                           delivered by this mechanism! With other words: events could be lost at any time!
11263                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11264                           thread unaffected by this feature.
11265    </p>
11266    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11267    <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>
11268    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11269  Number of active voices changed</h3>  Number of active voices changed</h3>
11270    
11271  <p>Client may want to be notified when the number of voices on the  <p>Client may want to be notified when the number of voices on the
# Line 8161  Number of active voices changed</h3> Line 11295  Number of active voices changed</h3>
11295  </p>  </p>
11296  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11297  <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>
11298  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11299  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
11300    
11301  <p>Client may want to be notified when the number of streams on the back-end  <p>Client may want to be notified when the number of streams on the back-end
# Line 8191  Number of active disk streams changed</h Line 11325  Number of active disk streams changed</h
11325  </p>  </p>
11326  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11327  <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>
11328  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11329  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
11330    
11331  <p>Client may want to be notified when the buffer fill state of a disk stream  <p>Client may want to be notified when the buffer fill state of a disk stream
# Line 8222  Disk stream buffer fill state changed</h Line 11356  Disk stream buffer fill state changed</h
11356  </p>  </p>
11357  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11358  <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>
11359  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11360  Channel information changed</h3>  Channel information changed</h3>
11361    
11362  <p>Client may want to be notified when changes were made to sampler channels on the  <p>Client may want to be notified when changes were made to sampler channels on the
# Line 8255  Channel information changed</h3> Line 11389  Channel information changed</h3>
11389  </p>  </p>
11390  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11391  <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>
11392  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11393  Number of effect sends changed</h3>  Number of effect sends changed</h3>
11394    
11395  <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
11396                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
11397  </p>  </p>
11398  <p>  <p>
# Line 8285  Number of effect sends changed</h3> Line 11419  Number of effect sends changed</h3>
11419  </p>  </p>
11420  <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11421  <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>
11422  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11423  Effect send information changed</h3>  Effect send information changed</h3>
11424    
11425  <p>Client may want to be notified when changes were made to effect sends on a  <p>Client may want to be notified when changes were made to effect sends on a
# Line 8315  Effect send information changed</h3> Line 11449  Effect send information changed</h3>
11449  </p>  </p>
11450  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11451  <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>
11452  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11453  Total number of active voices changed</h3>  Total number of active voices changed</h3>
11454    
11455  <p>Client may want to be notified when the total number of voices on the  <p>Client may want to be notified when the total number of voices on the
# Line 8342  Total number of active voices changed</h Line 11476  Total number of active voices changed</h
11476  <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
11477                  all currently active voices.                  all currently active voices.
11478  </p>  </p>
11479    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11480    <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>
11481    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11482    Total number of active disk streams changed</h3>
11483    
11484    <p>Client may want to be notified when the total number of disk streams on the
11485                    back-end changes by issuing the following command:
11486    </p>
11487    <p>
11488                        </p>
11489    <blockquote class="text">
11490    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11491    </p>
11492    </blockquote><p>
11493                    
11494    </p>
11495    <p>Server will start sending the following notification messages:
11496    </p>
11497    <p>
11498                        </p>
11499    <blockquote class="text">
11500    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11501    </p>
11502    </blockquote><p>
11503                    
11504    </p>
11505    <p>where &lt;streams&gt; will be replaced by the new number of
11506                    all currently active disk streams.
11507    </p>
11508  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11509  <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>
11510  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11511  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
11512    
11513  <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 8373  Number of MIDI instrument maps changed</ Line 11536  Number of MIDI instrument maps changed</
11536  </p>  </p>
11537  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11538  <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>
11539  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11540  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
11541    
11542  <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 8406  MIDI instrument map information changed< Line 11569  MIDI instrument map information changed<
11569  </p>  </p>
11570  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11571  <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>
11572  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11573  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
11574    
11575  <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 8436  Number of MIDI instruments changed</h3> Line 11599  Number of MIDI instruments changed</h3>
11599  </p>  </p>
11600  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11601  <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>
11602  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11603  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
11604    
11605  <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 8470  MIDI instrument information changed</h3> Line 11633  MIDI instrument information changed</h3>
11633  </p>  </p>
11634  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11635  <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>
11636  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;  <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11637  Global settings changed</h3>  Global settings changed</h3>
11638    
11639  <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 8497  Global settings changed</h3> Line 11660  Global settings changed</h3>
11660  </blockquote><p>  </blockquote><p>
11661                                    
11662  </p>  </p>
11663    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11664    <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>
11665    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11666    Number of database instrument directories changed</h3>
11667    
11668    <p>Client may want to be notified when the number of instrument
11669                    directories in a particular directory in the instruments database
11670                    is changed by issuing the following command:
11671    </p>
11672    <p>
11673                        </p>
11674    <blockquote class="text">
11675    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11676    </p>
11677    </blockquote><p>
11678                    
11679    </p>
11680    <p>Server will start sending the following notification messages:
11681    </p>
11682    <p>
11683                        </p>
11684    <blockquote class="text">
11685    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11686    </p>
11687    </blockquote><p>
11688                    
11689    </p>
11690    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11691                    name of the directory in the instruments database,
11692                    in which the number of directories is changed.
11693    </p>
11694    <p>Note that when a non-empty directory is removed, this event
11695                    is not sent for the subdirectories in that directory.
11696    </p>
11697    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11698    <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>
11699    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11700    Database instrument directory information changed</h3>
11701    
11702    <p>Client may want to be notified when changes were made to directories
11703                    in the instruments database by issuing the following command:
11704    </p>
11705    <p>
11706                        </p>
11707    <blockquote class="text">
11708    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11709    </p>
11710    </blockquote><p>
11711                    
11712    </p>
11713    <p>Server will start sending the following notification messages:
11714    </p>
11715    <p>
11716                        </p>
11717    <blockquote class="text">
11718    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11719    </p>
11720    </blockquote><p>
11721                    
11722    </p>
11723    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11724                    of the directory, for which information changes occurred. The front-end will have to send
11725                    the respective command to actually get the updated directory info. Because these messages
11726                    will be triggered by LSCP commands issued by other clients rather than real
11727                    time events happening on the server, it is believed that an empty notification
11728                    message is sufficient here.
11729    </p>
11730    <p>
11731                        </p>
11732    <blockquote class="text">
11733    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11734    </p>
11735    </blockquote><p>
11736                    
11737    </p>
11738    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11739                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11740                    the new name of the directory, encapsulated into apostrophes.
11741    </p>
11742    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11743    <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>
11744    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11745    Number of database instruments changed</h3>
11746    
11747    <p>Client may want to be notified when the number of instruments
11748                    in a particular directory in the instruments database
11749                    is changed by issuing the following command:
11750    </p>
11751    <p>
11752                        </p>
11753    <blockquote class="text">
11754    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11755    </p>
11756    </blockquote><p>
11757                    
11758    </p>
11759    <p>Server will start sending the following notification messages:
11760    </p>
11761    <p>
11762                        </p>
11763    <blockquote class="text">
11764    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11765    </p>
11766    </blockquote><p>
11767                    
11768    </p>
11769    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11770                    name of the directory in the instruments database,
11771                    in which the number of instruments is changed.
11772    </p>
11773    <p>Note that when a non-empty directory is removed, this event
11774                    is not sent for the instruments in that directory.
11775    </p>
11776    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11777    <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>
11778    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11779    Database instrument information changed</h3>
11780    
11781    <p>Client may want to be notified when changes were made to instruments
11782                    in the instruments database by issuing the following command:
11783    </p>
11784    <p>
11785                        </p>
11786    <blockquote class="text">
11787    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11788    </p>
11789    </blockquote><p>
11790                    
11791    </p>
11792    <p>Server will start sending the following notification messages:
11793    </p>
11794    <p>
11795                        </p>
11796    <blockquote class="text">
11797    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11798    </p>
11799    </blockquote><p>
11800                    
11801    </p>
11802    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11803                    of the instrument, which settings are changed. The front-end will have to send
11804                    the respective command to actually get the updated directory info. Because these messages
11805                    will be triggered by LSCP commands issued by other clients rather than real
11806                    time events happening on the server, it is believed that an empty notification
11807                    message is sufficient here.
11808    </p>
11809    <p>
11810                        </p>
11811    <blockquote class="text">
11812    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11813    </p>
11814    </blockquote><p>
11815                    
11816    </p>
11817    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11818                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11819                    the new name of the instrument, encapsulated into apostrophes.
11820    </p>
11821    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11822    <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>
11823    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
11824    Database job status information changed</h3>
11825    
11826    <p>Client may want to be notified when the status of particular database
11827                    instruments job is changed by issuing the following command:
11828    </p>
11829    <p>
11830                        </p>
11831    <blockquote class="text">
11832    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11833    </p>
11834    </blockquote><p>
11835                    
11836    </p>
11837    <p>Server will start sending the following notification messages:
11838    </p>
11839    <p>
11840                        </p>
11841    <blockquote class="text">
11842    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11843    </p>
11844    </blockquote><p>
11845                    
11846    </p>
11847    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11848                    which status is changed. The front-end will have to send the respective
11849                    command to actually get the status info. Because these messages
11850                    will be triggered by LSCP commands issued by other clients rather than real
11851                    time events happening on the server, it is believed that an empty notification
11852                    message is sufficient here.
11853    </p>
11854  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11855  <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>
11856  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
11857  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11858    
11859  <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 8564  Acknowledgments</h3> Line 11918  Acknowledgments</h3>
11918  <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>
11919  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11920  <table width="99%" border="0">  <table width="99%" border="0">
11921    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11922    <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>
11923  <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>
11924  <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>
11925  <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 8594  Schoenebeck</td></tr> Line 11950  Schoenebeck</td></tr>
11950  <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>
11951  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
11952  <p class='copyright'>  <p class='copyright'>
11953  Copyright &copy; The IETF Trust (2007).</p>  Copyright &copy; The IETF Trust (2008).</p>
11954  <p class='copyright'>  <p class='copyright'>
11955  This document is subject to the rights,  This document is subject to the rights,
11956  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,

Legend:
Removed from v.1110  
changed lines
  Added in v.1773

  ViewVC Help
Powered by ViewVC