/[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 1805 by schoenebeck, Wed Dec 10 22:10:17 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: June 13, 2009</td><td class="header">December 10, 2008</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</h1>
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
# Line 173  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on November 17, 2007.</p>  This Internet-Draft will expire on June 13, 2009.</p>
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The IETF Trust (2007).</p>  
177    
178  <h3>Abstract</h3>  <h3>Abstract</h3>
179    
# Line 336  Altering effect send's audio routing<br Line 332  Altering effect send's audio routing<br
332  Altering effect send's MIDI controller<br />  Altering effect send's MIDI controller<br />
333  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
334  Altering effect send's send level<br />  Altering effect send's send level<br />
335  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SEND CHANNEL MIDI_DATA">6.4.34.</a>&nbsp;
336    Sending MIDI messages to sampler channel<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.35.</a>&nbsp;
338  Resetting a sampler channel<br />  Resetting a sampler channel<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
340  Controlling connection<br />  Controlling connection<br />
# Line 354  Global commands<br /> Line 352  Global commands<br />
352  Current number of active voices<br />  Current number of active voices<br />
353  &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;
354  Maximum amount of active voices<br />  Maximum amount of active voices<br />
355  &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;
356    Current number of active disk streams<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
358  Reset sampler<br />  Reset sampler<br />
359  &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;
360  General sampler informations<br />  General sampler informations<br />
361  &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;
362  Getting global volume attenuation<br />  Getting global volume attenuation<br />
363  &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;
364  Setting global volume attenuation<br />  Setting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOICES">6.6.8.</a>&nbsp;
366    Getting global voice limit<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOICES">6.6.9.</a>&nbsp;
368    Setting global voice limit<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET STREAMS">6.6.10.</a>&nbsp;
370    Getting global disk stream limit<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET STREAMS">6.6.11.</a>&nbsp;
372    Setting global disk stream limit<br />
373  &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;
374  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
375  &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;
376  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
377  &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;
378  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 430  Copying instruments<br /> Line 438  Copying instruments<br />
438  Changing the description of instrument<br />  Changing the description of instrument<br />
439  &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;
440  Finding instruments<br />  Finding instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
442    Getting job status information<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
444    Formatting the instruments database<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
446    Checking for lost instrument files<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
448    Replacing an instrument file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
450    Editing Instruments<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
452    Opening an appropriate instrument editor application<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
454    Managing Files<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
456    Retrieving amount of instruments of a file<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
458    Retrieving all instruments of a file<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
460    Retrieving informations about one instrument in a file<br />
461  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
462  Command Syntax<br />  Command Syntax<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
464    Character Set and Escape Sequences<br />
465  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
466  Events<br />  Events<br />
467  &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 474  Number of MIDI input devices changed<br
474  MIDI input device's settings changed<br />  MIDI input device's settings changed<br />
475  &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;
476  Number of sampler channels changed<br />  Number of sampler channels changed<br />
477  &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;
478    MIDI data on a sampler channel arrived<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
480    MIDI data on a MIDI input device arrived<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
482  Number of active voices changed<br />  Number of active voices changed<br />
483  &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;
484  Number of active disk streams changed<br />  Number of active disk streams changed<br />
485  &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;
486  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
487  &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;
488  Channel information changed<br />  Channel information changed<br />
489  &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;
490  Number of effect sends changed<br />  Number of effect sends changed<br />
491  &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;
492  Effect send information changed<br />  Effect send information changed<br />
493  &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;
494  Total number of active voices changed<br />  Total number of active voices changed<br />
495  &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;
496    Total number of active disk streams changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
498  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
499  &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;
500  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
501  &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;
502  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
503  &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;
504  MIDI instrument information changed<br />  MIDI instrument information changed<br />
505  &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;
506  Global settings changed<br />  Global settings changed<br />
507  &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;
508  Number of database instrument directories changed<br />  Number of database instrument directories changed<br />
509  &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;
510  Database instrument directory information changed<br />  Database instrument directory information changed<br />
511  &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;
512  Number of database instruments changed<br />  Number of database instruments changed<br />
513  &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;
514  Database instrument information changed<br />  Database instrument information changed<br />
515  &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;
516    Database job status information changed<br />
517    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
518  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
519  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
520  Security Considerations<br />  Security Considerations<br />
# Line 508  Requirements notation</h3> Line 546  Requirements notation</h3>
546              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
547              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
548              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
549              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>),
550              example:              thus the following example:
551  </p>  </p>
552  <p>  <p>
553                  </p>                  </p>
# Line 3295  Changing settings of MIDI input ports</h Line 3333  Changing settings of MIDI input ports</h
3333                      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>
3334                      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
3335                      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
3336                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3337                        for specifying no value for parameters allowing a list of values.
3338  </p>  </p>
3339  <p>Possible Answers:  <p>Possible Answers:
3340  </p>  </p>
# Line 3336  Changing settings of MIDI input ports</h Line 3375  Changing settings of MIDI input ports</h
3375  <p>  <p>
3376                          </p>                          </p>
3377  <blockquote class="text">  <blockquote class="text">
3378    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3379    </p>
3380    <p>S: "OK"
3381    </p>
3382    </blockquote><p>
3383                        
3384    </p>
3385  <p>  <p>
3386                            </p>
3387    <blockquote class="text">
3388    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3389    </p>
3390    <p>S: "OK"
3391  </p>  </p>
3392  </blockquote><p>  </blockquote><p>
3393                                            
# Line 3371  Loading an instrument</h3> Line 3422  Loading an instrument</h3>
3422                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3423                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3424  </p>  </p>
3425    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3426                        escape characters for special characters (see chapter
3427                        "<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>"
3428                        for details) and accordingly backslash characters in the filename
3429                        MUST now be escaped as well!
3430    </p>
3431  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3432                      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
3433                      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 3475  Loading an instrument</h3>
3475  </blockquote><p>  </blockquote><p>
3476                                            
3477  </p>  </p>
3478  <p>Example:  <p>Example (Unix):
3479  </p>  </p>
3480  <p>  <p>
3481                          </p>                          </p>
3482  <blockquote class="text">  <blockquote class="text">
3483    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3484    </p>
3485    <p>S: OK
3486    </p>
3487    </blockquote><p>
3488                        
3489    </p>
3490    <p>Example (Windows):
3491    </p>
3492  <p>  <p>
3493                            </p>
3494    <blockquote class="text">
3495    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3496    </p>
3497    <p>S: OK
3498  </p>  </p>
3499  </blockquote><p>  </blockquote><p>
3500                                            
# Line 3838  Getting information about an engine</h3> Line 3909  Getting information about an engine</h3>
3909                                          </p>                                          </p>
3910  <blockquote class="text">  <blockquote class="text">
3911  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3912                                                (note that the character string may contain
3913                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3914  </p>  </p>
3915  </blockquote>  </blockquote>
3916                                                                            
# Line 3923  Getting sampler channel information</h3> Line 3996  Getting sampler channel information</h3>
3996  <blockquote class="text">  <blockquote class="text">
3997  <p>numerical ID of the audio output device which is  <p>numerical ID of the audio output device which is
3998                                              currently connected to this sampler channel to output                                              currently connected to this sampler channel to output
3999                                              the audio signal, "NONE" if there's no device                                              the audio signal, "-1" if there's no device
4000                                              connected to this sampler channel                                              connected to this sampler channel
4001  </p>  </p>
4002  </blockquote>  </blockquote>
# Line 3957  Getting sampler channel information</h3> Line 4030  Getting sampler channel information</h3>
4030  <blockquote class="text">  <blockquote class="text">
4031  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4032                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4033                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4034                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4035  </p>  </p>
4036  </blockquote>  </blockquote>
4037                                                                            
# Line 3965  Getting sampler channel information</h3> Line 4039  Getting sampler channel information</h3>
4039  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4040                                          </p>                                          </p>
4041  <blockquote class="text">  <blockquote class="text">
4042  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument,
4043                                                "-1" if there's no instrument loaded for this sampler
4044                                                channel
4045  </p>  </p>
4046  </blockquote>  </blockquote>
4047                                                                            
# Line 3974  Getting sampler channel information</h3> Line 4050  Getting sampler channel information</h3>
4050                                          </p>                                          </p>
4051  <blockquote class="text">  <blockquote class="text">
4052  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4053                                                (note: since LSCP 1.2 this character string may contain
4054                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4055  </p>  </p>
4056  </blockquote>  </blockquote>
4057                                                                            
# Line 3981  Getting sampler channel information</h3> Line 4059  Getting sampler channel information</h3>
4059  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4060                                          </p>                                          </p>
4061  <blockquote class="text">  <blockquote class="text">
4062  <p>integer values 0 to 100 indicating loading progress percentage for the instrument. Negative  <p>Integer values 0 to 100 indicating loading progress
4063                                              value indicates a loading exception. Value of 100 indicates that the instrument is fully                                              percentage for the instrument. Negative
4064                                                value indicates a loading exception (also returns "-1" in case no
4065                                                instrument was yet to be loaded on the sampler channel).
4066                                                Value of 100 indicates that the instrument is fully
4067                                              loaded.                                              loaded.
4068  </p>  </p>
4069  </blockquote>  </blockquote>
# Line 3993  Getting sampler channel information</h3> Line 4074  Getting sampler channel information</h3>
4074  <blockquote class="text">  <blockquote class="text">
4075  <p>numerical ID of the MIDI input device which is  <p>numerical ID of the MIDI input device which is
4076                                              currently connected to this sampler channel to deliver                                              currently connected to this sampler channel to deliver
4077                                              MIDI input commands, "NONE" if there's no device                                              MIDI input commands, "-1" if there's no device
4078                                              connected to this sampler channel                                              connected to this sampler channel
4079  </p>  </p>
4080  </blockquote>  </blockquote>
# Line 4002  Getting sampler channel information</h3> Line 4083  Getting sampler channel information</h3>
4083  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4084                                          </p>                                          </p>
4085  <blockquote class="text">  <blockquote class="text">
4086  <p>port number of the MIDI input device  <p>port number of the MIDI input device (in case a
4087                                                MIDI device was already assigned to the sampler
4088                                                channel)
4089  </p>  </p>
4090  </blockquote>  </blockquote>
4091                                                                            
# Line 5049  Adding an effect send to a sampler chann Line 5132  Adding an effect send to a sampler chann
5132                      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;
5133                      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
5134                      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
5135                      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
5136                        encapsulated into apostrophes and supports escape sequences as described in chapter
5137                        "<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>".
5138  </p>  </p>
5139  <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
5140                      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 5403  Getting effect send information</h3>
5403                                          </p>                                          </p>
5404  <blockquote class="text">  <blockquote class="text">
5405  <p>name of the effect send entity  <p>name of the effect send entity
5406                                                (note that this character string may contain
5407                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5408  </p>  </p>
5409  </blockquote>  </blockquote>
5410                                                                            
# Line 5408  Changing effect send's name</h3> Line 5495  Changing effect send's name</h3>
5495                      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>
5496                      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
5497                      &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
5498                      does not have to be unique.                      does not have to be unique (name MUST be encapsulated into apostrophes
5499                        and supports escape sequences as described in chapter
5500                        "<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>").
5501                        
5502  </p>  </p>
5503  <p>Possible Answers:  <p>Possible Answers:
5504  </p>  </p>
# Line 5672  Altering effect send's send level</h3> Line 5762  Altering effect send's send level</h3>
5762  </blockquote><p>  </blockquote><p>
5763                                            
5764  </p>  </p>
5765  <a name="RESET CHANNEL"></a><br /><hr />  <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5766  <table 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>
5767  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5768    Sending MIDI messages to sampler channel</h3>
5769    
5770    <p>The front-end can send MIDI events to specific sampler channel
5771                        by sending the following command:
5772    </p>
5773    <p>
5774                            </p>
5775    <blockquote class="text">
5776    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5777    </p>
5778    </blockquote><p>
5779                        
5780    </p>
5781    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5782                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5783                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5784                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5785                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5786    </p>
5787    <p>
5788                            </p>
5789    <blockquote class="text">
5790    <p>"NOTE_ON" -
5791                                    </p>
5792    <blockquote class="text">
5793    <p>For turning on MIDI notes, where &lt;arg1&gt;
5794                                        specifies the key number and &lt;arg2&gt; the velocity
5795                                        as described in the MIDI specification.
5796    </p>
5797    </blockquote>
5798                                
5799    
5800    <p>"NOTE_OFF" -
5801                                    </p>
5802    <blockquote class="text">
5803    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
5804                                        specifies the key number and &lt;arg2&gt; the velocity
5805                                        as described in the MIDI specification.
5806    </p>
5807    </blockquote>
5808                                
5809    
5810    </blockquote><p>
5811                        
5812    </p>
5813    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
5814                        and no realtime guarantee whatsoever will be made!
5815    </p>
5816    <p>Possible Answers:
5817    </p>
5818    <p>
5819                            </p>
5820    <blockquote class="text">
5821    <p>"OK" -
5822                                    </p>
5823    <blockquote class="text">
5824    <p>on success
5825    </p>
5826    </blockquote>
5827                                
5828    
5829    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5830                                    </p>
5831    <blockquote class="text">
5832    <p>in case it failed, providing an appropriate error code and error message
5833    </p>
5834    </blockquote>
5835                                
5836    
5837    </blockquote><p>
5838                        
5839    </p>
5840    <p>Example:
5841    </p>
5842    <p>
5843                            </p>
5844    <blockquote class="text">
5845    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
5846    </p>
5847    <p>S: "OK"
5848    </p>
5849    </blockquote><p>
5850                        
5851    </p>
5852    <a name="RESET CHANNEL"></a><br /><hr />
5853    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5854    <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5855  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5856    
5857  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>The front-end can reset a particular sampler channel by sending the following command:
# Line 6009  Maximum amount of active voices</h3> Line 6186  Maximum amount of active voices</h3>
6186  </blockquote><p>  </blockquote><p>
6187                                            
6188  </p>  </p>
6189  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6190  <table 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>
6191  <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;
6192    Current number of active disk streams</h3>
6193    
6194    <p>The front-end can ask for the current number of active disk streams on
6195                        the sampler by sending the following command:
6196    </p>
6197    <p>
6198                            </p>
6199    <blockquote class="text">
6200    <p>GET TOTAL_STREAM_COUNT
6201    </p>
6202    </blockquote><p>
6203                        
6204    </p>
6205    <p>Possible Answers:
6206    </p>
6207    <p>
6208                            </p>
6209    <blockquote class="text">
6210    <p>LinuxSampler will answer by returning the number of all active
6211                                disk streams on the sampler.
6212    </p>
6213    </blockquote><p>
6214                        
6215    </p>
6216    <a name="RESET"></a><br /><hr />
6217    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6218    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6219  Reset sampler</h3>  Reset sampler</h3>
6220    
6221  <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 6256  Reset sampler</h3>
6256  </p>  </p>
6257  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6258  <table 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>
6259  <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;
6260  General sampler informations</h3>  General sampler informations</h3>
6261    
6262  <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 6289  General sampler informations</h3>
6289                                          </p>                                          </p>
6290  <blockquote class="text">  <blockquote class="text">
6291  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6292                                                (note that the character string may contain
6293                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6294  </p>  </p>
6295  </blockquote>  </blockquote>
6296                                                                            
# Line 6126  General sampler informations</h3> Line 6332  General sampler informations</h3>
6332  </p>  </p>
6333  <a name="GET VOLUME"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6334  <table 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>
6335  <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;
6336  Getting global volume attenuation</h3>  Getting global volume attenuation</h3>
6337    
6338  <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 6365  Getting global volume attenuation</h3>
6365  </p>  </p>
6366  <a name="SET VOLUME"></a><br /><hr />  <a name="SET VOLUME"></a><br /><hr />
6367  <table 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>
6368  <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;
6369  Setting global volume attenuation</h3>  Setting global volume attenuation</h3>
6370    
6371  <p>The client can alter the current global sampler-wide volume  <p>The client can alter the current global sampler-wide volume
# Line 6212  Setting global volume attenuation</h3> Line 6418  Setting global volume attenuation</h3>
6418  </blockquote><p>  </blockquote><p>
6419                                            
6420  </p>  </p>
6421    <a name="GET VOICES"></a><br /><hr />
6422    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6423    <a name="rfc.section.6.6.8"></a><h3>6.6.8.&nbsp;
6424    Getting global voice limit</h3>
6425    
6426    <p>The client can ask for the current global sampler-wide limit
6427                           for maximum voices by sending the following command:
6428    </p>
6429    <p>
6430                            </p>
6431    <blockquote class="text">
6432    <p>GET VOICES
6433    </p>
6434    </blockquote><p>
6435                        
6436    </p>
6437    <p>Possible Answers:
6438    </p>
6439    <p>
6440                            </p>
6441    <blockquote class="text">
6442    <p>LinuxSampler will answer by returning the number for
6443                                   the current limit of maximum voices.
6444    </p>
6445    </blockquote><p>
6446                        
6447    </p>
6448    <p>The voice limit setting defines how many voices should maximum
6449                           be processed by the sampler at the same time. If the user
6450                           triggers new notes which would exceed that voice limit, the
6451                           sampler engine will react by stealing old voices for those
6452                           newly triggered notes. Note that the amount of voices triggered
6453                           by a new note can be larger than one and is dependent to the
6454                           respective instrument and probably further criterias.
6455    </p>
6456    <a name="SET VOICES"></a><br /><hr />
6457    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6458    <a name="rfc.section.6.6.9"></a><h3>6.6.9.&nbsp;
6459    Setting global voice limit</h3>
6460    
6461    <p>The client can alter the current global sampler-wide limit
6462                        for maximum voices by sending the following command:
6463    </p>
6464    <p>
6465                            </p>
6466    <blockquote class="text">
6467    <p>SET VOICES &lt;max-voices&gt;
6468    </p>
6469    </blockquote><p>
6470                        
6471    </p>
6472    <p>Where &lt;max-voices&gt; should be replaced by the integer
6473                       value, reflecting the new global amount limit of maximum voices.
6474                       This value has to be larger than 0.
6475    </p>
6476    <p>Possible Answers:
6477    </p>
6478    <p>
6479                            </p>
6480    <blockquote class="text">
6481    <p>"OK" -
6482                                    </p>
6483    <blockquote class="text">
6484    <p>on success
6485    </p>
6486    </blockquote>
6487                                
6488    
6489    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6490                                    </p>
6491    <blockquote class="text">
6492    <p>if the voice limit was set, but there are noteworthy
6493                                        issue(s) related, providing an appropriate warning code and
6494                                        warning message
6495    </p>
6496    </blockquote>
6497                                
6498    
6499    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6500                                    </p>
6501    <blockquote class="text">
6502    <p>in case it failed, providing an appropriate error code and error message
6503    </p>
6504    </blockquote>
6505                                
6506    
6507    </blockquote><p>
6508                        
6509    </p>
6510    <p>Note: the given value will be passed to all sampler engine instances.
6511                           The total amount of maximum voices on the running system might thus
6512                           be as big as the given value multiplied by the current amount of engine
6513                           instances.
6514    </p>
6515    <p>Caution: when adjusting the voice limit, you SHOULD also
6516                            adjust the disk stream limit respectively and vice versa.
6517    </p>
6518    <a name="GET STREAMS"></a><br /><hr />
6519    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6520    <a name="rfc.section.6.6.10"></a><h3>6.6.10.&nbsp;
6521    Getting global disk stream limit</h3>
6522    
6523    <p>The client can ask for the current global sampler-wide limit
6524                           for maximum disk streams by sending the following command:
6525    </p>
6526    <p>
6527                            </p>
6528    <blockquote class="text">
6529    <p>GET STREAMS
6530    </p>
6531    </blockquote><p>
6532                        
6533    </p>
6534    <p>Possible Answers:
6535    </p>
6536    <p>
6537                            </p>
6538    <blockquote class="text">
6539    <p>LinuxSampler will answer by returning the number for
6540                                   the current limit of maximum disk streams.
6541    </p>
6542    </blockquote><p>
6543                        
6544    </p>
6545    <p>The disk stream limit setting defines how many disk streams should
6546                           maximum be processed by a sampler engine at the same time. The
6547                           higher this value, the more memory (RAM) will be occupied, since
6548                           every disk streams allocates a certain buffer size for being able
6549                           to perform its streaming operations.
6550    </p>
6551    <a name="SET STREAMS"></a><br /><hr />
6552    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6553    <a name="rfc.section.6.6.11"></a><h3>6.6.11.&nbsp;
6554    Setting global disk stream limit</h3>
6555    
6556    <p>The client can alter the current global sampler-wide limit
6557                        for maximum disk streams by sending the following command:
6558    </p>
6559    <p>
6560                            </p>
6561    <blockquote class="text">
6562    <p>SET STREAMS &lt;max-streams&gt;
6563    </p>
6564    </blockquote><p>
6565                        
6566    </p>
6567    <p>Where &lt;max-streams&gt; should be replaced by the integer
6568                       value, reflecting the new global amount limit of maximum disk streams.
6569                       This value has to be positive.
6570    </p>
6571    <p>Possible Answers:
6572    </p>
6573    <p>
6574                            </p>
6575    <blockquote class="text">
6576    <p>"OK" -
6577                                    </p>
6578    <blockquote class="text">
6579    <p>on success
6580    </p>
6581    </blockquote>
6582                                
6583    
6584    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6585                                    </p>
6586    <blockquote class="text">
6587    <p>if the disk stream limit was set, but there are noteworthy
6588                                        issue(s) related, providing an appropriate warning code and
6589                                        warning message
6590    </p>
6591    </blockquote>
6592                                
6593    
6594    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6595                                    </p>
6596    <blockquote class="text">
6597    <p>in case it failed, providing an appropriate error code and error message
6598    </p>
6599    </blockquote>
6600                                
6601    
6602    </blockquote><p>
6603                        
6604    </p>
6605    <p>Note: the given value will be passed to all sampler engine instances.
6606                           The total amount of maximum disk streams on the running system might
6607                           thus be as big as the given value multiplied by the current amount of
6608                           engine instances.
6609    </p>
6610    <p>Caution: when adjusting the disk stream limit, you SHOULD also
6611                            adjust the voice limit respectively and vice versa.
6612    </p>
6613  <a name="MIDI Instrument Mapping"></a><br /><hr />  <a name="MIDI Instrument Mapping"></a><br /><hr />
6614  <table 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>
6615  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
# Line 6246  MIDI Instrument Mapping</h3> Line 6644  MIDI Instrument Mapping</h3>
6644                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6645                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6646  </p>  </p>
6647  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6648  <table 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>
6649  <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;
6650  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6264  Create a new MIDI instrument map</h3> Line 6662  Create a new MIDI instrument map</h3>
6662  </p>  </p>
6663  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6664                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6665                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6666                        into apostrophes and support escape sequences as described
6667                        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>".
6668                        
6669  </p>  </p>
6670  <p>Possible Answers:  <p>Possible Answers:
6671  </p>  </p>
# Line 6522  Getting MIDI instrument map information< Line 6923  Getting MIDI instrument map information<
6923  <blockquote class="text">  <blockquote class="text">
6924  <p>custom name of the given map,  <p>custom name of the given map,
6925                                              which does not have to be unique                                              which does not have to be unique
6926                                                (note that this character string may contain
6927                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6928  </p>  </p>
6929  </blockquote>  </blockquote>
6930                                                                            
# Line 6577  Renaming a MIDI instrument map</h3> Line 6980  Renaming a MIDI instrument map</h3>
6980  </p>  </p>
6981  <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
6982                      &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
6983                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
6984                        and supports escape sequences as described in chapter
6985                        "<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>").
6986                        
6987  </p>  </p>
6988  <p>Possible Answers:  <p>Possible Answers:
6989  </p>  </p>
# Line 6643  Create or replace a MIDI instrument map Line 7049  Create or replace a MIDI instrument map
7049                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
7050                      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>
7051                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
7052                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
7053                        supporting escape sequences as described in chapter
7054                        "<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>"),
7055                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
7056                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
7057                      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 7148  Create or replace a MIDI instrument map
7148                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
7149                      mode by i.e. sending                      mode by i.e. sending
7150                      <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>
7151                      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
7152                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
7153                      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
7154                        mapping entry, useful for frontends for displaying an appropriate name for
7155                      mapped instruments (using                      mapped instruments (using
7156                      <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>).
7157                                            
# Line 7064  Get current settings of MIDI instrument Line 7473  Get current settings of MIDI instrument
7473                                      changed with the                                      changed with the
7474                                      <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>
7475                                      command and does not have to be unique.                                      command and does not have to be unique.
7476                                        (note that this character string may contain
7477                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7478  </p>  </p>
7479  </blockquote>  </blockquote>
7480                                                            
# Line 7080  Get current settings of MIDI instrument Line 7491  Get current settings of MIDI instrument
7491  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7492                                  </p>                                  </p>
7493  <blockquote class="text">  <blockquote class="text">
7494  <p>File name of the instrument.  <p>File name of the instrument
7495                                        (note that this path may contain
7496                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7497  </p>  </p>
7498  </blockquote>  </blockquote>
7499                                                            
# Line 7098  Get current settings of MIDI instrument Line 7511  Get current settings of MIDI instrument
7511  <blockquote class="text">  <blockquote class="text">
7512  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7513                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7514                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7515                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7516  </p>  </p>
7517  </blockquote>  </blockquote>
7518                                                            
# Line 7233  Managing Instruments Database</h3> Line 7647  Managing Instruments Database</h3>
7647  <p>The following commands describe how to use and manage  <p>The following commands describe how to use and manage
7648                  the instruments database.                  the instruments database.
7649  </p>  </p>
7650    <p>Notice:
7651    </p>
7652    <p>
7653                            </p>
7654    <blockquote class="text">
7655    <p>All command arguments representing a path or
7656                                instrument/directory name support escape sequences as described in chapter
7657                                "<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>".
7658                                
7659    </p>
7660    <p>All occurrences of a forward slash in instrument and directory
7661                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7662                                
7663    </p>
7664    </blockquote><p>
7665                        
7666    </p>
7667  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />  <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7668  <table 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>
7669  <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 7929  Getting instrument directory information
7929  <p>DESCRIPTION -  <p>DESCRIPTION -
7930                                          </p>                                          </p>
7931  <blockquote class="text">  <blockquote class="text">
7932  <p>A brief description of the directory content  <p>A brief description of the directory content.
7933                                                Note that the character string may contain
7934                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7935  </p>  </p>
7936  </blockquote>  </blockquote>
7937                                                                            
# Line 7743  Changing the description of directory</h Line 8176  Changing the description of directory</h
8176                                            
8177  </p>  </p>
8178  <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
8179                      &lt;desc&gt; is the new description for the directory.                      &lt;desc&gt; is the new description for the directory
8180                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8181                        "<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>").
8182  </p>  </p>
8183  <p>Possible Answers:  <p>Possible Answers:
8184  </p>  </p>
# Line 7810  Finding directories</h3> Line 8245  Finding directories</h3>
8245                            </p>                            </p>
8246  <blockquote class="text">  <blockquote class="text">
8247  <p>Restricts the search to directories, which names  <p>Restricts the search to directories, which names
8248                                satisfy the supplied search string.                                satisfy the supplied search string (encapsulated into apostrophes,
8249                                  supporting escape sequences as described in chapter
8250                                  "<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>").
8251  </p>  </p>
8252  </blockquote><p>  </blockquote><p>
8253                                                
# Line 7853  Finding directories</h3> Line 8290  Finding directories</h3>
8290                            </p>                            </p>
8291  <blockquote class="text">  <blockquote class="text">
8292  <p>Restricts the search to directories with description  <p>Restricts the search to directories with description
8293                                that satisfies the supplied search string.                                that satisfies the supplied search string
8294                                  (encapsulated into apostrophes, supporting escape
8295                                  sequences as described in chapter
8296                                  "<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>").
8297  </p>  </p>
8298  </blockquote><p>  </blockquote><p>
8299                                                
# Line 7916  Adding instruments to the instruments da Line 8356  Adding instruments to the instruments da
8356  <p>  <p>
8357                          </p>                          </p>
8358  <blockquote class="text">  <blockquote class="text">
8359  <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;[ FILE_AS_DIR]] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8360  </p>  </p>
8361  </blockquote><p>  </blockquote><p>
8362                                            
# Line 7938  Adding instruments to the instruments da Line 8378  Adding instruments to the instruments da
8378  <p>  <p>
8379                          </p>                          </p>
8380  <blockquote class="text">  <blockquote class="text">
8381    <p>"RECURSIVE" -
8382                                    </p>
8383    <blockquote class="text">
8384    <p>All instruments will be processed, including those
8385                                        in the subdirectories, and the respective subdirectory
8386                                        tree structure will be recreated in the instruments
8387                                        database
8388    </p>
8389    </blockquote>
8390                                
8391    
8392  <p>"NON_RECURSIVE" -  <p>"NON_RECURSIVE" -
8393                                  </p>                                  </p>
8394  <blockquote class="text">  <blockquote class="text">
# Line 7960  Adding instruments to the instruments da Line 8411  Adding instruments to the instruments da
8411  </blockquote>  </blockquote>
8412                                                            
8413    
 <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>  
                               
   
8414  </blockquote><p>  </blockquote><p>
8415                                            
8416  </p>  </p>
8417    <p> If FILE_AS_DIR argument is supplied, all instruments in an instrument
8418                     file will be added to a separate directory in the instruments database, which
8419                     name will be the name of the instrument file with the file extension stripped off.
8420                    
8421    </p>
8422    <p>The difference between regular and NON_MODAL versions of the command
8423                        is that the regular command returns when the scanning is finished
8424                        while NON_MODAL version returns immediately and a background process is launched.
8425                        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>
8426                        command can be used to monitor the scanning progress.
8427    </p>
8428  <p>Possible Answers:  <p>Possible Answers:
8429  </p>  </p>
8430  <p>  <p>
# Line 7982  Adding instruments to the instruments da Line 8433  Adding instruments to the instruments da
8433  <p>"OK" -  <p>"OK" -
8434                                  </p>                                  </p>
8435  <blockquote class="text">  <blockquote class="text">
8436  <p>on success  <p>on success when NON_MODAL is not supplied
8437    </p>
8438    </blockquote>
8439                                
8440    
8441    <p>"OK[&lt;job-id&gt;]" -
8442                                    </p>
8443    <blockquote class="text">
8444    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8445                                        is a numerical ID used to obtain status information about the job progress.
8446                                        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>
8447                                        
8448  </p>  </p>
8449  </blockquote>  </blockquote>
8450                                                            
# Line 8217  Getting instrument information</h3> Line 8679  Getting instrument information</h3>
8679                                          </p>                                          </p>
8680  <blockquote class="text">  <blockquote class="text">
8681  <p>File name of the instrument.  <p>File name of the instrument.
8682                                                Note that the character string may contain
8683                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8684  </p>  </p>
8685  </blockquote>  </blockquote>
8686                                                                            
# Line 8276  Getting instrument information</h3> Line 8740  Getting instrument information</h3>
8740  <p>DESCRIPTION -  <p>DESCRIPTION -
8741                                          </p>                                          </p>
8742  <blockquote class="text">  <blockquote class="text">
8743  <p>A brief description of the instrument  <p>A brief description of the instrument.
8744                                                Note that the character string may contain
8745                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8746  </p>  </p>
8747  </blockquote>  </blockquote>
8748                                                                            
# Line 8293  Getting instrument information</h3> Line 8759  Getting instrument information</h3>
8759  <p>PRODUCT -  <p>PRODUCT -
8760                                          </p>                                          </p>
8761  <blockquote class="text">  <blockquote class="text">
8762  <p>The product title of the instrument  <p>The product title of the instrument.
8763                                                Note that the character string may contain
8764                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8765  </p>  </p>
8766  </blockquote>  </blockquote>
8767                                                                            
# Line 8301  Getting instrument information</h3> Line 8769  Getting instrument information</h3>
8769  <p>ARTISTS -  <p>ARTISTS -
8770                                          </p>                                          </p>
8771  <blockquote class="text">  <blockquote class="text">
8772  <p>Lists the artist names  <p>Lists the artist names.
8773                                                Note that the character string may contain
8774                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8775  </p>  </p>
8776  </blockquote>  </blockquote>
8777                                                                            
# Line 8311  Getting instrument information</h3> Line 8781  Getting instrument information</h3>
8781  <blockquote class="text">  <blockquote class="text">
8782  <p>Provides a list of keywords that refer to the instrument.  <p>Provides a list of keywords that refer to the instrument.
8783                                              Keywords are separated with semicolon and blank.                                              Keywords are separated with semicolon and blank.
8784                                                Note that the character string may contain
8785                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8786  </p>  </p>
8787  </blockquote>  </blockquote>
8788                                                                            
# Line 8551  Changing the description of instrument</ Line 9023  Changing the description of instrument</
9023                                            
9024  </p>  </p>
9025  <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
9026                      &lt;desc&gt; is the new description for the instrument.                      &lt;desc&gt; is the new description for the instrument
9027                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
9028                        "<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>").
9029  </p>  </p>
9030  <p>Possible Answers:  <p>Possible Answers:
9031  </p>  </p>
# Line 8618  Finding instruments</h3> Line 9092  Finding instruments</h3>
9092                            </p>                            </p>
9093  <blockquote class="text">  <blockquote class="text">
9094  <p>Restricts the search to instruments, which names  <p>Restricts the search to instruments, which names
9095                                satisfy the supplied search string.                                satisfy the supplied search string (encapsulated into apostrophes,
9096                                  supporting escape sequences as described in chapter
9097                                  "<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>").
9098  </p>  </p>
9099  </blockquote><p>  </blockquote><p>
9100                                                
# Line 8628  Finding instruments</h3> Line 9104  Finding instruments</h3>
9104  <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]  <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
9105                            </p>                            </p>
9106  <blockquote class="text">  <blockquote class="text">
9107  <p>Restricts the search to instruments, which  <p>Restricts the search to instruments, which
9108                                size is in the specified range. If &lt;min&gt; is omitted,                                size is in the specified range. If &lt;min&gt; is omitted,
9109                                the search results are restricted to instruments with size less then                                the search results are restricted to instruments with size less then
9110                                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 9152  Finding instruments</h3>
9152                            </p>                            </p>
9153  <blockquote class="text">  <blockquote class="text">
9154  <p>Restricts the search to instruments with description  <p>Restricts the search to instruments with description
9155                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
9156                                  supporting escape sequences as described in chapter
9157                                  "<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>").
9158  </p>  </p>
9159  </blockquote><p>  </blockquote><p>
9160                                                
# Line 8687  Finding instruments</h3> Line 9165  Finding instruments</h3>
9165                            </p>                            </p>
9166  <blockquote class="text">  <blockquote class="text">
9167  <p>Restricts the search to instruments with product info  <p>Restricts the search to instruments with product info
9168                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
9169                                  supporting escape sequences as described in chapter
9170                                  "<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>").
9171  </p>  </p>
9172  </blockquote><p>  </blockquote><p>
9173                                                
# Line 8698  Finding instruments</h3> Line 9178  Finding instruments</h3>
9178                            </p>                            </p>
9179  <blockquote class="text">  <blockquote class="text">
9180  <p>Restricts the search to instruments with artists info  <p>Restricts the search to instruments with artists info
9181                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
9182                                  supporting escape sequences as described in chapter
9183                                  "<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>").
9184  </p>  </p>
9185  </blockquote><p>  </blockquote><p>
9186                                                
# Line 8709  Finding instruments</h3> Line 9191  Finding instruments</h3>
9191                            </p>                            </p>
9192  <blockquote class="text">  <blockquote class="text">
9193  <p>Restricts the search to instruments with keyword list  <p>Restricts the search to instruments with keyword list
9194                                that satisfies the supplied search string.                                that satisfies the supplied search string (encapsulated into apostrophes,
9195                                  supporting escape sequences as described in chapter
9196                                  "<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>").
9197  </p>  </p>
9198  </blockquote><p>  </blockquote><p>
9199                                                
# Line 8719  Finding instruments</h3> Line 9203  Finding instruments</h3>
9203  <p>IS_DRUM=true | false  <p>IS_DRUM=true | false
9204                            </p>                            </p>
9205  <blockquote class="text">  <blockquote class="text">
9206  <p>Either true or false. Restricts the search to  <p>Either true or false. Restricts the search to
9207                                drum kits or chromatic instruments.                                drum kits or chromatic instruments.
9208  </p>  </p>
9209  </blockquote><p>  </blockquote><p>
# Line 8783  Finding instruments</h3> Line 9267  Finding instruments</h3>
9267  </blockquote><p>  </blockquote><p>
9268                                            
9269  </p>  </p>
9270    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9271    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9272    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9273    Getting job status information</h3>
9274    
9275    <p>The front-end can ask for the current status of a
9276                        particular database instruments job by sending the following command:
9277    </p>
9278    <p>
9279                            </p>
9280    <blockquote class="text">
9281    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9282    </p>
9283    </blockquote><p>
9284                        
9285    </p>
9286    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9287                        of the job the front-end is interested in.
9288    </p>
9289    <p>Possible Answers:
9290    </p>
9291    <p>
9292                            </p>
9293    <blockquote class="text">
9294    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9295                                Each answer line begins with the settings category name
9296                                followed by a colon and then a space character &lt;SP&gt; and finally
9297                                the info character string to that setting category. At the
9298                                moment the following categories are defined:
9299    </p>
9300    <p>
9301                                    </p>
9302    <blockquote class="text">
9303    <p>FILES_TOTAL -
9304                                            </p>
9305    <blockquote class="text">
9306    <p>The total number of files scheduled for scanning
9307    </p>
9308    </blockquote>
9309                                        
9310    
9311    <p>FILES_SCANNED -
9312                                            </p>
9313    <blockquote class="text">
9314    <p>The current number of scanned files
9315    </p>
9316    </blockquote>
9317                                        
9318    
9319    <p>SCANNING -
9320                                            </p>
9321    <blockquote class="text">
9322    <p>The absolute path name of the file which is currently
9323                                                being scanned
9324    </p>
9325    </blockquote>
9326                                        
9327    
9328    <p>STATUS -
9329                                            </p>
9330    <blockquote class="text">
9331    <p>An integer value between 0 and 100 indicating the
9332                                                scanning progress percentage of the file which is
9333                                                currently being scanned
9334    </p>
9335    </blockquote>
9336                                        
9337    
9338    </blockquote>
9339                                
9340    
9341    </blockquote><p>
9342                        
9343    </p>
9344    <p>The mentioned fields above don't have to be in particular order.
9345    </p>
9346    <p>Example:
9347    </p>
9348    <p>
9349                            </p>
9350    <blockquote class="text">
9351    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9352    </p>
9353    <p>S: "FILES_TOTAL: 12"
9354    </p>
9355    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9356    </p>
9357    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9358    </p>
9359    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9360    </p>
9361    <p>&nbsp;&nbsp;&nbsp;"."
9362    </p>
9363    </blockquote><p>
9364                        
9365    </p>
9366    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9367    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9368    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9369    Formatting the instruments database</h3>
9370    
9371    <p>The front-end can remove all instruments and directories and re-create
9372                        the instruments database structure (e.g., in case of a database corruption)
9373                        by sending the following command:
9374    </p>
9375    <p>
9376                            </p>
9377    <blockquote class="text">
9378    <p>FORMAT INSTRUMENTS_DB
9379    </p>
9380    </blockquote><p>
9381                        
9382    </p>
9383    <p>Possible Answers:
9384    </p>
9385    <p>
9386                            </p>
9387    <blockquote class="text">
9388    <p>"OK" -
9389                                    </p>
9390    <blockquote class="text">
9391    <p>on success
9392    </p>
9393    </blockquote>
9394                                
9395    
9396    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9397                                    </p>
9398    <blockquote class="text">
9399    <p>If the formatting of the instruments database
9400                                        failed.
9401    </p>
9402    </blockquote>
9403                                
9404    
9405    </blockquote><p>
9406                        
9407    </p>
9408    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9409    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9410    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9411    Checking for lost instrument files</h3>
9412    
9413    <p>The front-end can retrieve the list of all instrument files in the instruments database
9414                        that don't exist in the filesystem by sending the following command:
9415    </p>
9416    <p>
9417                            </p>
9418    <blockquote class="text">
9419    <p>FIND LOST DB_INSTRUMENT_FILES
9420    </p>
9421    </blockquote><p>
9422                        
9423    </p>
9424    <p>Possible Answers:
9425    </p>
9426    <p>
9427                            </p>
9428    <blockquote class="text">
9429    <p>A comma separated list with the absolute path names
9430                                (encapsulated into apostrophes) of all lost instrument files.
9431    </p>
9432    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9433                                    </p>
9434    <blockquote class="text">
9435    <p>in case it failed, providing an appropriate error code and error message.
9436    </p>
9437    </blockquote>
9438                                
9439    
9440    </blockquote><p>
9441                        
9442    </p>
9443    <p>Example:
9444    </p>
9445    <p>
9446                            </p>
9447    <blockquote class="text">
9448    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9449    </p>
9450    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9451    </p>
9452    </blockquote><p>
9453                        
9454    </p>
9455    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9456    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9457    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9458    Replacing an instrument file</h3>
9459    
9460    <p>The front-end can substitute all occurrences of an instrument file
9461                        in the instruments database with a new one by sending the following command:
9462    </p>
9463    <p>
9464                            </p>
9465    <blockquote class="text">
9466    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9467    </p>
9468    </blockquote><p>
9469                        
9470    </p>
9471    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9472                        to substitute with &lt;new_path&gt;.
9473    </p>
9474    <p>Possible Answers:
9475    </p>
9476    <p>
9477                            </p>
9478    <blockquote class="text">
9479    <p>"OK" -
9480                                    </p>
9481    <blockquote class="text">
9482    <p>on success
9483    </p>
9484    </blockquote>
9485                                
9486    
9487    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9488                                    </p>
9489    <blockquote class="text">
9490    <p>in case it failed, providing an appropriate error code and error message.
9491    </p>
9492    </blockquote>
9493                                
9494    
9495    </blockquote><p>
9496                        
9497    </p>
9498    <p>Example:
9499    </p>
9500    <p>
9501                            </p>
9502    <blockquote class="text">
9503    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9504    </p>
9505    <p>S: "OK"
9506    </p>
9507    </blockquote><p>
9508                        
9509    </p>
9510    <a name="editing_instruments"></a><br /><hr />
9511    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9512    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9513    Editing Instruments</h3>
9514    
9515    <p>The sampler allows to edit instruments while playing with the
9516                    sampler by spawning an external (3rd party) instrument editor
9517                    application for a given instrument. The 3rd party instrument
9518                    editor applications have to place a respective plugin DLL file
9519                    into the sampler's plugins directory. The sampler will
9520                    automatically try to load all plugin DLLs in that directory on
9521                    startup and only on startup!
9522    </p>
9523    <p>At the moment there is only one command for this feature set,
9524                    but this will most probably change in future.
9525    </p>
9526    <a name="EDIT INSTRUMENT"></a><br /><hr />
9527    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9528    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9529    Opening an appropriate instrument editor application</h3>
9530    
9531    <p>The front-end can request to open an appropriate instrument
9532                        editor application by sending the following command:
9533    </p>
9534    <p>
9535                            </p>
9536    <blockquote class="text">
9537    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9538    </p>
9539    </blockquote><p>
9540                        
9541    </p>
9542    <p>Where &lt;sampler-channel&gt; should be replaced by the
9543                        number of the sampler channel as given by the
9544                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9545                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9546                        command.
9547    </p>
9548    <p>The sampler will try to ask all registered instrument
9549                        editors (or to be more specific: their sampler plugins)
9550                        whether they are capable to handle the instrument on the
9551                        given sampler channel. The sampler will simply use the first
9552                        instrument editor application which replied with a positive
9553                        answer and spawn that instrument editor application within
9554                        the sampler's process and provide that application access
9555                        to the instrument's data structures, so both applications
9556                        can share and access the same instruments data at the same
9557                        time, thus allowing to immediately hear changes with the
9558                        sampler made by the instrument editor.
9559    </p>
9560    <p>Note: consequently instrument editors are always spawned
9561                        locally on the same machine where the sampler is running
9562                        on!
9563    </p>
9564    <p>Possible Answers:
9565    </p>
9566    <p>
9567                            </p>
9568    <blockquote class="text">
9569    <p>"OK" -
9570                                    </p>
9571    <blockquote class="text">
9572    <p>when an appropriate instrument editor was
9573                                        launched
9574    </p>
9575    </blockquote>
9576                                
9577    
9578    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9579                                    </p>
9580    <blockquote class="text">
9581    <p>when an appropriate instrument editor was
9582                                        launched, but there are noteworthy issues
9583    </p>
9584    </blockquote>
9585                                
9586    
9587    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9588                                    </p>
9589    <blockquote class="text">
9590    <p>when an appropriate instrument editor
9591                                        could not be launched
9592    </p>
9593    </blockquote>
9594                                
9595    
9596    </blockquote><p>
9597                        
9598    </p>
9599    <p>Examples:
9600    </p>
9601    <p>
9602                            </p>
9603    <blockquote class="text">
9604    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9605    </p>
9606    <p>S: "OK"
9607    </p>
9608    </blockquote><p>
9609                        
9610    </p>
9611    <a name="file_management"></a><br /><hr />
9612    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9613    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9614    Managing Files</h3>
9615    
9616    <p>You can query detailed informations about files located
9617                    at the same system where the sampler instance is running on.
9618                    Using this command set allows to retrieve file informations
9619                    even remotely from another machine.
9620    </p>
9621    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9622    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9623    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9624    Retrieving amount of instruments of a file</h3>
9625    
9626    <p>The front-end can retrieve the amount of instruments
9627                        within a given instrument file by sending the
9628                        following command:
9629    </p>
9630    <p>
9631                            </p>
9632    <blockquote class="text">
9633    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9634    </p>
9635    </blockquote><p>
9636                        
9637    </p>
9638    <p>Where &lt;filename&gt; is the name of the instrument
9639                        file (encapsulated into apostrophes, supporting escape
9640                        sequences as described in chapter
9641                        "<a class='info' href='#character_set'>Character Set and Escape
9642                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9643    </p>
9644    <p>The sampler will try to ask all sampler engines,
9645                        whether they support the given file and ask the first
9646                        engine with a positive answer for the amount of
9647                        instruments.
9648    </p>
9649    <p>Possible Answers:
9650    </p>
9651    <p>
9652                            </p>
9653    <blockquote class="text">
9654    <p>On success, the sampler will answer by
9655                                   returning the amount of instruments.
9656                                
9657    </p>
9658    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9659                                    </p>
9660    <blockquote class="text">
9661    <p>if the file could not be handled
9662    </p>
9663    </blockquote>
9664                                
9665    
9666    </blockquote><p>
9667                        
9668    </p>
9669    <p>Examples:
9670    </p>
9671    <p>
9672                            </p>
9673    <blockquote class="text">
9674    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9675    </p>
9676    <p>S: "10"
9677    </p>
9678    </blockquote><p>
9679                        
9680    </p>
9681    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9682    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9683    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9684    Retrieving all instruments of a file</h3>
9685    
9686    <p>The front-end can retrieve a list of all instruments
9687                        within a given instrument file by sending the
9688                        following command:
9689    </p>
9690    <p>
9691                            </p>
9692    <blockquote class="text">
9693    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9694    </p>
9695    </blockquote><p>
9696                        
9697    </p>
9698    <p>Where &lt;filename&gt; is the name of the instrument
9699                        file (encapsulated into apostrophes, supporting escape
9700                        sequences as described in chapter
9701                        "<a class='info' href='#character_set'>Character Set and Escape
9702                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9703    </p>
9704    <p>The sampler will try to ask all sampler engines,
9705                        whether they support the given file and ask the first
9706                        engine with a positive answer for a list of IDs for the
9707                        instruments in the given file.
9708    </p>
9709    <p>Possible Answers:
9710    </p>
9711    <p>
9712                            </p>
9713    <blockquote class="text">
9714    <p>On success, the sampler will answer by
9715                                   returning a comma separated list of
9716                                   instrument IDs.
9717                                
9718    </p>
9719    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9720                                    </p>
9721    <blockquote class="text">
9722    <p>if the file could not be handled
9723    </p>
9724    </blockquote>
9725                                
9726    
9727    </blockquote><p>
9728                        
9729    </p>
9730    <p>Examples:
9731    </p>
9732    <p>
9733                            </p>
9734    <blockquote class="text">
9735    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9736    </p>
9737    <p>S: "0,1,2,3,4,5,6,7,8,9"
9738    </p>
9739    </blockquote><p>
9740                        
9741    </p>
9742    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9743    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9744    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9745    Retrieving informations about one instrument in a file</h3>
9746    
9747    <p>The front-end can retrieve detailed informations
9748                        about a specific instrument within a given instrument
9749                        file by sending the following command:
9750    </p>
9751    <p>
9752                            </p>
9753    <blockquote class="text">
9754    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9755                                &lt;instr-id&gt;
9756    </p>
9757    </blockquote><p>
9758                        
9759    </p>
9760    <p>Where &lt;filename&gt; is the name of the instrument
9761                        file (encapsulated into apostrophes, supporting escape
9762                        sequences as described in chapter
9763                        "<a class='info' href='#character_set'>Character Set and Escape
9764                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9765                        instrument ID as returned by the
9766                        <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.
9767    </p>
9768    <p>The sampler will try to ask all sampler engines,
9769                        whether they support the given file and ask the first
9770                        engine with a positive answer for informations about the
9771                        specific instrument in the given file.
9772    </p>
9773    <p>Possible Answers:
9774    </p>
9775    <p>
9776                            </p>
9777    <blockquote class="text">
9778    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9779                                Each answer line begins with the settings category name
9780                                followed by a colon and then a space character &lt;SP&gt; and finally
9781                                the info character string to that setting category. At the
9782                                moment the following categories are defined:
9783    </p>
9784    <p>
9785                                    </p>
9786    <blockquote class="text">
9787    <p>NAME -
9788                                            </p>
9789    <blockquote class="text">
9790    <p>name of the instrument as
9791                                                stored in the instrument file
9792    </p>
9793    </blockquote>
9794                                        
9795    
9796    <p>FORMAT_FAMILY -
9797                                            </p>
9798    <blockquote class="text">
9799    <p>name of the sampler format
9800                                                of the given instrument
9801    </p>
9802    </blockquote>
9803                                        
9804    
9805    <p>FORMAT_VERSION -
9806                                            </p>
9807    <blockquote class="text">
9808    <p>version of the sampler format
9809                                                the instrumen is stored as
9810    </p>
9811    </blockquote>
9812                                        
9813    
9814    <p>PRODUCT -
9815                                            </p>
9816    <blockquote class="text">
9817    <p>official product name of the
9818                                                instrument as stored in the file
9819                                                
9820    </p>
9821    </blockquote>
9822                                        
9823    
9824    <p>ARTISTS -
9825                                            </p>
9826    <blockquote class="text">
9827    <p>artists / sample library
9828                                                vendor of the instrument
9829    </p>
9830    </blockquote>
9831                                        
9832    
9833    <p>KEY_BINDINGS -
9834                                            </p>
9835    <blockquote class="text">
9836    <p>comma separated list of integer values representing
9837                                                   the instrument's key mapping in the range between 0 .. 127,
9838                                                   reflecting the analog meaning of the MIDI specification.
9839    </p>
9840    </blockquote>
9841                                        
9842    
9843    <p>KEYSWITCH_BINDINGS -
9844                                            </p>
9845    <blockquote class="text">
9846    <p>comma separated list of integer values representing
9847                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
9848                                                   reflecting the analog meaning of the MIDI specification.
9849    </p>
9850    </blockquote>
9851                                        
9852    
9853    </blockquote>
9854                                
9855    
9856    </blockquote><p>
9857                        
9858    </p>
9859    <p>The mentioned fields above don't have to be in particular order.
9860    </p>
9861    <p>Example:
9862    </p>
9863    <p>
9864                            </p>
9865    <blockquote class="text">
9866    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9867    </p>
9868    <p>S: "NAME: Lunatic Loops"
9869    </p>
9870    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9871    </p>
9872    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9873    </p>
9874    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9875    </p>
9876    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9877    </p>
9878    <p>&nbsp;&nbsp;&nbsp;"."
9879    </p>
9880    </blockquote><p>
9881                        
9882    </p>
9883  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9884  <table 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>
9885  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 8898  Command Syntax</h3> Line 9995  Command Syntax</h3>
9995  <p>/ COPY SP copy_instruction  <p>/ COPY SP copy_instruction
9996                                    
9997  </p>  </p>
9998    <p>/ EDIT SP edit_instruction
9999                    
10000    </p>
10001    <p>/ FORMAT SP format_instruction
10002                    
10003    </p>
10004    <p>/ SEND SP send_instruction
10005                    
10006    </p>
10007  <p>/ RESET  <p>/ RESET
10008                                    
10009  </p>  </p>
# Line 8913  Command Syntax</h3> Line 10019  Command Syntax</h3>
10019  <p>CHANNEL  <p>CHANNEL
10020                                    
10021  </p>  </p>
10022  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10023                    
10024    </p>
10025    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
10026                    
10027    </p>
10028    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
10029                    
10030    </p>
10031    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
10032                    
10033    </p>
10034    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
10035                                    
10036  </p>  </p>
10037  <p>/ DB_INSTRUMENTS SP FLAT SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
10038                                    
10039  </p>  </p>
10040  <p>/ DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
10041                                    
10042  </p>  </p>
10043  <p>/ DB_INSTRUMENTS SP pathname SP pathname  <p>/ DB_INSTRUMENTS SP db_path SP filename
10044                                    
10045  </p>  </p>
10046  <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index  <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
10047                                    
10048  </p>  </p>
10049  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
# Line 8955  Command Syntax</h3> Line 10073  Command Syntax</h3>
10073  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
10074                                    
10075  </p>  </p>
10076    <p>/ CHANNEL_MIDI
10077                    
10078    </p>
10079    <p>/ DEVICE_MIDI
10080                    
10081    </p>
10082  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
10083                                    
10084  </p>  </p>
# Line 8997  Command Syntax</h3> Line 10121  Command Syntax</h3>
10121  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
10122                                    
10123  </p>  </p>
10124    <p>/ DB_INSTRUMENTS_JOB_INFO
10125                    
10126    </p>
10127  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
10128                                    
10129  </p>  </p>
10130    <p>/ TOTAL_STREAM_COUNT
10131                    
10132    </p>
10133  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10134                                    
10135  </p>  </p>
# Line 9027  Command Syntax</h3> Line 10157  Command Syntax</h3>
10157  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
10158                                    
10159  </p>  </p>
10160    <p>/ CHANNEL_MIDI
10161                    
10162    </p>
10163    <p>/ DEVICE_MIDI
10164                    
10165    </p>
10166  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
10167                                    
10168  </p>  </p>
# Line 9069  Command Syntax</h3> Line 10205  Command Syntax</h3>
10205  <p>/ DB_INSTRUMENT_INFO  <p>/ DB_INSTRUMENT_INFO
10206                                    
10207  </p>  </p>
10208    <p>/ DB_INSTRUMENTS_JOB_INFO
10209                    
10210    </p>
10211  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
10212                                    
10213  </p>  </p>
10214    <p>/ TOTAL_STREAM_COUNT
10215                    
10216    </p>
10217  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10218                                    
10219  </p>  </p>
# Line 9120  Command Syntax</h3> Line 10262  Command Syntax</h3>
10262  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
10263                                    
10264  </p>  </p>
10265  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
10266                                    
10267  </p>  </p>
10268  <p>/ DB_INSTRUMENT_DIRECTORY SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10269                                    
10270  </p>  </p>
10271  <p>/ DB_INSTRUMENT SP pathname  <p>/ DB_INSTRUMENT SP db_path
10272                                    
10273  </p>  </p>
10274  </blockquote><p>  </blockquote><p>
# Line 9207  Command Syntax</h3> Line 10349  Command Syntax</h3>
10349  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
10350                                    
10351  </p>  </p>
10352    <p>/ TOTAL_STREAM_COUNT
10353                    
10354    </p>
10355  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10356                                    
10357  </p>  </p>
# Line 9234  Command Syntax</h3> Line 10379  Command Syntax</h3>
10379  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
10380                                    
10381  </p>  </p>
10382  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10383                    
10384    </p>
10385    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10386                                    
10387  </p>  </p>
10388  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
10389                                    
10390  </p>  </p>
10391  <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname  <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10392                                    
10393  </p>  </p>
10394  <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENTS SP db_path
10395                                    
10396  </p>  </p>
10397  <p>/ DB_INSTRUMENTS SP pathname  <p>/ DB_INSTRUMENT SP INFO SP db_path
10398                                    
10399  </p>  </p>
10400  <p>/ DB_INSTRUMENT SP INFO SP pathname  <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
10401                                    
10402  </p>  </p>
10403  <p>/ VOLUME  <p>/ VOLUME
10404                                    
10405  </p>  </p>
10406    <p>/ VOICES
10407                    
10408    </p>
10409    <p>/ STREAMS
10410                    
10411    </p>
10412    <p>/ FILE SP INSTRUMENTS SP filename
10413                    
10414    </p>
10415    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
10416                    
10417    </p>
10418  </blockquote><p>  </blockquote><p>
10419    
10420  </p>  </p>
# Line 9270  Command Syntax</h3> Line 10430  Command Syntax</h3>
10430  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10431                                    
10432  </p>  </p>
10433    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
10434                    
10435    </p>
10436  <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
10437                                    
10438  </p>  </p>
# Line 9291  Command Syntax</h3> Line 10454  Command Syntax</h3>
10454  <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
10455                                    
10456  </p>  </p>
10457  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10458                    
10459    </p>
10460    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10461                                    
10462  </p>  </p>
10463  <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10464                                    
10465  </p>  </p>
10466  <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname  <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10467                                    
10468  </p>  </p>
10469  <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval  <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10470                                    
10471  </p>  </p>
10472  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
# Line 9309  Command Syntax</h3> Line 10475  Command Syntax</h3>
10475  <p>/ VOLUME SP volume_value  <p>/ VOLUME SP volume_value
10476                                    
10477  </p>  </p>
10478    <p>/ VOICES SP number
10479                    
10480    </p>
10481    <p>/ STREAMS SP number
10482                    
10483    </p>
10484  </blockquote><p>  </blockquote><p>
10485    
10486  </p>  </p>
# Line 9360  Command Syntax</h3> Line 10532  Command Syntax</h3>
10532  <p>find_instruction =  <p>find_instruction =
10533          </p>          </p>
10534  <blockquote class="text">  <blockquote class="text">
10535  <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
10536                                    
10537  </p>  </p>
10538  <p>/ DB_INSTRUMENTS SP pathname SP query_val_list  <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10539                                    
10540  </p>  </p>
10541  <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
10542                                    
10543  </p>  </p>
10544  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10545                    
10546    </p>
10547    <p>/ LOST SP DB_INSTRUMENT_FILES
10548                                    
10549  </p>  </p>
10550  </blockquote><p>  </blockquote><p>
# Line 9378  Command Syntax</h3> Line 10553  Command Syntax</h3>
10553  <p>move_instruction =  <p>move_instruction =
10554          </p>          </p>
10555  <blockquote class="text">  <blockquote class="text">
10556  <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname  <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10557                                    
10558  </p>  </p>
10559  <p>/ DB_INSTRUMENT SP pathname SP pathname  <p>/ DB_INSTRUMENT SP db_path SP db_path
10560                                    
10561  </p>  </p>
10562  </blockquote><p>  </blockquote><p>
# Line 9390  Command Syntax</h3> Line 10565  Command Syntax</h3>
10565  <p>copy_instruction =  <p>copy_instruction =
10566          </p>          </p>
10567  <blockquote class="text">  <blockquote class="text">
10568  <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname  <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10569                                    
10570  </p>  </p>
10571  <p>/ DB_INSTRUMENT SP pathname SP pathname  <p>/ DB_INSTRUMENT SP db_path SP db_path
10572                                    
10573  </p>  </p>
10574  </blockquote><p>  </blockquote><p>
# Line 9474  Command Syntax</h3> Line 10649  Command Syntax</h3>
10649  </blockquote><p>  </blockquote><p>
10650    
10651  </p>  </p>
10652    <p>edit_instruction =
10653            </p>
10654    <blockquote class="text">
10655    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10656                    
10657    </p>
10658    </blockquote><p>
10659    
10660    </p>
10661    <p>format_instruction =
10662            </p>
10663    <blockquote class="text">
10664    <p>INSTRUMENTS_DB
10665                    
10666    </p>
10667    </blockquote><p>
10668    
10669    </p>
10670  <p>modal_arg =  <p>modal_arg =
10671          </p>          </p>
10672  <blockquote class="text">  <blockquote class="text">
# Line 9543  Command Syntax</h3> Line 10736  Command Syntax</h3>
10736  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
10737                                    
10738  </p>  </p>
10739  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname  <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10740                    
10741    </p>
10742    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10743                    
10744    </p>
10745    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10746                                    
10747  </p>  </p>
10748  <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname  <p>/ DB_INSTRUMENTS SP db_path
10749                                    
10750  </p>  </p>
10751  <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname  <p>/ FILE SP INSTRUMENTS SP filename
10752                                    
10753  </p>  </p>
10754  <p>/ DB_INSTRUMENTS SP pathname  </blockquote><p>
10755    
10756    </p>
10757    <p>send_instruction =
10758            </p>
10759    <blockquote class="text">
10760    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
10761                                    
10762  </p>  </p>
10763  </blockquote><p>  </blockquote><p>
# Line 9735  Command Syntax</h3> Line 10940  Command Syntax</h3>
10940  </blockquote><p>  </blockquote><p>
10941    
10942  </p>  </p>
10943  <p>pathname =  <p>filename =
         </p>  
 <blockquote class="text">  
 <p>stringval  
                   
 </p>  
 </blockquote><p>  
   
 </p>  
 <p>dirname =  
10944          </p>          </p>
10945  <blockquote class="text">  <blockquote class="text">
10946  <p>stringval  <p>path
10947                                    
10948  </p>  </p>
10949  </blockquote><p>  </blockquote><p>
10950    
10951  </p>  </p>
10952  <p>filename =  <p>db_path =
10953          </p>          </p>
10954  <blockquote class="text">  <blockquote class="text">
10955  <p>stringval  <p>path
10956                                    
10957  </p>  </p>
10958  </blockquote><p>  </blockquote><p>
# Line 9765  Command Syntax</h3> Line 10961  Command Syntax</h3>
10961  <p>map_name =  <p>map_name =
10962          </p>          </p>
10963  <blockquote class="text">  <blockquote class="text">
10964  <p>stringval  <p>stringval_escaped
10965                                    
10966  </p>  </p>
10967  </blockquote><p>  </blockquote><p>
# Line 9774  Command Syntax</h3> Line 10970  Command Syntax</h3>
10970  <p>entry_name =  <p>entry_name =
10971          </p>          </p>
10972  <blockquote class="text">  <blockquote class="text">
10973  <p>stringval  <p>stringval_escaped
10974                                    
10975  </p>  </p>
10976  </blockquote><p>  </blockquote><p>
# Line 9783  Command Syntax</h3> Line 10979  Command Syntax</h3>
10979  <p>fx_send_name =  <p>fx_send_name =
10980          </p>          </p>
10981  <blockquote class="text">  <blockquote class="text">
10982  <p>stringval  <p>stringval_escaped
10983                                    
10984  </p>  </p>
10985  </blockquote><p>  </blockquote><p>
# Line 9834  Command Syntax</h3> Line 11030  Command Syntax</h3>
11030  <p>query_val =  <p>query_val =
11031          </p>          </p>
11032  <blockquote class="text">  <blockquote class="text">
11033  <p>string  <p>text_escaped
11034                                    
11035  </p>  </p>
11036  <p>/ stringval  <p>/ stringval_escaped
11037                                    
11038  </p>  </p>
11039  </blockquote><p>  </blockquote><p>
11040    
11041  </p>  </p>
11042    <p>scan_mode =
11043            </p>
11044    <blockquote class="text">
11045    <p>RECURSIVE
11046                    
11047    </p>
11048    <p>/ NON_RECURSIVE
11049                    
11050    </p>
11051    <p>/ FLAT
11052                    
11053    </p>
11054    </blockquote><p>
11055    
11056    </p>
11057    <a name="character_set"></a><br /><hr />
11058    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11059    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
11060    Character Set and Escape Sequences</h3>
11061    
11062    <p>Older versions of this protocol up to and including v1.1 only
11063                    supported the standard ASCII character set (ASCII code 0 - 127)
11064                    <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
11065                    however support the Extended ASCII character set (ASCII code
11066                    0 - 255). The same group of younger protocols also support
11067                    escape sequences, but only for certain, explicitly declared
11068                    parts of the protocol. The supported escape sequences are
11069                    defined as follows:
11070    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
11071    <col align="left"><col align="left">
11072    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
11073    <tr>
11074    <td align="left">\n</td>
11075    <td align="left">new line</td>
11076    </tr>
11077    <tr>
11078    <td align="left">\r</td>
11079    <td align="left">carriage return</td>
11080    </tr>
11081    <tr>
11082    <td align="left">\f</td>
11083    <td align="left">form feed</td>
11084    </tr>
11085    <tr>
11086    <td align="left">\t</td>
11087    <td align="left">horizontal tab</td>
11088    </tr>
11089    <tr>
11090    <td align="left">\v</td>
11091    <td align="left">vertical tab</td>
11092    </tr>
11093    <tr>
11094    <td align="left">\'</td>
11095    <td align="left">apostrophe</td>
11096    </tr>
11097    <tr>
11098    <td align="left">\"</td>
11099    <td align="left">quotation mark</td>
11100    </tr>
11101    <tr>
11102    <td align="left">\\</td>
11103    <td align="left">backslash</td>
11104    </tr>
11105    <tr>
11106    <td align="left">\OOO</td>
11107    <td align="left">three digit octal ASCII code of the character</td>
11108    </tr>
11109    <tr>
11110    <td align="left">\xHH</td>
11111    <td align="left">two digit hex ASCII code of the character</td>
11112    </tr>
11113    </table>
11114    <br clear="all" />
11115    
11116    <p>Notice: due to the transition of certain parts of the
11117                    protocol which now support escape sequences, a slight backward
11118                    incompatibility to protocols version v1.1 and younger has been
11119                    introduced. The only difference is that in parts of the protocol
11120                    where escape characters are now supported, a backslash characters
11121                    MUST be escaped as well (that is as double backslash), whereas
11122                    in the old versions a single backslash was sufficient.
11123    </p>
11124    <p>The following LSCP commands support escape sequences as part
11125                    of their filename / path based arguments and / or may contain
11126                    a filename / path with escape sequences in their response:
11127                    </p>
11128    <blockquote class="text">
11129    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
11130    </p>
11131    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
11132    </p>
11133    <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>
11134    </p>
11135    <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>
11136    </p>
11137    <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>
11138    </p>
11139    <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>
11140    </p>
11141    <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>
11142    </p>
11143    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
11144    </p>
11145    <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>
11146    </p>
11147    <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>
11148    </p>
11149    <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>
11150    </p>
11151    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
11152    </p>
11153    <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>
11154    </p>
11155    <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>
11156    </p>
11157    <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>
11158    </p>
11159    <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>
11160    </p>
11161    <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>
11162    </p>
11163    <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>
11164    </p>
11165    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11166    </p>
11167    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11168    </p>
11169    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
11170    </p>
11171    <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>
11172    </p>
11173    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
11174    </p>
11175    <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>
11176    </p>
11177    <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>
11178    </p>
11179    <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>
11180    </p>
11181    <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>
11182    </p>
11183    <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>
11184    </p>
11185    <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>
11186    </p>
11187    </blockquote><p>
11188                    Note that the forward slash character ('/') has a special meaning in
11189                    filename / path based arguments: it acts as separator of the nodes in
11190                    the path, thus if a directory- or filename includes a forward slash
11191                    (not intended as path node separator), you MUST escape that slash
11192                    either with the respective hex escape sequence ("\x2f") or with the
11193                    respective octal escape sequence ("\057").
11194                    
11195    </p>
11196    <p>
11197                    Note for Windows: file path arguments in LSCP are expected
11198                    to use forward slashes as directory node separator similar
11199                    to Unix based operating systems. In contrast to Unix however
11200                    a Windows typical drive character is expected to be
11201                    prefixed to the path. That is an original Windows file path
11202                    like "D:\Sounds\My.gig" would become in LSCP:
11203                    "D:/Sounds/My.gig".
11204                    
11205    </p>
11206    <p>
11207                    The following LSCP commands even support escape sequences as
11208                    part of at least one of their text-based arguments (i.e. entity name,
11209                    description) and / or may contain escape sequences in at least one of
11210                    their text-based fields in their response:
11211                    </p>
11212    <blockquote class="text">
11213    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
11214    </p>
11215    <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>
11216    </p>
11217    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
11218    </p>
11219    <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>
11220    </p>
11221    <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>
11222    </p>
11223    <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>
11224    </p>
11225    <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>
11226    </p>
11227    <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>
11228    </p>
11229    <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>
11230    </p>
11231    <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>
11232    </p>
11233    <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>
11234    </p>
11235    <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>
11236    </p>
11237    <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>
11238    </p>
11239    <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>
11240    </p>
11241    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11242    </p>
11243    <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>
11244    </p>
11245    <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>
11246    </p>
11247    <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>
11248    </p>
11249    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11250    </p>
11251    </blockquote><p>
11252                    Please note that these lists are manually maintained. If you
11253                    find a command that also supports escape sequences we forgot to
11254                    mention here, please report it!
11255                    
11256    </p>
11257  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
11258  <table 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>
11259  <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 11414  Number of sampler channels changed</h3>
11414  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
11415                  of sampler channels.                  of sampler channels.
11416  </p>  </p>
11417  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
11418  <table 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>
11419  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
11420    MIDI data on a sampler channel arrived</h3>
11421    
11422    <p>Client may want to be notified when MIDI data arrive on sampler channels on
11423                    back-end side, by issuing the following command:
11424    </p>
11425    <p>
11426                        </p>
11427    <blockquote class="text">
11428    <p>SUBSCRIBE CHANNEL_MIDI
11429    </p>
11430    </blockquote><p>
11431                    
11432    </p>
11433    <p>Server will start sending one of the the following notification messages:
11434    </p>
11435    <p>
11436                        </p>
11437    <blockquote class="text">
11438    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
11439    </p>
11440    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11441    </p>
11442    </blockquote><p>
11443                    
11444    </p>
11445    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
11446                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11447                    0 .. 127, reflecting the analog meaning of the MIDI specification.
11448                    
11449    </p>
11450    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11451                    delivered by this mechanism! With other words: events could be lost at any time!
11452                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11453                    thread unaffected by this feature.
11454    </p>
11455    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
11456    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11457    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
11458    MIDI data on a MIDI input device arrived</h3>
11459    
11460    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
11461    </p>
11462    <p>
11463                                </p>
11464    <blockquote class="text">
11465    <p>SUBSCRIBE DEVICE_MIDI
11466    </p>
11467    </blockquote><p>
11468                        
11469    </p>
11470    <p>Server will start sending one of the the following notification messages:
11471    </p>
11472    <p>
11473                                </p>
11474    <blockquote class="text">
11475    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11476    </p>
11477    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11478    </p>
11479    </blockquote><p>
11480                        
11481    </p>
11482    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11483                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11484                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11485                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11486                        
11487    </p>
11488    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11489                           delivered by this mechanism! With other words: events could be lost at any time!
11490                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11491                           thread unaffected by this feature.
11492    </p>
11493    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11494    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11495    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11496  Number of active voices changed</h3>  Number of active voices changed</h3>
11497    
11498  <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 11522  Number of active voices changed</h3>
11522  </p>  </p>
11523  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11524  <table 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>
11525  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11526  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
11527    
11528  <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 11552  Number of active disk streams changed</h
11552  </p>  </p>
11553  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11554  <table 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>
11555  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11556  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
11557    
11558  <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 11583  Disk stream buffer fill state changed</h
11583  </p>  </p>
11584  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11585  <table 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>
11586  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11587  Channel information changed</h3>  Channel information changed</h3>
11588    
11589  <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 11616  Channel information changed</h3>
11616  </p>  </p>
11617  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11618  <table 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>
11619  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11620  Number of effect sends changed</h3>  Number of effect sends changed</h3>
11621    
11622  <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
11623                  a particular sampler channel is changed by issuing the following command:                  a particular sampler channel is changed by issuing the following command:
11624  </p>  </p>
11625  <p>  <p>
# Line 10159  Number of effect sends changed</h3> Line 11646  Number of effect sends changed</h3>
11646  </p>  </p>
11647  <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />  <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11648  <table 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>
11649  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11650  Effect send information changed</h3>  Effect send information changed</h3>
11651    
11652  <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 11676  Effect send information changed</h3>
11676  </p>  </p>
11677  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11678  <table 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>
11679  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11680  Total number of active voices changed</h3>  Total number of active voices changed</h3>
11681    
11682  <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 11703  Total number of active voices changed</h
11703  <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
11704                  all currently active voices.                  all currently active voices.
11705  </p>  </p>
11706    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11707    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11708    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11709    Total number of active disk streams changed</h3>
11710    
11711    <p>Client may want to be notified when the total number of disk streams on the
11712                    back-end changes by issuing the following command:
11713    </p>
11714    <p>
11715                        </p>
11716    <blockquote class="text">
11717    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11718    </p>
11719    </blockquote><p>
11720                    
11721    </p>
11722    <p>Server will start sending the following notification messages:
11723    </p>
11724    <p>
11725                        </p>
11726    <blockquote class="text">
11727    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11728    </p>
11729    </blockquote><p>
11730                    
11731    </p>
11732    <p>where &lt;streams&gt; will be replaced by the new number of
11733                    all currently active disk streams.
11734    </p>
11735  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11736  <table 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>
11737  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11738  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
11739    
11740  <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 11763  Number of MIDI instrument maps changed</
11763  </p>  </p>
11764  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11765  <table 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>
11766  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11767  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
11768    
11769  <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 11796  MIDI instrument map information changed<
11796  </p>  </p>
11797  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11798  <table 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>
11799  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11800  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
11801    
11802  <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 11826  Number of MIDI instruments changed</h3>
11826  </p>  </p>
11827  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11828  <table 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>
11829  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11830  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
11831    
11832  <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 11860  MIDI instrument information changed</h3>
11860  </p>  </p>
11861  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />  <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11862  <table 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>
11863  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;  <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11864  Global settings changed</h3>  Global settings changed</h3>
11865    
11866  <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 10369  Global settings changed</h3> Line 11885  Global settings changed</h3>
11885                          new global volume parameter.                          new global volume parameter.
11886  </p>  </p>
11887  </blockquote><p>  </blockquote><p>
11888                        </p>
11889    <blockquote class="text">
11890    <p>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
11891                            golbal limit of the sampler for maximum voices is changed, where
11892                            &lt;max-voices&gt; will be an integer value, reflecting the
11893                            new global voice limit parameter.
11894    </p>
11895    </blockquote><p>
11896                        </p>
11897    <blockquote class="text">
11898    <p>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
11899                            golbal limit of the sampler for maximum disk streams is changed, where
11900                            &lt;max-streams&gt; will be an integer value, reflecting the
11901                            new global disk streams limit parameter.
11902    </p>
11903    </blockquote><p>
11904                                    
11905  </p>  </p>
11906  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11907  <table 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>
11908  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;  <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11909  Number of database instrument directories changed</h3>  Number of database instrument directories changed</h3>
11910    
11911  <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 11939  Number of database instrument directorie
11939  </p>  </p>
11940  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11941  <table 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>
11942  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11943  Database instrument directory information changed</h3>  Database instrument directory information changed</h3>
11944    
11945  <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 11984  Database instrument directory informatio
11984  </p>  </p>
11985  <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11986  <table 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>
11987  <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;  <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11988  Number of database instruments changed</h3>  Number of database instruments changed</h3>
11989    
11990  <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 12018  Number of database instruments changed</
12018  </p>  </p>
12019  <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
12020  <table 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>
12021  <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;  <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
12022  Database instrument information changed</h3>  Database instrument information changed</h3>
12023    
12024  <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 12061  Database instrument information changed<
12061                  (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
12062                  the new name of the instrument, encapsulated into apostrophes.                  the new name of the instrument, encapsulated into apostrophes.
12063  </p>  </p>
12064    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
12065    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12066    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
12067    Database job status information changed</h3>
12068    
12069    <p>Client may want to be notified when the status of particular database
12070                    instruments job is changed by issuing the following command:
12071    </p>
12072    <p>
12073                        </p>
12074    <blockquote class="text">
12075    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
12076    </p>
12077    </blockquote><p>
12078                    
12079    </p>
12080    <p>Server will start sending the following notification messages:
12081    </p>
12082    <p>
12083                        </p>
12084    <blockquote class="text">
12085    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
12086    </p>
12087    </blockquote><p>
12088                    
12089    </p>
12090    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
12091                    which status is changed. The front-end will have to send the respective
12092                    command to actually get the status info. Because these messages
12093                    will be triggered by LSCP commands issued by other clients rather than real
12094                    time events happening on the server, it is believed that an empty notification
12095                    message is sufficient here.
12096    </p>
12097  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
12098  <table 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>
12099  <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;  <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
12100  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
12101    
12102  <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 12161  Acknowledgments</h3>
12161  <table 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>
12162  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
12163  <table width="99%" border="0">  <table width="99%" border="0">
12164    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
12165    <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>
12166  <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>
12167  <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>
12168  <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>
12169  <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>
12170  <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>
12171  <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>
12172  </table>  </table>
12173    
12174  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
# Line 10626  Schoenebeck</td></tr> Line 12193  Schoenebeck</td></tr>
12193  <table 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>
12194  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
12195  <p class='copyright'>  <p class='copyright'>
12196  Copyright &copy; The IETF Trust (2007).</p>  Copyright &copy; The IETF Trust (2008).</p>
12197  <p class='copyright'>  <p class='copyright'>
12198  This document is subject to the rights,  This document is subject to the rights,
12199  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 10668  or other Line 12235  or other
12235  proprietary rights that may cover technology that may be required  proprietary rights that may cover technology that may be required
12236  to implement this standard.  to implement this standard.
12237  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>  
12238  </body></html>  </body></html>
12239    

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

  ViewVC Help
Powered by ViewVC