/[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 1189 by iliev, Wed May 16 14:42:04 2007 UTC revision 1731 by iliev, Fri May 2 13:03:00 2008 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.33 (http://xml.resource.org/)">
7  <style type='text/css'><!--  <style type='text/css'><!--
8          body {          body {
9                  font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
# 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: November 17, 2007</td><td class="header">May 16, 2007</td></tr>  <tr><td class="header">Expires: October 3, 2008</td><td class="header">April 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 November 17, 2007.</p>  This Internet-Draft will expire on October 3, 2008.</p>
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The IETF Trust (2007).</p>  
177    
178  <h3>Abstract</h3>  <h3>Abstract</h3>
179    
# Line 354  Global commands<br /> Line 350  Global commands<br />
350  Current number of active voices<br />  Current number of active voices<br />
351  &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;
352  Maximum amount of active voices<br />  Maximum amount of active voices<br />
353  &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;
354    Current number of active disk streams<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
356  Reset sampler<br />  Reset sampler<br />
357  &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;
358  General sampler informations<br />  General sampler informations<br />
359  &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;
360  Getting global volume attenuation<br />  Getting global volume attenuation<br />
361  &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;
362  Setting global volume attenuation<br />  Setting global volume attenuation<br />
363  &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;
364  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
365  &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;
366  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
367  &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;
368  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 430  Copying instruments<br /> Line 428  Copying instruments<br />
428  Changing the description of instrument<br />  Changing the description of instrument<br />
429  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
430  Finding instruments<br />  Finding instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
432    Getting job status information<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
434    Formatting the instruments database<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
436    Checking for lost instrument files<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
438    Replacing an instrument file<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
# Line 444  Number of MIDI input devices changed<br Line 464  Number of MIDI input devices changed<br
464  MIDI input device's settings changed<br />  MIDI input device's settings changed<br />
465  &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;
466  Number of sampler channels changed<br />  Number of sampler channels changed<br />
467  &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;
468    MIDI data on a sampler channel arrived<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
470    MIDI data on a MIDI input device arrived<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
472  Number of active voices changed<br />  Number of active voices changed<br />
473  &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;
474  Number of active disk streams changed<br />  Number of active disk streams changed<br />
475  &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;
476  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
477  &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;
478  Channel information changed<br />  Channel information changed<br />
479  &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;
480  Number of effect sends changed<br />  Number of effect sends changed<br />
481  &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;
482  Effect send information changed<br />  Effect send information changed<br />
483  &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;
484  Total number of active voices changed<br />  Total number of active voices changed<br />
485  &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;
486    Total number of active disk streams changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
488  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
489  &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;
490  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
491  &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;
492  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
493  &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;
494  MIDI instrument information changed<br />  MIDI instrument information changed<br />
495  &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;
496  Global settings changed<br />  Global settings changed<br />
497  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
498  Number of database instrument directories changed<br />  Number of database instrument directories changed<br />
499  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
500  Database instrument directory information changed<br />  Database instrument directory information changed<br />
501  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
502  Number of database instruments changed<br />  Number of database instruments changed<br />
503  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
504  Database instrument information changed<br />  Database instrument information changed<br />
505  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.22.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
506    Database job status information changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
508  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
509  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
510  Security Considerations<br />  Security Considerations<br />
# Line 508  Requirements notation</h3> Line 536  Requirements notation</h3>
536              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
537              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
538              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
539              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>),
540              example:              thus the following example:
541  </p>  </p>
542  <p>  <p>
543                  </p>                  </p>
# Line 3295  Changing settings of MIDI input ports</h Line 3323  Changing settings of MIDI input ports</h
3323                      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>
3324                      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
3325                      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
3326                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3327                        for specifying no value for parameters allowing a list of values.
3328  </p>  </p>
3329  <p>Possible Answers:  <p>Possible Answers:
3330  </p>  </p>
# Line 3336  Changing settings of MIDI input ports</h Line 3365  Changing settings of MIDI input ports</h
3365  <p>  <p>
3366                          </p>                          </p>
3367  <blockquote class="text">  <blockquote class="text">
3368    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3369    </p>
3370    <p>S: "OK"
3371    </p>
3372    </blockquote><p>
3373                        
3374    </p>
3375  <p>  <p>
3376                            </p>
3377    <blockquote class="text">
3378    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3379    </p>
3380    <p>S: "OK"
3381  </p>  </p>
3382  </blockquote><p>  </blockquote><p>
3383                                            
# Line 3371  Loading an instrument</h3> Line 3412  Loading an instrument</h3>
3412                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3413                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3414  </p>  </p>
3415    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3416                        escape characters for special characters (see chapter
3417                        "<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>"
3418                        for details) and accordingly backslash characters in the filename
3419                        MUST now be escaped as well!
3420    </p>
3421  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3422                      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
3423                      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 3418  Loading an instrument</h3> Line 3465  Loading an instrument</h3>
3465  </blockquote><p>  </blockquote><p>
3466                                            
3467  </p>  </p>
3468  <p>Example:  <p>Example (Unix):
3469  </p>  </p>
3470  <p>  <p>
3471                          </p>                          </p>
3472  <blockquote class="text">  <blockquote class="text">
3473    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3474    </p>
3475    <p>S: OK
3476    </p>
3477    </blockquote><p>
3478                        
3479    </p>
3480    <p>Example (Windows):
3481    </p>
3482  <p>  <p>
3483                            </p>
3484    <blockquote class="text">
3485    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3486    </p>
3487    <p>S: OK
3488  </p>  </p>
3489  </blockquote><p>  </blockquote><p>
3490                                            
# Line 3838  Getting information about an engine</h3> Line 3899  Getting information about an engine</h3>
3899                                          </p>                                          </p>
3900  <blockquote class="text">  <blockquote class="text">
3901  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3902                                                (note that the character string may contain
3903                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3904  </p>  </p>
3905  </blockquote>  </blockquote>
3906                                                                            
# Line 3957  Getting sampler channel information</h3> Line 4020  Getting sampler channel information</h3>
4020  <blockquote class="text">  <blockquote class="text">
4021  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4022                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4023                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4024                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4025  </p>  </p>
4026  </blockquote>  </blockquote>
4027                                                                            
# Line 3974  Getting sampler channel information</h3> Line 4038  Getting sampler channel information</h3>
4038                                          </p>                                          </p>
4039  <blockquote class="text">  <blockquote class="text">
4040  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4041                                                (note: since LSCP 1.2 this character string may contain
4042                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4043  </p>  </p>
4044  </blockquote>  </blockquote>
4045                                                                            
# Line 5049  Adding an effect send to a sampler chann Line 5115  Adding an effect send to a sampler chann
5115                      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;
5116                      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
5117                      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
5118                      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
5119                        encapsulated into apostrophes and supports escape sequences as described in chapter
5120                        "<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>".
5121  </p>  </p>
5122  <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
5123                      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 5318  Getting effect send information</h3> Line 5386  Getting effect send information</h3>
5386                                          </p>                                          </p>
5387  <blockquote class="text">  <blockquote class="text">
5388  <p>name of the effect send entity  <p>name of the effect send entity
5389                                                (note that this character string may contain
5390                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5391  </p>  </p>
5392  </blockquote>  </blockquote>
5393                                                                            
# Line 5408  Changing effect send's name</h3> Line 5478  Changing effect send's name</h3>
5478                      as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5479                      or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and                      or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5480                      &lt;name&gt; is the new name of the effect send entity, which                      &lt;name&gt; is the new name of the effect send entity, which
5481                      does not have to be unique.                      does not have to be unique (name MUST be encapsulated into apostrophes
5482                        and supports escape sequences as described in chapter
5483                        "<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>").
5484                        
5485  </p>  </p>
5486  <p>Possible Answers:  <p>Possible Answers:
5487  </p>  </p>
# Line 6009  Maximum amount of active voices</h3> Line 6082  Maximum amount of active voices</h3>
6082  </blockquote><p>  </blockquote><p>
6083                                            
6084  </p>  </p>
6085  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6086  <table 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>
6087  <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;
6088    Current number of active disk streams</h3>
6089    
6090    <p>The front-end can ask for the current number of active disk streams on
6091                        the sampler by sending the following command:
6092    </p>
6093    <p>
6094                            </p>
6095    <blockquote class="text">
6096    <p>GET TOTAL_STREAM_COUNT
6097    </p>
6098    </blockquote><p>
6099                        
6100    </p>
6101    <p>Possible Answers:
6102    </p>
6103    <p>
6104                            </p>
6105    <blockquote class="text">
6106    <p>LinuxSampler will answer by returning the number of all active
6107                                disk streams on the sampler.
6108    </p>
6109    </blockquote><p>
6110                        
6111    </p>
6112    <a name="RESET"></a><br /><hr />
6113    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6114    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6115  Reset sampler</h3>  Reset sampler</h3>
6116    
6117  <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 6052  Reset sampler</h3> Line 6152  Reset sampler</h3>
6152  </p>  </p>
6153  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6154  <table 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>
6155  <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;
6156  General sampler informations</h3>  General sampler informations</h3>
6157    
6158  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
# Line 6085  General sampler informations</h3> Line 6185  General sampler informations</h3>
6185                                          </p>                                          </p>
6186  <blockquote class="text">  <blockquote class="text">
6187  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6188                                                (note that the character string may contain
6189                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6190  </p>  </p>
6191  </blockquote>  </blockquote>
6192                                                                            
# Line 6126  General sampler informations</h3> Line 6228  General sampler informations</h3>
6228  </p>  </p>
6229  <a name="GET VOLUME"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6230  <table 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>
6231  <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;
6232  Getting global volume attenuation</h3>  Getting global volume attenuation</h3>
6233    
6234  <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 6159  Getting global volume attenuation</h3> Line 6261  Getting global volume attenuation</h3>
6261  </p>  </p>
6262  <a name="SET VOLUME"></a><br /><hr />  <a name="SET VOLUME"></a><br /><hr />
6263  <table 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>
6264  <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;
6265  Setting global volume attenuation</h3>  Setting global volume attenuation</h3>
6266    
6267  <p>The client can alter the current global sampler-wide volume  <p>The client can alter the current global sampler-wide volume
# Line 6246  MIDI Instrument Mapping</h3> Line 6348  MIDI Instrument Mapping</h3>
6348                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6349                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6350  </p>  </p>
6351  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6352  <table 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>
6353  <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;
6354  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6264  Create a new MIDI instrument map</h3> Line 6366  Create a new MIDI instrument map</h3>
6366  </p>  </p>
6367  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6368                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6369                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6370                        into apostrophes and support escape sequences as described
6371                        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>".
6372                        
6373  </p>  </p>
6374  <p>Possible Answers:  <p>Possible Answers:
6375  </p>  </p>
# Line 6522  Getting MIDI instrument map information< Line 6627  Getting MIDI instrument map information<
6627  <blockquote class="text">  <blockquote class="text">
6628  <p>custom name of the given map,  <p>custom name of the given map,
6629                                              which does not have to be unique                                              which does not have to be unique
6630                                                (note that this character string may contain
6631                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6632  </p>  </p>
6633  </blockquote>  </blockquote>
6634                                                                            
# Line 6577  Renaming a MIDI instrument map</h3> Line 6684  Renaming a MIDI instrument map</h3>
6684  </p>  </p>
6685  <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
6686                      &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
6687                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6688                        and supports escape sequences as described in chapter
6689                        "<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>").
6690                        
6691  </p>  </p>
6692  <p>Possible Answers:  <p>Possible Answers:
6693  </p>  </p>
# Line 6643  Create or replace a MIDI instrument map Line 6753  Create or replace a MIDI instrument map
6753                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
6754                      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>
6755                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
6756                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
6757                        supporting escape sequences as described in chapter
6758                        "<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>"),
6759                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6760                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6761                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 6740  Create or replace a MIDI instrument map Line 6852  Create or replace a MIDI instrument map
6852                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
6853                      mode by i.e. sending                      mode by i.e. sending
6854                      <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>
6855                      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
6856                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
6857                      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
6858                        mapping entry, useful for frontends for displaying an appropriate name for
6859                      mapped instruments (using                      mapped instruments (using
6860                      <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>).
6861                                            
# Line 7064  Get current settings of MIDI instrument Line 7177  Get current settings of MIDI instrument
7177                                      changed with the                                      changed with the
7178                                      <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>
7179                                      command and does not have to be unique.                                      command and does not have to be unique.
7180                                        (note that this character string may contain
7181                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7182  </p>  </p>
7183  </blockquote>  </blockquote>
7184                                                            
# Line 7080  Get current settings of MIDI instrument Line 7195  Get current settings of MIDI instrument
7195  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7196                                  </p>                                  </p>
7197  <blockquote class="text">  <blockquote class="text">
7198  <p>File name of the instrument.  <p>File name of the instrument
7199                                        (note that this path may contain
7200                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7201  </p>  </p>
7202  </blockquote>  </blockquote>
7203                                                            
# Line 7098  Get current settings of MIDI instrument Line 7215  Get current settings of MIDI instrument
7215  <blockquote class="text">  <blockquote class="text">
7216  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7217                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7218                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7219                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7220  </p>  </p>
7221  </blockquote>  </blockquote>
7222                                                            
# Line 7233  Managing Instruments Database</h3> Line 7351  Managing Instruments Database</h3>
7351  <p>The following commands describe how to use and manage  <p>The following commands describe how to use and manage
7352                  the instruments database.                  the instruments database.
7353  </p>  </p>
7354    <p>Notice:
7355    </p>
7356    <p>
7357                            </p>
7358    <blockquote class="text">
7359    <p>All command arguments representing a path or
7360                                instrument/directory name support escape sequences as described in chapter
7361                                "<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>".
7362                                
7363    </p>
7364    <p>All occurrences of a forward slash in instrument and directory
7365                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7366                                
7367    </p>
7368    </blockquote><p>
7369                        
7370    </p>
7371  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7372  <table 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>
7373  <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;  <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
# Line 7498  Getting instrument directory information Line 7633  Getting instrument directory information
7633  <p>DESCRIPTION -  <p>DESCRIPTION -
7634                                          </p>                                          </p>
7635  <blockquote class="text">  <blockquote class="text">
7636  <p>A brief description of the directory content  <p>A brief description of the directory content.
7637                                                Note that the character string may contain
7638                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7639  </p>  </p>
7640  </blockquote>  </blockquote>
7641                                                                            
# Line 7743  Changing the description of directory</h Line 7880  Changing the description of directory</h
7880                                            
7881  </p>  </p>
7882  <p>Where &lt;dir&gt; is the absolute path name of the directory and  <p>Where &lt;dir&gt; is the absolute path name of the directory and
7883                      &lt;desc&gt; is the new description for the directory.                      &lt;desc&gt; is the new description for the directory
7884                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7885                        "<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>").
7886  </p>  </p>
7887  <p>Possible Answers:  <p>Possible Answers:
7888  </p>  </p>
# Line 7810  Finding directories</h3> Line 7949  Finding directories</h3>
7949                            </p>                            </p>
7950  <blockquote class="text">  <blockquote class="text">
7951  <p>Restricts the search to directories, which names  <p>Restricts the search to directories, which names
7952                                satisfy the supplied search string.                                satisfy the supplied search string (encapsulated into apostrophes,
7953                                  supporting escape sequences as described in chapter
7954                                  "<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>").
7955  </p>  </p>
7956  </blockquote><p>  </blockquote><p>
7957                                                
# Line 7853  Finding directories</h3> Line 7994  Finding directories</h3>
7994                            </p>                            </p>
7995  <blockquote class="text">  <blockquote class="text">
7996  <p>Restricts the search to directories with description  <p>Restricts the search to directories with description
7997                                that satisfies the supplied search string.                                that satisfies the supplied search string
7998                                  (encapsulated into apostrophes, supporting escape
7999                                  sequences as described in chapter
8000                                  "<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>").
8001  </p>  </p>
8002  </blockquote><p>  </blockquote><p>
8003                                                
# Line 7916  Adding instruments to the instruments da Line 8060  Adding instruments to the instruments da
8060  <p>  <p>
8061                          </p>                          </p>
8062  <blockquote class="text">  <blockquote class="text">
8063  <p>ADD DB_INSTRUMENTS [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]  <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8064  </p>  </p>
8065  </blockquote><p>  </blockquote><p>
8066                                            
# Line 7938  Adding instruments to the instruments da Line 8082  Adding instruments to the instruments da
8082  <p>  <p>
8083                          </p>                          </p>
8084  <blockquote class="text">  <blockquote class="text">
8085    <p>"RECURSIVE" -
8086                                    </p>
8087    <blockquote class="text">
8088    <p>All instruments will be processed, including those
8089                                        in the subdirectories, and the respective subdirectory
8090                                        tree structure will be recreated in the instruments
8091                                        database
8092    </p>
8093    </blockquote>
8094                                
8095    
8096  <p>"NON_RECURSIVE" -  <p>"NON_RECURSIVE" -
8097                                  </p>                                  </p>
8098  <blockquote class="text">  <blockquote class="text">
# Line 7960  Adding instruments to the instruments da Line 8115  Adding instruments to the instruments da
8115  </blockquote>  </blockquote>
8116                                                            
8117    
 <p>not supplied -  
                                 </p>  
 <blockquote class="text">  
 <p>The subdirectory tree structure will be recreated  
                                     in the instruments database and all instruments will be  
                                     processed and added to the respective subdirectory  
                                     in the instruments database.  
 </p>  
 </blockquote>  
                               
   
8118  </blockquote><p>  </blockquote><p>
8119                                            
8120  </p>  </p>
8121    <p>The difference between regular and NON_MODAL versions of the command
8122                        is that the regular command returns when the scanning is finished
8123                        while NON_MODAL version returns immediately and a background process is launched.
8124                        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>
8125                        command can be used to monitor the scanning progress.
8126    </p>
8127  <p>Possible Answers:  <p>Possible Answers:
8128  </p>  </p>
8129  <p>  <p>
# Line 7982  Adding instruments to the instruments da Line 8132  Adding instruments to the instruments da
8132  <p>"OK" -  <p>"OK" -
8133                                  </p>                                  </p>
8134  <blockquote class="text">  <blockquote class="text">
8135  <p>on success  <p>on success when NON_MODAL is not supplied
8136    </p>
8137    </blockquote>
8138                                
8139    
8140    <p>"OK[&lt;job-id&gt;]" -
8141                                    </p>
8142    <blockquote class="text">
8143    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8144                                        is a numerical ID used to obtain status information about the job progress.
8145                                        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>
8146                                        
8147  </p>  </p>
8148  </blockquote>  </blockquote>
8149                                                            
# Line 8217  Getting instrument information</h3> Line 8378  Getting instrument information</h3>
8378                                          </p>                                          </p>
8379  <blockquote class="text">  <blockquote class="text">
8380  <p>File name of the instrument.  <p>File name of the instrument.
8381                                                Note that the character string may contain
8382                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8383  </p>  </p>
8384  </blockquote>  </blockquote>
8385                                                                            
# Line 8276  Getting instrument information</h3> Line 8439  Getting instrument information</h3>
8439  <p>DESCRIPTION -  <p>DESCRIPTION -
8440                                          </p>                                          </p>
8441  <blockquote class="text">  <blockquote class="text">
8442  <p>A brief description of the instrument  <p>A brief description of the instrument.
8443                                                Note that the character string may contain
8444                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8445  </p>  </p>
8446  </blockquote>  </blockquote>
8447                                                                            
# Line 8293  Getting instrument information</h3> Line 8458  Getting instrument information</h3>
8458  <p>PRODUCT -  <p>PRODUCT -
8459                                          </p>                                          </p>
8460  <blockquote class="text">  <blockquote class="text">
8461  <p>The product title of the instrument  <p>The product title of the instrument.
8462                                                Note that the character string may contain
8463                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8464  </p>  </p>
8465  </blockquote>  </blockquote>
8466                                                                            
# Line 8301  Getting instrument information</h3> Line 8468  Getting instrument information</h3>
8468  <p>ARTISTS -  <p>ARTISTS -
8469                                          </p>                                          </p>
8470  <blockquote class="text">  <blockquote class="text">
8471  <p>Lists the artist names  <p>Lists the artist names.
8472                                                Note that the character string may contain
8473                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8474  </p>  </p>
8475  </blockquote>  </blockquote>
8476                                                                            
# Line 8311  Getting instrument information</h3> Line 8480  Getting instrument information</h3>
8480  <blockquote class="text">  <blockquote class="text">
8481  <p>Provides a list of keywords that refer to the instrument.  <p>Provides a list of keywords that refer to the instrument.
8482                                              Keywords are separated with semicolon and blank.                                              Keywords are separated with semicolon and blank.
8483                                                Note that the character string may contain
8484                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8485  </p>  </p>
8486  </blockquote>  </blockquote>
8487                                                                            
# Line 8551  Changing the description of instrument</ Line 8722  Changing the description of instrument</
8722                                            
8723  </p>  </p>
8724  <p>Where &lt;instr&gt; is the absolute path name of the instrument and  <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8725                      &lt;desc&gt; is the new description for the instrument.                      &lt;desc&gt; is the new description for the instrument
8726                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8727                        "<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>").
8728  </p>  </p>
8729  <p>Possible Answers:  <p>Possible Answers:
8730  </p>  </p>
# Line 8618  Finding instruments</h3> Line 8791  Finding instruments</h3>
8791                            </p>                            </p>
8792  <blockquote class="text">  <blockquote class="text">
8793  <p>Restricts the search to instruments, which names  <p>Restricts the search to instruments, which names
8794                                satisfy the supplied search string.                                satisfy the supplied search string (encapsulated into apostrophes,
8795                                  supporting escape sequences as described in chapter
8796                                  "<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>").
8797  </p>  </p>
8798  </blockquote><p>  </blockquote><p>
8799                                                
# Line 8628  Finding instruments</h3> Line 8803  Finding instruments</h3>
8803  <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]  <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8804                            </p>                            </p>
8805  <blockquote class="text">  <blockquote class="text">
8806  <p>Restricts the search to instruments, which  <p>Restricts the search to instruments, which
8807                                size is in the specified range. If &lt;min&gt; is omitted,                                size is in the specified range. If &lt;min&gt; is omitted,
8808                                the search results are restricted to instruments with size less then                                the search results are restricted to instruments with size less then
8809                                or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the                                or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
# Line 8676  Finding instruments</h3> Line 8851  Finding instruments</h3>
8851                            </p>                            </p>
8852  <blockquote class="text">  <blockquote class="text">
8853  <p>Restricts the search to instruments with description  <p>Restricts the search to instruments with description
8854                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
8855                                  supporting escape sequences as described in chapter
8856                                  "<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>").
8857  </p>  </p>
8858  </blockquote><p>  </blockquote><p>
8859                                                
# Line 8687  Finding instruments</h3> Line 8864  Finding instruments</h3>
8864                            </p>                            </p>
8865  <blockquote class="text">  <blockquote class="text">
8866  <p>Restricts the search to instruments with product info  <p>Restricts the search to instruments with product info
8867                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
8868                                  supporting escape sequences as described in chapter
8869                                  "<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>").
8870  </p>  </p>
8871  </blockquote><p>  </blockquote><p>
8872                                                
# Line 8698  Finding instruments</h3> Line 8877  Finding instruments</h3>
8877                            </p>                            </p>
8878  <blockquote class="text">  <blockquote class="text">
8879  <p>Restricts the search to instruments with artists info  <p>Restricts the search to instruments with artists info
8880                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
8881                                  supporting escape sequences as described in chapter
8882                                  "<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>").
8883  </p>  </p>
8884  </blockquote><p>  </blockquote><p>
8885                                                
# Line 8709  Finding instruments</h3> Line 8890  Finding instruments</h3>
8890                            </p>                            </p>
8891  <blockquote class="text">  <blockquote class="text">
8892  <p>Restricts the search to instruments with keyword list  <p>Restricts the search to instruments with keyword list
8893                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
8894                                  supporting escape sequences as described in chapter
8895                                  "<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>").
8896  </p>  </p>
8897  </blockquote><p>  </blockquote><p>
8898                                                
# Line 8719  Finding instruments</h3> Line 8902  Finding instruments</h3>
8902  <p>IS_DRUM=true | false  <p>IS_DRUM=true | false
8903                            </p>                            </p>
8904  <blockquote class="text">  <blockquote class="text">
8905  <p>Either true or false. Restricts the search to  <p>Either true or false. Restricts the search to
8906                                drum kits or chromatic instruments.                                drum kits or chromatic instruments.
8907  </p>  </p>
8908  </blockquote><p>  </blockquote><p>
# Line 8783  Finding instruments</h3> Line 8966  Finding instruments</h3>
8966  </blockquote><p>  </blockquote><p>
8967                                            
8968  </p>  </p>
8969    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8970    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8971    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8972    Getting job status information</h3>
8973    
8974    <p>The front-end can ask for the current status of a
8975                        particular database instruments job by sending the following command:
8976    </p>
8977    <p>
8978                            </p>
8979    <blockquote class="text">
8980    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8981    </p>
8982    </blockquote><p>
8983                        
8984    </p>
8985    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8986                        of the job the front-end is interested in.
8987    </p>
8988    <p>Possible Answers:
8989    </p>
8990    <p>
8991                            </p>
8992    <blockquote class="text">
8993    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8994                                Each answer line begins with the settings category name
8995                                followed by a colon and then a space character &lt;SP&gt; and finally
8996                                the info character string to that setting category. At the
8997                                moment the following categories are defined:
8998    </p>
8999    <p>
9000                                    </p>
9001    <blockquote class="text">
9002    <p>FILES_TOTAL -
9003                                            </p>
9004    <blockquote class="text">
9005    <p>The total number of files scheduled for scanning
9006    </p>
9007    </blockquote>
9008                                        
9009    
9010    <p>FILES_SCANNED -
9011                                            </p>
9012    <blockquote class="text">
9013    <p>The current number of scanned files
9014    </p>
9015    </blockquote>
9016                                        
9017    
9018    <p>SCANNING -
9019                                            </p>
9020    <blockquote class="text">
9021    <p>The absolute path name of the file which is currently
9022                                                being scanned
9023    </p>
9024    </blockquote>
9025                                        
9026    
9027    <p>STATUS -
9028                                            </p>
9029    <blockquote class="text">
9030    <p>An integer value between 0 and 100 indicating the
9031                                                scanning progress percentage of the file which is
9032                                                currently being scanned
9033    </p>
9034    </blockquote>
9035                                        
9036    
9037    </blockquote>
9038                                
9039    
9040    </blockquote><p>
9041                        
9042    </p>
9043    <p>The mentioned fields above don't have to be in particular order.
9044    </p>
9045    <p>Example:
9046    </p>
9047    <p>
9048                            </p>
9049    <blockquote class="text">
9050    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9051    </p>
9052    <p>S: "FILES_TOTAL: 12"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9057    </p>
9058    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9059    </p>
9060    <p>&nbsp;&nbsp;&nbsp;"."
9061    </p>
9062    </blockquote><p>
9063                        
9064    </p>
9065    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9066    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9067    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9068    Formatting the instruments database</h3>
9069    
9070    <p>The front-end can remove all instruments and directories and re-create
9071                        the instruments database structure (e.g., in case of a database corruption)
9072                        by sending the following command:
9073    </p>
9074    <p>
9075                            </p>
9076    <blockquote class="text">
9077    <p>FORMAT INSTRUMENTS_DB
9078    </p>
9079    </blockquote><p>
9080                        
9081    </p>
9082    <p>Possible Answers:
9083    </p>
9084    <p>
9085                            </p>
9086    <blockquote class="text">
9087    <p>"OK" -
9088                                    </p>
9089    <blockquote class="text">
9090    <p>on success
9091    </p>
9092    </blockquote>
9093                                
9094    
9095    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9096                                    </p>
9097    <blockquote class="text">
9098    <p>If the formatting of the instruments database
9099                                        failed.
9100    </p>
9101    </blockquote>
9102                                
9103    
9104    </blockquote><p>
9105                        
9106    </p>
9107    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9108    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9109    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9110    Checking for lost instrument files</h3>
9111    
9112    <p>The front-end can retrieve the list of all instrument files in the instruments database
9113                        that don't exist in the filesystem by sending the following command:
9114    </p>
9115    <p>
9116                            </p>
9117    <blockquote class="text">
9118    <p>FIND LOST DB_INSTRUMENT_FILES
9119    </p>
9120    </blockquote><p>
9121                        
9122    </p>
9123    <p>Possible Answers:
9124    </p>
9125    <p>
9126                            </p>
9127    <blockquote class="text">
9128    <p>A comma separated list with the absolute path names
9129                                (encapsulated into apostrophes) of all lost instrument files.
9130    </p>
9131    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9132                                    </p>
9133    <blockquote class="text">
9134    <p>in case it failed, providing an appropriate error code and error message.
9135    </p>
9136    </blockquote>
9137                                
9138    
9139    </blockquote><p>
9140                        
9141    </p>
9142    <p>Example:
9143    </p>
9144    <p>
9145                            </p>
9146    <blockquote class="text">
9147    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9148    </p>
9149    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9150    </p>
9151    </blockquote><p>
9152                        
9153    </p>
9154    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9155    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9156    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9157    Replacing an instrument file</h3>
9158    
9159    <p>The front-end can substitute all occurrences of an instrument file
9160                        in the instruments database with a new one by sending the following command:
9161    </p>
9162    <p>
9163                            </p>
9164    <blockquote class="text">
9165    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9166    </p>
9167    </blockquote><p>
9168                        
9169    </p>
9170    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9171                        to substitute with &lt;new_path&gt;.
9172    </p>
9173    <p>Possible Answers:
9174    </p>
9175    <p>
9176                            </p>
9177    <blockquote class="text">
9178    <p>"OK" -
9179                                    </p>
9180    <blockquote class="text">
9181    <p>on success
9182    </p>
9183    </blockquote>
9184                                
9185    
9186    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9187                                    </p>
9188    <blockquote class="text">
9189    <p>in case it failed, providing an appropriate error code and error message.
9190    </p>
9191    </blockquote>
9192                                
9193    
9194    </blockquote><p>
9195                        
9196    </p>
9197    <p>Example:
9198    </p>
9199    <p>
9200                            </p>
9201    <blockquote class="text">
9202    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9203    </p>
9204    <p>S: "OK"
9205    </p>
9206    </blockquote><p>
9207                        
9208    </p>
9209    <a name="editing_instruments"></a><br /><hr />
9210    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9211    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9212    Editing Instruments</h3>
9213    
9214    <p>The sampler allows to edit instruments while playing with the
9215                    sampler by spawning an external (3rd party) instrument editor
9216                    application for a given instrument. The 3rd party instrument
9217                    editor applications have to place a respective plugin DLL file
9218                    into the sampler's plugins directory. The sampler will
9219                    automatically try to load all plugin DLLs in that directory on
9220                    startup and only on startup!
9221    </p>
9222    <p>At the moment there is only one command for this feature set,
9223                    but this will most probably change in future.
9224    </p>
9225    <a name="EDIT INSTRUMENT"></a><br /><hr />
9226    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9227    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9228    Opening an appropriate instrument editor application</h3>
9229    
9230    <p>The front-end can request to open an appropriate instrument
9231                        editor application by sending the following command:
9232    </p>
9233    <p>
9234                            </p>
9235    <blockquote class="text">
9236    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9237    </p>
9238    </blockquote><p>
9239                        
9240    </p>
9241    <p>Where &lt;sampler-channel&gt; should be replaced by the
9242                        number of the sampler channel as given by the
9243                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9244                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9245                        command.
9246    </p>
9247    <p>The sampler will try to ask all registered instrument
9248                        editors (or to be more specific: their sampler plugins)
9249                        whether they are capable to handle the instrument on the
9250                        given sampler channel. The sampler will simply use the first
9251                        instrument editor application which replied with a positive
9252                        answer and spawn that instrument editor application within
9253                        the sampler's process and provide that application access
9254                        to the instrument's data structures, so both applications
9255                        can share and access the same instruments data at the same
9256                        time, thus allowing to immediately hear changes with the
9257                        sampler made by the instrument editor.
9258    </p>
9259    <p>Note: consequently instrument editors are always spawned
9260                        locally on the same machine where the sampler is running
9261                        on!
9262    </p>
9263    <p>Possible Answers:
9264    </p>
9265    <p>
9266                            </p>
9267    <blockquote class="text">
9268    <p>"OK" -
9269                                    </p>
9270    <blockquote class="text">
9271    <p>when an appropriate instrument editor was
9272                                        launched
9273    </p>
9274    </blockquote>
9275                                
9276    
9277    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9278                                    </p>
9279    <blockquote class="text">
9280    <p>when an appropriate instrument editor was
9281                                        launched, but there are noteworthy issues
9282    </p>
9283    </blockquote>
9284                                
9285    
9286    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9287                                    </p>
9288    <blockquote class="text">
9289    <p>when an appropriate instrument editor
9290                                        could not be launched
9291    </p>
9292    </blockquote>
9293                                
9294    
9295    </blockquote><p>
9296                        
9297    </p>
9298    <p>Examples:
9299    </p>
9300    <p>
9301                            </p>
9302    <blockquote class="text">
9303    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9304    </p>
9305    <p>S: "OK"
9306    </p>
9307    </blockquote><p>
9308                        
9309    </p>
9310    <a name="file_management"></a><br /><hr />
9311    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9312    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9313    Managing Files</h3>
9314    
9315    <p>You can query detailed informations about files located
9316                    at the same system where the sampler instance is running on.
9317                    Using this command set allows to retrieve file informations
9318                    even remotely from another machine.
9319    </p>
9320    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9321    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9322    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9323    Retrieving amount of instruments of a file</h3>
9324    
9325    <p>The front-end can retrieve the amount of instruments
9326                        within a given instrument file by sending the
9327                        following command:
9328    </p>
9329    <p>
9330                            </p>
9331    <blockquote class="text">
9332    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9333    </p>
9334    </blockquote><p>
9335                        
9336    </p>
9337    <p>Where &lt;filename&gt; is the name of the instrument
9338                        file (encapsulated into apostrophes, supporting escape
9339                        sequences as described in chapter
9340                        "<a class='info' href='#character_set'>Character Set and Escape
9341                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9342    </p>
9343    <p>The sampler will try to ask all sampler engines,
9344                        whether they support the given file and ask the first
9345                        engine with a positive answer for the amount of
9346                        instruments.
9347    </p>
9348    <p>Possible Answers:
9349    </p>
9350    <p>
9351                            </p>
9352    <blockquote class="text">
9353    <p>On success, the sampler will answer by
9354                                   returning the amount of instruments.
9355                                
9356    </p>
9357    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9358                                    </p>
9359    <blockquote class="text">
9360    <p>if the file could not be handled
9361    </p>
9362    </blockquote>
9363                                
9364    
9365    </blockquote><p>
9366                        
9367    </p>
9368    <p>Examples:
9369    </p>
9370    <p>
9371                            </p>
9372    <blockquote class="text">
9373    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9374    </p>
9375    <p>S: "10"
9376    </p>
9377    </blockquote><p>
9378                        
9379    </p>
9380    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9381    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9382    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9383    Retrieving all instruments of a file</h3>
9384    
9385    <p>The front-end can retrieve a list of all instruments
9386                        within a given instrument file by sending the
9387                        following command:
9388    </p>
9389    <p>
9390                            </p>
9391    <blockquote class="text">
9392    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9393    </p>
9394    </blockquote><p>
9395                        
9396    </p>
9397    <p>Where &lt;filename&gt; is the name of the instrument
9398                        file (encapsulated into apostrophes, supporting escape
9399                        sequences as described in chapter
9400                        "<a class='info' href='#character_set'>Character Set and Escape
9401                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9402    </p>
9403    <p>The sampler will try to ask all sampler engines,
9404                        whether they support the given file and ask the first
9405                        engine with a positive answer for a list of IDs for the
9406                        instruments in the given file.
9407    </p>
9408    <p>Possible Answers:
9409    </p>
9410    <p>
9411                            </p>
9412    <blockquote class="text">
9413    <p>On success, the sampler will answer by
9414                                   returning a comma separated list of
9415                                   instrument IDs.
9416                                
9417    </p>
9418    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9419                                    </p>
9420    <blockquote class="text">
9421    <p>if the file could not be handled
9422    </p>
9423    </blockquote>
9424                                
9425    
9426    </blockquote><p>
9427                        
9428    </p>
9429    <p>Examples:
9430    </p>
9431    <p>
9432                            </p>
9433    <blockquote class="text">
9434    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9435    </p>
9436    <p>S: "0,1,2,3,4,5,6,7,8,9"
9437    </p>
9438    </blockquote><p>
9439                        
9440    </p>
9441    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9442    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9443    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9444    Retrieving informations about one instrument in a file</h3>
9445    
9446    <p>The front-end can retrieve detailed informations
9447                        about a specific instrument within a given instrument
9448                        file by sending the following command:
9449    </p>
9450    <p>
9451                            </p>
9452    <blockquote class="text">
9453    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9454                                &lt;instr-id&gt;
9455    </p>
9456    </blockquote><p>
9457                        
9458    </p>
9459    <p>Where &lt;filename&gt; is the name of the instrument
9460                        file (encapsulated into apostrophes, supporting escape
9461                        sequences as described in chapter
9462                        "<a class='info' href='#character_set'>Character Set and Escape
9463                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9464                        instrument ID as returned by the
9465                        <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.
9466    </p>
9467    <p>The sampler will try to ask all sampler engines,
9468                        whether they support the given file and ask the first
9469                        engine with a positive answer for informations about the
9470                        specific instrument in the given file.
9471    </p>
9472    <p>Possible Answers:
9473    </p>
9474    <p>
9475                            </p>
9476    <blockquote class="text">
9477    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9478                                Each answer line begins with the settings category name
9479                                followed by a colon and then a space character &lt;SP&gt; and finally
9480                                the info character string to that setting category. At the
9481                                moment the following categories are defined:
9482    </p>
9483    <p>
9484                                    </p>
9485    <blockquote class="text">
9486    <p>NAME -
9487                                            </p>
9488    <blockquote class="text">
9489    <p>name of the instrument as
9490                                                stored in the instrument file
9491    </p>
9492    </blockquote>
9493                                        
9494    
9495    <p>FORMAT_FAMILY -
9496                                            </p>
9497    <blockquote class="text">
9498    <p>name of the sampler format
9499                                                of the given instrument
9500    </p>
9501    </blockquote>
9502                                        
9503    
9504    <p>FORMAT_VERSION -
9505                                            </p>
9506    <blockquote class="text">
9507    <p>version of the sampler format
9508                                                the instrumen is stored as
9509    </p>
9510    </blockquote>
9511                                        
9512    
9513    <p>PRODUCT -
9514                                            </p>
9515    <blockquote class="text">
9516    <p>official product name of the
9517                                                instrument as stored in the file
9518                                                
9519    </p>
9520    </blockquote>
9521                                        
9522    
9523    <p>ARTISTS -
9524                                            </p>
9525    <blockquote class="text">
9526    <p>artists / sample library
9527                                                vendor of the instrument
9528    </p>
9529    </blockquote>
9530                                        
9531    
9532    </blockquote>
9533                                
9534    
9535    </blockquote><p>
9536                        
9537    </p>
9538    <p>The mentioned fields above don't have to be in particular order.
9539    </p>
9540    <p>Example:
9541    </p>
9542    <p>
9543                            </p>
9544    <blockquote class="text">
9545    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9546    </p>
9547    <p>S: "NAME: Lunatic Loops"
9548    </p>
9549    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9550    </p>
9551    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9552    </p>
9553    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9554    </p>
9555    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9556    </p>
9557    <p>&nbsp;&nbsp;&nbsp;"."
9558    </p>
9559    </blockquote><p>
9560                        
9561    </p>
9562  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9563  <table 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>
9564  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 8898  Command Syntax</h3> Line 9674  Command Syntax</h3>
9674  <p>/ COPY SP copy_instruction  <p>/ COPY SP copy_instruction
9675                                    
9676  </p>  </p>
9677    <p>/ EDIT SP edit_instruction
9678                    
9679    </p>
9680    <p>/ FORMAT SP format_instruction
9681                    
9682    </p>
9683  <p>/ RESET  <p>/ RESET
9684                                    
9685  </p>  </p>
# Line 8913  Command Syntax</h3> Line 9695  Command Syntax</h3>
9695  <p>CHANNEL  <p>CHANNEL
9696                                    
9697  </p>  </p>
9698  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9699                    
9700    </p>
9701    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9702                                    
9703  </p>  </p>
9704  <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9705                                    
9706  </p>  </p>
9707  <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9708                                    
9709  </p>  </p>
9710  <p>/ DB_INSTRUMENTS SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9711                                    
9712  </p>  </p>
9713  <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index  <p>/ DB_INSTRUMENTS SP db_path SP filename
9714                    
9715    </p>
9716    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9717                                    
9718  </p>  </p>
9719  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
# Line 8955  Command Syntax</h3> Line 9743  Command Syntax</h3>
9743  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9744                                    
9745  </p>  </p>
9746    <p>/ CHANNEL_MIDI
9747                    
9748    </p>
9749    <p>/ DEVICE_MIDI
9750                    
9751    </p>
9752  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9753                                    
9754  </p>  </p>
# Line 8997  Command Syntax</h3> Line 9791  Command Syntax</h3>
9791  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9792                                    
9793  </p>  </p>
9794    <p>/ DB_INSTRUMENTS_JOB_INFO
9795                    
9796    </p>
9797  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9798                                    
9799  </p>  </p>
9800    <p>/ TOTAL_STREAM_COUNT
9801                    
9802    </p>
9803  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9804                                    
9805  </p>  </p>
# Line 9027  Command Syntax</h3> Line 9827  Command Syntax</h3>
9827  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
9828                                    
9829  </p>  </p>
9830    <p>/ CHANNEL_MIDI
9831                    
9832    </p>
9833    <p>/ DEVICE_MIDI
9834                    
9835    </p>
9836  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
9837                                    
9838  </p>  </p>
# Line 9069  Command Syntax</h3> Line 9875  Command Syntax</h3>
9875  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
9876                                    
9877  </p>  </p>
9878    <p>/ DB_INSTRUMENTS_JOB_INFO
9879                    
9880    </p>
9881  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9882                                    
9883  </p>  </p>
9884    <p>/ TOTAL_STREAM_COUNT
9885                    
9886    </p>
9887  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9888                                    
9889  </p>  </p>
# Line 9120  Command Syntax</h3> Line 9932  Command Syntax</h3>
9932  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
9933                                    
9934  </p>  </p>
9935  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9936                                    
9937  </p>  </p>
9938  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9939                                    
9940  </p>  </p>
9941  <p>/ DB_INSTRUMENT SP pathname  <p>/ DB_INSTRUMENT SP db_path
9942                                    
9943  </p>  </p>
9944  </blockquote><p>  </blockquote><p>
# Line 9207  Command Syntax</h3> Line 10019  Command Syntax</h3>
10019  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
10020                                    
10021  </p>  </p>
10022    <p>/ TOTAL_STREAM_COUNT
10023                    
10024    </p>
10025  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10026                                    
10027  </p>  </p>
# Line 9234  Command Syntax</h3> Line 10049  Command Syntax</h3>
10049  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
10050                                    
10051  </p>  </p>
10052  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10053                    
10054    </p>
10055    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10056                                    
10057  </p>  </p>
10058  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
10059                                    
10060  </p>  </p>
10061  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname  <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10062                                    
10063  </p>  </p>
10064  <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENTS SP db_path
10065                                    
10066  </p>  </p>
10067  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENT SP INFO SP db_path
10068                                    
10069  </p>  </p>
10070  <p>/ DB_INSTRUMENT SP INFO SP pathname  <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
10071                                    
10072  </p>  </p>
10073  <p>/ VOLUME  <p>/ VOLUME
10074                                    
10075  </p>  </p>
10076    <p>/ FILE SP INSTRUMENTS SP filename
10077                    
10078    </p>
10079    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
10080                    
10081    </p>
10082  </blockquote><p>  </blockquote><p>
10083    
10084  </p>  </p>
# Line 9270  Command Syntax</h3> Line 10094  Command Syntax</h3>
10094  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10095                                    
10096  </p>  </p>
10097    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
10098                    
10099    </p>
10100  <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
10101                                    
10102  </p>  </p>
# Line 9291  Command Syntax</h3> Line 10118  Command Syntax</h3>
10118  <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
10119                                    
10120  </p>  </p>
10121  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10122                    
10123    </p>
10124    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10125                                    
10126  </p>  </p>
10127  <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10128                                    
10129  </p>  </p>
10130  <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10131                                    
10132  </p>  </p>
10133  <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10134                                    
10135  </p>  </p>
10136  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
# Line 9360  Command Syntax</h3> Line 10190  Command Syntax</h3>
10190  <p>find_instruction =  <p>find_instruction =
10191          </p>          </p>
10192  <blockquote class="text">  <blockquote class="text">
10193  <p>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list  <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10194                                    
10195  </p>  </p>
10196  <p>/ DB_INSTRUMENTS SP pathname SP query_val_list  <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10197                                    
10198  </p>  </p>
10199  <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list  <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10200                                    
10201  </p>  </p>
10202  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10203                    
10204    </p>
10205    <p>/ LOST SP DB_INSTRUMENT_FILES
10206                                    
10207  </p>  </p>
10208  </blockquote><p>  </blockquote><p>
# Line 9378  Command Syntax</h3> Line 10211  Command Syntax</h3>
10211  <p>move_instruction =  <p>move_instruction =
10212          </p>          </p>
10213  <blockquote class="text">  <blockquote class="text">
10214  <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname  <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10215                                    
10216  </p>  </p>
10217  <p>/ DB_INSTRUMENT SP pathname SP pathname  <p>/ DB_INSTRUMENT SP db_path SP db_path
10218                                    
10219  </p>  </p>
10220  </blockquote><p>  </blockquote><p>
# Line 9390  Command Syntax</h3> Line 10223  Command Syntax</h3>
10223  <p>copy_instruction =  <p>copy_instruction =
10224          </p>          </p>
10225  <blockquote class="text">  <blockquote class="text">
10226  <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname  <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10227                                    
10228  </p>  </p>
10229  <p>/ DB_INSTRUMENT SP pathname SP pathname  <p>/ DB_INSTRUMENT SP db_path SP db_path
10230                                    
10231  </p>  </p>
10232  </blockquote><p>  </blockquote><p>
# Line 9474  Command Syntax</h3> Line 10307  Command Syntax</h3>
10307  </blockquote><p>  </blockquote><p>
10308    
10309  </p>  </p>
10310    <p>edit_instruction =
10311            </p>
10312    <blockquote class="text">
10313    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10314                    
10315    </p>
10316    </blockquote><p>
10317    
10318    </p>
10319    <p>format_instruction =
10320            </p>
10321    <blockquote class="text">
10322    <p>INSTRUMENTS_DB
10323                    
10324    </p>
10325    </blockquote><p>
10326    
10327    </p>
10328  <p>modal_arg =  <p>modal_arg =
10329          </p>          </p>
10330  <blockquote class="text">  <blockquote class="text">
# Line 9543  Command Syntax</h3> Line 10394  Command Syntax</h3>
10394  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
10395                                    
10396  </p>  </p>
10397  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10398                    
10399    </p>
10400    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10401                                    
10402  </p>  </p>
10403  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10404                                    
10405  </p>  </p>
10406  <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENTS SP db_path
10407                                    
10408  </p>  </p>
10409  <p>/ DB_INSTRUMENTS SP pathname  <p>/ FILE SP INSTRUMENTS SP filename
10410                                    
10411  </p>  </p>
10412  </blockquote><p>  </blockquote><p>
# Line 9735  Command Syntax</h3> Line 10589  Command Syntax</h3>
10589  </blockquote><p>  </blockquote><p>
10590    
10591  </p>  </p>
10592  <p>pathname =  <p>filename =
         </p>  
 <blockquote class="text">  
 <p>stringval  
                   
 </p>  
 </blockquote><p>  
   
 </p>  
 <p>dirname =  
10593          </p>          </p>
10594  <blockquote class="text">  <blockquote class="text">
10595  <p>stringval  <p>path
10596                                    
10597  </p>  </p>
10598  </blockquote><p>  </blockquote><p>
10599    
10600  </p>  </p>
10601  <p>filename =  <p>db_path =
10602          </p>          </p>
10603  <blockquote class="text">  <blockquote class="text">
10604  <p>stringval  <p>path
10605                                    
10606  </p>  </p>
10607  </blockquote><p>  </blockquote><p>
# Line 9765  Command Syntax</h3> Line 10610  Command Syntax</h3>
10610  <p>map_name =  <p>map_name =
10611          </p>          </p>
10612  <blockquote class="text">  <blockquote class="text">
10613  <p>stringval  <p>stringval_escaped
10614                                    
10615  </p>  </p>
10616  </blockquote><p>  </blockquote><p>
# Line 9774  Command Syntax</h3> Line 10619  Command Syntax</h3>
10619  <p>entry_name =  <p>entry_name =
10620          </p>          </p>
10621  <blockquote class="text">  <blockquote class="text">
10622  <p>stringval  <p>stringval_escaped
10623                                    
10624  </p>  </p>
10625  </blockquote><p>  </blockquote><p>
# Line 9783  Command Syntax</h3> Line 10628  Command Syntax</h3>
10628  <p>fx_send_name =  <p>fx_send_name =
10629          </p>          </p>
10630  <blockquote class="text">  <blockquote class="text">
10631  <p>stringval  <p>stringval_escaped
10632                                    
10633  </p>  </p>
10634  </blockquote><p>  </blockquote><p>
# Line 9834  Command Syntax</h3> Line 10679  Command Syntax</h3>
10679  <p>query_val =  <p>query_val =
10680          </p>          </p>
10681  <blockquote class="text">  <blockquote class="text">
10682  <p>string  <p>text_escaped
10683                                    
10684  </p>  </p>
10685  <p>/ stringval  <p>/ stringval_escaped
10686                    
10687    </p>
10688    </blockquote><p>
10689    
10690    </p>
10691    <p>scan_mode =
10692            </p>
10693    <blockquote class="text">
10694    <p>RECURSIVE
10695                    
10696    </p>
10697    <p>/ NON_RECURSIVE
10698                    
10699    </p>
10700    <p>/ FLAT
10701                                    
10702  </p>  </p>
10703  </blockquote><p>  </blockquote><p>
10704    
10705  </p>  </p>
10706    <a name="character_set"></a><br /><hr />
10707    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10708    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10709    Character Set and Escape Sequences</h3>
10710    
10711    <p>Older versions of this protocol up to and including v1.1 only
10712                    supported the standard ASCII character set (ASCII code 0 - 127)
10713                    <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
10714                    however support the Extended ASCII character set (ASCII code
10715                    0 - 255). The same group of younger protocols also support
10716                    escape sequences, but only for certain, explicitly declared
10717                    parts of the protocol. The supported escape sequences are
10718                    defined as follows:
10719    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10720    <col align="left"><col align="left">
10721    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10722    <tr>
10723    <td align="left">\n</td>
10724    <td align="left">new line</td>
10725    </tr>
10726    <tr>
10727    <td align="left">\r</td>
10728    <td align="left">carriage return</td>
10729    </tr>
10730    <tr>
10731    <td align="left">\f</td>
10732    <td align="left">form feed</td>
10733    </tr>
10734    <tr>
10735    <td align="left">\t</td>
10736    <td align="left">horizontal tab</td>
10737    </tr>
10738    <tr>
10739    <td align="left">\v</td>
10740    <td align="left">vertical tab</td>
10741    </tr>
10742    <tr>
10743    <td align="left">\'</td>
10744    <td align="left">apostrophe</td>
10745    </tr>
10746    <tr>
10747    <td align="left">\"</td>
10748    <td align="left">quotation mark</td>
10749    </tr>
10750    <tr>
10751    <td align="left">\\</td>
10752    <td align="left">backslash</td>
10753    </tr>
10754    <tr>
10755    <td align="left">\OOO</td>
10756    <td align="left">three digit octal ASCII code of the character</td>
10757    </tr>
10758    <tr>
10759    <td align="left">\xHH</td>
10760    <td align="left">two digit hex ASCII code of the character</td>
10761    </tr>
10762    </table>
10763    <br clear="all" />
10764    
10765    <p>Notice: due to the transition of certain parts of the
10766                    protocol which now support escape sequences, a slight backward
10767                    incompatibility to protocols version v1.1 and younger has been
10768                    introduced. The only difference is that in parts of the protocol
10769                    where escape characters are now supported, a backslash characters
10770                    MUST be escaped as well (that is as double backslash), whereas
10771                    in the old versions a single backslash was sufficient.
10772    </p>
10773    <p>The following LSCP commands support escape sequences as part
10774                    of their filename / path based arguments and / or may contain
10775                    a filename / path with escape sequences in their response:
10776                    </p>
10777    <blockquote class="text">
10778    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10779    </p>
10780    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10781    </p>
10782    <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>
10783    </p>
10784    <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>
10785    </p>
10786    <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>
10787    </p>
10788    <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>
10789    </p>
10790    <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>
10791    </p>
10792    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10793    </p>
10794    <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>
10795    </p>
10796    <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>
10797    </p>
10798    <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>
10799    </p>
10800    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10801    </p>
10802    <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>
10803    </p>
10804    <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>
10805    </p>
10806    <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>
10807    </p>
10808    <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>
10809    </p>
10810    <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>
10811    </p>
10812    <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>
10813    </p>
10814    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10815    </p>
10816    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10817    </p>
10818    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10819    </p>
10820    <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>
10821    </p>
10822    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10823    </p>
10824    <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>
10825    </p>
10826    <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>
10827    </p>
10828    <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>
10829    </p>
10830    <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>
10831    </p>
10832    <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>
10833    </p>
10834    <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>
10835    </p>
10836    </blockquote><p>
10837                    Note that the forward slash character ('/') has a special meaning in
10838                    filename / path based arguments: it acts as separator of the nodes in
10839                    the path, thus if a directory- or filename includes a forward slash
10840                    (not intended as path node separator), you MUST escape that slash
10841                    either with the respective hex escape sequence ("\x2f") or with the
10842                    respective octal escape sequence ("\057").
10843                    
10844    </p>
10845    <p>
10846                    Note for Windows: file path arguments in LSCP are expected
10847                    to use forward slashes as directory node separator similar
10848                    to Unix based operating systems. In contrast to Unix however
10849                    a Windows typical drive character is expected to be
10850                    prefixed to the path. That is an original Windows file path
10851                    like "D:\Sounds\My.gig" would become in LSCP:
10852                    "D:/Sounds/My.gig".
10853                    
10854    </p>
10855    <p>
10856                    The following LSCP commands even support escape sequences as
10857                    part of at least one of their text-based arguments (i.e. entity name,
10858                    description) and / or may contain escape sequences in at least one of
10859                    their text-based fields in their response:
10860                    </p>
10861    <blockquote class="text">
10862    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10863    </p>
10864    <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>
10865    </p>
10866    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10867    </p>
10868    <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>
10869    </p>
10870    <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>
10871    </p>
10872    <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>
10873    </p>
10874    <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>
10875    </p>
10876    <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>
10877    </p>
10878    <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>
10879    </p>
10880    <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>
10881    </p>
10882    <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>
10883    </p>
10884    <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>
10885    </p>
10886    <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>
10887    </p>
10888    <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>
10889    </p>
10890    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10891    </p>
10892    <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>
10893    </p>
10894    <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>
10895    </p>
10896    <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>
10897    </p>
10898    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10899    </p>
10900    </blockquote><p>
10901                    Please note that these lists are manually maintained. If you
10902                    find a command that also supports escape sequences we forgot to
10903                    mention here, please report it!
10904                    
10905    </p>
10906  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10907  <table 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>
10908  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 10003  Number of sampler channels changed</h3> Line 11063  Number of sampler channels changed</h3>
11063  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
11064                  of sampler channels.                  of sampler channels.
11065  </p>  </p>
11066  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
11067  <table 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>
11068  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
11069    MIDI data on a sampler channel arrived</h3>
11070    
11071    <p>Client may want to be notified when MIDI data arrive on sampler channels on
11072                    back-end side, by issuing the following command:
11073    </p>
11074    <p>
11075                        </p>
11076    <blockquote class="text">
11077    <p>SUBSCRIBE CHANNEL_MIDI
11078    </p>
11079    </blockquote><p>
11080                    
11081    </p>
11082    <p>Server will start sending one of the the following notification messages:
11083    </p>
11084    <p>
11085                        </p>
11086    <blockquote class="text">
11087    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
11088    </p>
11089    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11090    </p>
11091    </blockquote><p>
11092                    
11093    </p>
11094    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
11095                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11096                    0 .. 127, reflecting the analog meaning of the MIDI specification.
11097                    
11098    </p>
11099    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11100                    delivered by this mechanism! With other words: events could be lost at any time!
11101                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11102                    thread unaffected by this feature.
11103    </p>
11104    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
11105    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11106    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
11107    MIDI data on a MIDI input device arrived</h3>
11108    
11109    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
11110    </p>
11111    <p>
11112                                </p>
11113    <blockquote class="text">
11114    <p>SUBSCRIBE DEVICE_MIDI
11115    </p>
11116    </blockquote><p>
11117                        
11118    </p>
11119    <p>Server will start sending one of the the following notification messages:
11120    </p>
11121    <p>
11122                                </p>
11123    <blockquote class="text">
11124    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11125    </p>
11126    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11127    </p>
11128    </blockquote><p>
11129                        
11130    </p>
11131    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11132                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11133                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11134                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11135                        
11136    </p>
11137    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11138                           delivered by this mechanism! With other words: events could be lost at any time!
11139                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11140                           thread unaffected by this feature.
11141    </p>
11142    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11143    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11144    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11145  Number of active voices changed</h3>  Number of active voices changed</h3>
11146    
11147  <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 10035  Number of active voices changed</h3> Line 11171  Number of active voices changed</h3>
11171  </p>  </p>
11172  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11173  <table 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>
11174  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11175  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
11176    
11177  <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 10065  Number of active disk streams changed</h Line 11201  Number of active disk streams changed</h
11201  </p>  </p>
11202  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11203  <table 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>
11204  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11205  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
11206    
11207  <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 10096  Disk stream buffer fill state changed</h Line 11232  Disk stream buffer fill state changed</h
11232  </p>  </p>
11233  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11234  <table 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>
11235  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11236  Channel information changed</h3>  Channel information changed</h3>
11237    
11238  <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 10129  Channel information changed</h3> Line 11265  Channel information changed</h3>
11265  </p>  </p>
11266  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_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>  <table 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.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11269  Number of effect sends changed</h3>  Number of effect sends changed</h3>
11270    
11271  <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
11272                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
11273  </p>  </p>
11274  <p>  <p>
# Line 10159  Number of effect sends changed</h3> Line 11295  Number of effect sends changed</h3>
11295  </p>  </p>
11296  <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_INFO"></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.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11299  Effect send information changed</h3>  Effect send information changed</h3>
11300    
11301  <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 10189  Effect send information changed</h3> Line 11325  Effect send information changed</h3>
11325  </p>  </p>
11326  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></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.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11329  Total number of active voices changed</h3>  Total number of active voices changed</h3>
11330    
11331  <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 10216  Total number of active voices changed</h Line 11352  Total number of active voices changed</h
11352  <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
11353                  all currently active voices.                  all currently active voices.
11354  </p>  </p>
11355    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11356    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11357    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11358    Total number of active disk streams changed</h3>
11359    
11360    <p>Client may want to be notified when the total number of disk streams on the
11361                    back-end changes by issuing the following command:
11362    </p>
11363    <p>
11364                        </p>
11365    <blockquote class="text">
11366    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11367    </p>
11368    </blockquote><p>
11369                    
11370    </p>
11371    <p>Server will start sending the following notification messages:
11372    </p>
11373    <p>
11374                        </p>
11375    <blockquote class="text">
11376    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11377    </p>
11378    </blockquote><p>
11379                    
11380    </p>
11381    <p>where &lt;streams&gt; will be replaced by the new number of
11382                    all currently active disk streams.
11383    </p>
11384  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11385  <table 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>
11386  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11387  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
11388    
11389  <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 10247  Number of MIDI instrument maps changed</ Line 11412  Number of MIDI instrument maps changed</
11412  </p>  </p>
11413  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11414  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11415  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11416  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
11417    
11418  <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 10280  MIDI instrument map information changed< Line 11445  MIDI instrument map information changed<
11445  </p>  </p>
11446  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11447  <table 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>
11448  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11449  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
11450    
11451  <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 10310  Number of MIDI instruments changed</h3> Line 11475  Number of MIDI instruments changed</h3>
11475  </p>  </p>
11476  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11477  <table 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>
11478  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11479  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
11480    
11481  <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 10344  MIDI instrument information changed</h3> Line 11509  MIDI instrument information changed</h3>
11509  </p>  </p>
11510  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11511  <table 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>
11512  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;  <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11513  Global settings changed</h3>  Global settings changed</h3>
11514    
11515  <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 10373  Global settings changed</h3> Line 11538  Global settings changed</h3>
11538  </p>  </p>
11539  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11540  <table 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>
11541  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11542  Number of database instrument directories changed</h3>  Number of database instrument directories changed</h3>
11543    
11544  <p>Client may want to be notified when the number of instrument  <p>Client may want to be notified when the number of instrument
# Line 10407  Number of database instrument directorie Line 11572  Number of database instrument directorie
11572  </p>  </p>
11573  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11574  <table 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>
11575  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11576  Database instrument directory information changed</h3>  Database instrument directory information changed</h3>
11577    
11578  <p>Client may want to be notified when changes were made to directories  <p>Client may want to be notified when changes were made to directories
# Line 10452  Database instrument directory informatio Line 11617  Database instrument directory informatio
11617  </p>  </p>
11618  <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11619  <table 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>
11620  <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;  <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11621  Number of database instruments changed</h3>  Number of database instruments changed</h3>
11622    
11623  <p>Client may want to be notified when the number of instruments  <p>Client may want to be notified when the number of instruments
# Line 10486  Number of database instruments changed</ Line 11651  Number of database instruments changed</
11651  </p>  </p>
11652  <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11653  <table 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>
11654  <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;  <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11655  Database instrument information changed</h3>  Database instrument information changed</h3>
11656    
11657  <p>Client may want to be notified when changes were made to instruments  <p>Client may want to be notified when changes were made to instruments
# Line 10529  Database instrument information changed< Line 11694  Database instrument information changed<
11694                  (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is                  (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11695                  the new name of the instrument, encapsulated into apostrophes.                  the new name of the instrument, encapsulated into apostrophes.
11696  </p>  </p>
11697    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_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.25"></a><h3>8.25.&nbsp;
11700    Database job status information changed</h3>
11701    
11702    <p>Client may want to be notified when the status of particular database
11703                    instruments job is changed by issuing the following command:
11704    </p>
11705    <p>
11706                        </p>
11707    <blockquote class="text">
11708    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_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_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11719    </p>
11720    </blockquote><p>
11721                    
11722    </p>
11723    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11724                    which status is changed. The front-end will have to send the respective
11725                    command to actually get the status 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  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11731  <table 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>
11732  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;  <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
11733  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
11734    
11735  <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 10596  Acknowledgments</h3> Line 11794  Acknowledgments</h3>
11794  <table 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>
11795  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11796  <table width="99%" border="0">  <table width="99%" border="0">
11797    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11798    <td class="author-text">UCLA, &ldquo;<a href="http://tools.ietf.org/html/rfc20">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
11799  <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>
11800  <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="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
11801  <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>
11802  <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>  <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="http://tools.ietf.org/html/rfc2234">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>
11803  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
11804  <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>  <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="http://tools.ietf.org/html/rfc793">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>
11805  </table>  </table>
11806    
11807  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
# Line 10626  Schoenebeck</td></tr> Line 11826  Schoenebeck</td></tr>
11826  <table 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>
11827  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
11828  <p class='copyright'>  <p class='copyright'>
11829  Copyright &copy; The IETF Trust (2007).</p>  Copyright &copy; The IETF Trust (2008).</p>
11830  <p class='copyright'>  <p class='copyright'>
11831  This document is subject to the rights,  This document is subject to the rights,
11832  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 10668  or other Line 11868  or other
11868  proprietary rights that may cover technology that may be required  proprietary rights that may cover technology that may be required
11869  to implement this standard.  to implement this standard.
11870  Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>  Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
 <h3>Acknowledgment</h3>  
 <p class='copyright'>  
 Funding for the RFC Editor function is provided by  
 the IETF Administrative Support Activity (IASA).</p>  
11871  </body></html>  </body></html>

Legend:
Removed from v.1189  
changed lines
  Added in v.1731

  ViewVC Help
Powered by ViewVC