/[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 1696 by schoenebeck, Sat Feb 16 01:16:39 2008 UTC revision 1960 by schoenebeck, Fri Jul 31 10:20:16 2009 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: August 19, 2008</td><td class="header">February 16, 2008</td></tr>  <tr><td class="header">Expires: February 1, 2010</td><td class="header">July 31, 2009</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</h1>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</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 August 19, 2008.</p>  This Internet-Draft will expire on February 1, 2010.</p>
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The IETF Trust (2008).</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 364  General sampler informations<br /> Line 362  General sampler informations<br />
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.7.</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;
# Line 436  Finding instruments<br /> Line 442  Finding instruments<br />
442  Getting job status information<br />  Getting job status information<br />
443  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
444  Formatting the instruments database<br />  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;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
450  Editing Instruments<br />  Editing Instruments<br />
451  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
# Line 3986  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 4029  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 4047  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 4059  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 4068  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 5745  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 6314  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 8060  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 [NON_MODAL] [&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 8118  Adding instruments to the instruments da Line 8414  Adding instruments to the instruments da
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  <p>The difference between regular and NON_MODAL versions of the command
8423                      is that the regular command returns when the scanning is finished                      is that the regular command returns when the scanning is finished
8424                      while NON_MODAL version returns immediately and a background process is launched.                      while NON_MODAL version returns immediately and a background process is launched.
# Line 9104  Formatting the instruments database</h3> Line 9405  Formatting the instruments database</h3>
9405  </blockquote><p>  </blockquote><p>
9406                                            
9407  </p>  </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 />  <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>  <table 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;  <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
# Line 9427  Retrieving informations about one instru Line 9830  Retrieving informations about one instru
9830  </blockquote>  </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>  </blockquote>
9854                                                            
9855    
# Line 9578  Command Syntax</h3> Line 10001  Command Syntax</h3>
10001  <p>/ FORMAT SP format_instruction  <p>/ FORMAT SP format_instruction
10002                                    
10003  </p>  </p>
10004    <p>/ SEND SP send_instruction
10005                    
10006    </p>
10007  <p>/ RESET  <p>/ RESET
10008                                    
10009  </p>  </p>
# Line 9599  Command Syntax</h3> Line 10025  Command Syntax</h3>
10025  <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename  <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
10026                                    
10027  </p>  </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  <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
10032                                    
10033  </p>  </p>
10034    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
10035                    
10036    </p>
10037  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename  <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
10038                                    
10039  </p>  </p>
# Line 9971  Command Syntax</h3> Line 10403  Command Syntax</h3>
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  <p>/ FILE SP INSTRUMENTS SP filename
10413                                    
10414  </p>  </p>
# Line 10028  Command Syntax</h3> Line 10466  Command Syntax</h3>
10466  <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped  <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10467                                    
10468  </p>  </p>
10469    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10470                    
10471    </p>
10472  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10473                                    
10474  </p>  </p>
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 10097  Command Syntax</h3> Line 10544  Command Syntax</h3>
10544  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list  <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10545                                    
10546  </p>  </p>
10547    <p>/ LOST SP DB_INSTRUMENT_FILES
10548                    
10549    </p>
10550  </blockquote><p>  </blockquote><p>
10551    
10552  </p>  </p>
# Line 10304  Command Syntax</h3> Line 10754  Command Syntax</h3>
10754  </blockquote><p>  </blockquote><p>
10755    
10756  </p>  </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>
10763    </blockquote><p>
10764    
10765    </p>
10766  <p>load_instr_args =  <p>load_instr_args =
10767          </p>          </p>
10768  <blockquote class="text">  <blockquote class="text">
# Line 10652  Character Set and Escape Sequences</h3> Line 11111  Character Set and Escape Sequences</h3>
11111  <td align="left">two digit hex ASCII code of the character</td>  <td align="left">two digit hex ASCII code of the character</td>
11112  </tr>  </tr>
11113  </table>  </table>
11114    <br clear="all" />
11115    
11116  <p>Notice: due to the transition of certain parts of the  <p>Notice: due to the transition of certain parts of the
11117                  protocol which now support escape sequences, a slight backward                  protocol which now support escape sequences, a slight backward
# Line 10714  Character Set and Escape Sequences</h3> Line 11174  Character Set and Escape Sequences</h3>
11174  </p>  </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>  <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>  </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>  <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>  </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>  <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>
# Line 11008  MIDI data on a MIDI input device arrived Line 11472  MIDI data on a MIDI input device arrived
11472  <p>  <p>
11473                              </p>                              </p>
11474  <blockquote class="text">  <blockquote class="text">
11475  <p>"NOTIFY:CHANNEL_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"  <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11476  </p>  </p>
11477  <p>"NOTIFY:CHANNEL_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"  <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11478  </p>  </p>
11479  </blockquote><p>  </blockquote><p>
11480                                            
# Line 11421  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 />
# Line 11682  Acknowledgments</h3> Line 12162  Acknowledgments</h3>
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>  <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
12165  <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>  <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 11713  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 (2008).</p>  Copyright &copy; The IETF Trust (2009).</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 11755  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.1696  
changed lines
  Added in v.1960

  ViewVC Help
Powered by ViewVC