/[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 1006 by schoenebeck, Fri Dec 29 20:27:15 2006 UTC revision 1048 by schoenebeck, Mon Feb 19 19:46:20 2007 UTC
# Line 145  Line 145 
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">Expires: July 2, 2007</td><td class="header">December 29, 2006</td></tr>  <tr><td class="header">Expires: August 23, 2007</td><td class="header">February 19, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>
151    
# Line 173  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on July 2, 2007.</p>  This Internet-Draft will expire on August 23, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The Internet Society (2007).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 330  Listing all effect sends on a sampler ch Line 330  Listing all effect sends on a sampler ch
330  Getting effect send information<br />  Getting effect send information<br />
331  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;
332  Altering effect send's audio routing<br />  Altering effect send's audio routing<br />
333  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.31.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.31.</a>&nbsp;
334    Altering effect send's MIDI controller<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.32.</a>&nbsp;
336    Altering effect send's send level<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.33.</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 3958  Getting sampler channel information</h3> Line 3962  Getting sampler channel information</h3>
3962                                          </p>                                          </p>
3963  <blockquote class="text">  <blockquote class="text">
3964  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
3965                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
3966                                              1.0 means amplification)                                              1.0 means amplification)
3967  </p>  </p>
3968  </blockquote>  </blockquote>
# Line 5260  Getting effect send information</h3> Line 5264  Getting effect send information</h3>
5264  </blockquote>  </blockquote>
5265                                                                            
5266    
5267    <p>MIDI_CONTROLLER -
5268                                            </p>
5269    <blockquote class="text">
5270    <p>a value between 0 and 127 reflecting the MIDI controller
5271                                                which is able to modify the effect send's send level
5272    </p>
5273    </blockquote>
5274                                        
5275    
5276    <p>LEVEL -
5277                                            </p>
5278    <blockquote class="text">
5279    <p>optionally dotted number reflecting the effect send's
5280                                                current send level (where a value &lt; 1.0 means attenuation
5281                                                and a value > 1.0 means amplification)
5282    </p>
5283    </blockquote>
5284                                        
5285    
5286  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
5287                                          </p>                                          </p>
5288  <blockquote class="text">  <blockquote class="text">
# Line 5293  Getting effect send information</h3> Line 5316  Getting effect send information</h3>
5316  </p>  </p>
5317  <p>S: "NAME: Reverb Send"  <p>S: "NAME: Reverb Send"
5318  </p>  </p>
5319    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5320    </p>
5321    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5322    </p>
5323  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5324  </p>  </p>
5325  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
# Line 5383  Altering effect send's audio routing</h3 Line 5410  Altering effect send's audio routing</h3
5410  </blockquote><p>  </blockquote><p>
5411                                            
5412  </p>  </p>
5413  <a name="RESET CHANNEL"></a><br /><hr />  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5414  <table 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>
5415  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5416    Altering effect send's MIDI controller</h3>
5417    
5418    <p>The front-end can alter the MIDI controller of an effect
5419                        send entity by sending the following command:
5420    </p>
5421    <p>
5422                            </p>
5423    <blockquote class="text">
5424    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5425    </p>
5426    </blockquote><p>
5427                        
5428    </p>
5429    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5430                        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>
5431                        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,
5432                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5433                        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>
5434                        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
5435                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5436                        able to modify the effect send's send level.
5437    </p>
5438    <p>Possible Answers:
5439    </p>
5440    <p>
5441                            </p>
5442    <blockquote class="text">
5443    <p>"OK" -
5444                                    </p>
5445    <blockquote class="text">
5446    <p>on success
5447    </p>
5448    </blockquote>
5449                                
5450    
5451    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5452                                    </p>
5453    <blockquote class="text">
5454    <p>if MIDI controller was set, but there are noteworthy
5455                                        issue(s) related, providing an appropriate warning code and
5456                                        warning message
5457    </p>
5458    </blockquote>
5459                                
5460    
5461    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5462                                    </p>
5463    <blockquote class="text">
5464    <p>in case it failed, providing an appropriate error code and error message
5465    </p>
5466    </blockquote>
5467                                
5468    
5469    </blockquote><p>
5470                        
5471    </p>
5472    <p>Example:
5473    </p>
5474    <p>
5475                            </p>
5476    <blockquote class="text">
5477    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5478    </p>
5479    <p>S: "OK"
5480    </p>
5481    </blockquote><p>
5482                        
5483    </p>
5484    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5485    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5486    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5487    Altering effect send's send level</h3>
5488    
5489    <p>The front-end can alter the current send level of an effect
5490                        send entity by sending the following command:
5491    </p>
5492    <p>
5493                            </p>
5494    <blockquote class="text">
5495    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5496    </p>
5497    </blockquote><p>
5498                        
5499    </p>
5500    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5501                        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>
5502                        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,
5503                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5504                        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>
5505                        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
5506                        &lt;volume&gt; is an optionally dotted positive number (a value
5507                        smaller than 1.0 means attenuation, whereas a value greater than
5508                        1.0 means amplification) reflecting the new send level.
5509    </p>
5510    <p>Possible Answers:
5511    </p>
5512    <p>
5513                            </p>
5514    <blockquote class="text">
5515    <p>"OK" -
5516                                    </p>
5517    <blockquote class="text">
5518    <p>on success
5519    </p>
5520    </blockquote>
5521                                
5522    
5523    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5524                                    </p>
5525    <blockquote class="text">
5526    <p>if new send level was set, but there are noteworthy
5527                                        issue(s) related, providing an appropriate warning code and
5528                                        warning message
5529    </p>
5530    </blockquote>
5531                                
5532    
5533    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5534                                    </p>
5535    <blockquote class="text">
5536    <p>in case it failed, providing an appropriate error code and error message
5537    </p>
5538    </blockquote>
5539                                
5540    
5541    </blockquote><p>
5542                        
5543    </p>
5544    <p>Example:
5545    </p>
5546    <p>
5547                            </p>
5548    <blockquote class="text">
5549    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5550    </p>
5551    <p>S: "OK"
5552    </p>
5553    </blockquote><p>
5554                        
5555    </p>
5556    <a name="RESET CHANNEL"></a><br /><hr />
5557    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5558    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5559  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
5560    
5561  <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 6318  Create or replace a MIDI instrument map Line 6488  Create or replace a MIDI instrument map
6488  <p>  <p>
6489                          </p>                          </p>
6490  <blockquote class="text">  <blockquote class="text">
6491  <p>MAP MIDI_INSTRUMENT &lt;map&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6492                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6493                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6494                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]
# Line 6338  Create or replace a MIDI instrument map Line 6508  Create or replace a MIDI instrument map
6508                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
6509                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
6510                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
6511                      value < 1.0 means attenuation and a value > 1.0 means                      value &lt; 1.0 means attenuation and a value > 1.0 means
6512                      amplification). This parameter easily allows to adjust the                      amplification). This parameter easily allows to adjust the
6513                      volume of all intruments within a custom instrument map                      volume of all intruments within a custom instrument map
6514                      without having to adjust their instrument files. The                      without having to adjust their instrument files. The
# Line 6382  Create or replace a MIDI instrument map Line 6552  Create or replace a MIDI instrument map
6552                                  </p>                                  </p>
6553  <blockquote class="text">  <blockquote class="text">
6554  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
6555                                      into memory in the background when this mapping                                      into memory when this mapping
6556                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
6557                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
6558                                      only freed when the sampler is reset or all                                      only freed when the sampler is reset or all
# Line 6439  Create or replace a MIDI instrument map Line 6609  Create or replace a MIDI instrument map
6609                                            
6610  </p>  </p>
6611  <p>  <p>
6612                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6613                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6614                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
6615                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
6616                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
6617                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
6618                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
6619                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6620                        because it has the following drawbacks: as "NON_MODAL" instructions return
6621                        immediately, they may not necessarily return an error i.e. when the given
6622                        instrument file turns out to be corrupt, beside that subsequent commands
6623                        in a LSCP instruction sequence might fail, because mandatory mappings are
6624                        not yet completed.
6625                                            
6626  </p>  </p>
6627  <p>Possible Answers:  <p>Possible Answers:
# Line 6512  Create or replace a MIDI instrument map Line 6688  Create or replace a MIDI instrument map
6688  <p>  <p>
6689                          </p>                          </p>
6690  <blockquote class="text">  <blockquote class="text">
6691  <p>C: "MAP MIDI_INSTRUMENT 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"  <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6692  </p>  </p>
6693  <p>S: "OK"  <p>S: "OK"
6694  </p>  </p>
# Line 6801  Get current settings of MIDI instrument Line 6977  Get current settings of MIDI instrument
6977                                  </p>                                  </p>
6978  <blockquote class="text">  <blockquote class="text">
6979  <p>master volume of the instrument as optionally  <p>master volume of the instrument as optionally
6980                                      dotted number (where a value < 1.0 means attenuation                                      dotted number (where a value &lt; 1.0 means attenuation
6981                                      and a value > 1.0 means amplification)                                      and a value > 1.0 means amplification)
6982  </p>  </p>
6983  </blockquote>  </blockquote>
# Line 7148  Command Syntax</h3> Line 7324  Command Syntax</h3>
7324  <p>map_instruction =  <p>map_instruction =
7325          </p>          </p>
7326  <blockquote class="text">  <blockquote class="text">
7327  <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value  <p>MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
7328                                    
7329  </p>  </p>
7330  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
7331                                    
7332  </p>  </p>
7333  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
7334                                    
7335  </p>  </p>
7336  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
7337                                    
7338  </p>  </p>
7339  </blockquote><p>  </blockquote><p>
# Line 7319  Command Syntax</h3> Line 7495  Command Syntax</h3>
7495  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
7496                                    
7497  </p>  </p>
7498    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
7499                    
7500    </p>
7501    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
7502                    
7503    </p>
7504  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
7505                                    
7506  </p>  </p>
# Line 7448  Command Syntax</h3> Line 7630  Command Syntax</h3>
7630  </blockquote><p>  </blockquote><p>
7631    
7632  </p>  </p>
7633    <p>modal_arg =
7634            </p>
7635    <blockquote class="text">
7636    <p>/* epsilon (empty argument) */
7637                    
7638    </p>
7639    <p>/ NON_MODAL SP
7640                    
7641    </p>
7642    </blockquote><p>
7643    
7644    </p>
7645  <p>key_val_list =  <p>key_val_list =
7646          </p>          </p>
7647  <blockquote class="text">  <blockquote class="text">
# Line 8287  Schoenebeck</td></tr> Line 8481  Schoenebeck</td></tr>
8481  <table 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>
8482  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
8483  <p class='copyright'>  <p class='copyright'>
8484  Copyright &copy; The Internet Society (2006).</p>  Copyright &copy; The Internet Society (2007).</p>
8485  <p class='copyright'>  <p class='copyright'>
8486  This document is subject to the rights,  This document is subject to the rights,
8487  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,

Legend:
Removed from v.1006  
changed lines
  Added in v.1048

  ViewVC Help
Powered by ViewVC