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: March 14, 2009</td><td class="header">September 10, 2008</td></tr> |
149 |
</table></td></tr></table> |
</table></td></tr></table> |
150 |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</h1> |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</h1> |
151 |
|
|
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 March 14, 2009.</p> |
177 |
|
|
178 |
<h3>Copyright Notice</h3> |
<h3>Copyright Notice</h3> |
179 |
<p> |
<p> |
336 |
Altering effect send's MIDI controller<br /> |
Altering effect send's MIDI controller<br /> |
337 |
<a href="#SET FX_SEND LEVEL">6.4.33.</a> |
<a href="#SET FX_SEND LEVEL">6.4.33.</a> |
338 |
Altering effect send's send level<br /> |
Altering effect send's send level<br /> |
339 |
<a href="#RESET CHANNEL">6.4.34.</a> |
<a href="#SEND CHANNEL MIDI_DATA">6.4.34.</a> |
340 |
|
Sending MIDI messages to sampler channel<br /> |
341 |
|
<a href="#RESET CHANNEL">6.4.35.</a> |
342 |
Resetting a sampler channel<br /> |
Resetting a sampler channel<br /> |
343 |
<a href="#anchor12">6.5.</a> |
<a href="#anchor12">6.5.</a> |
344 |
Controlling connection<br /> |
Controlling connection<br /> |
438 |
Getting job status information<br /> |
Getting job status information<br /> |
439 |
<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a> |
<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a> |
440 |
Formatting the instruments database<br /> |
Formatting the instruments database<br /> |
441 |
|
<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a> |
442 |
|
Checking for lost instrument files<br /> |
443 |
|
<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a> |
444 |
|
Replacing an instrument file<br /> |
445 |
<a href="#editing_instruments">6.9.</a> |
<a href="#editing_instruments">6.9.</a> |
446 |
Editing Instruments<br /> |
Editing Instruments<br /> |
447 |
<a href="#EDIT INSTRUMENT">6.9.1.</a> |
<a href="#EDIT INSTRUMENT">6.9.1.</a> |
5751 |
</blockquote><p> |
</blockquote><p> |
5752 |
|
|
5753 |
</p> |
</p> |
5754 |
<a name="RESET CHANNEL"></a><br /><hr /> |
<a name="SEND CHANNEL MIDI_DATA"></a><br /><hr /> |
5755 |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5756 |
<a name="rfc.section.6.4.34"></a><h3>6.4.34. |
<a name="rfc.section.6.4.34"></a><h3>6.4.34. |
5757 |
|
Sending MIDI messages to sampler channel</h3> |
5758 |
|
|
5759 |
|
<p>The front-end can send MIDI events to specific sampler channel |
5760 |
|
by sending the following command: |
5761 |
|
</p> |
5762 |
|
<p> |
5763 |
|
</p> |
5764 |
|
<blockquote class="text"> |
5765 |
|
<p>SEND CHANNEL MIDI_DATA <midi-msg> <sampler-chan> <arg1> <arg2> |
5766 |
|
</p> |
5767 |
|
</blockquote><p> |
5768 |
|
|
5769 |
|
</p> |
5770 |
|
<p>Where <sampler-chan> is the sampler channel number |
5771 |
|
as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> |
5772 |
|
or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, |
5773 |
|
<arg1> and <arg2> arguments depend on the <midi-msg> argument, which |
5774 |
|
specifies the MIDI message type. Currently, the following MIDI messages are supported: |
5775 |
|
</p> |
5776 |
|
<p> |
5777 |
|
</p> |
5778 |
|
<blockquote class="text"> |
5779 |
|
<p>"NOTE_ON" - |
5780 |
|
</p> |
5781 |
|
<blockquote class="text"> |
5782 |
|
<p>For turning on MIDI notes, where <arg1> |
5783 |
|
specifies the key number and <arg2> the velocity |
5784 |
|
as described in the MIDI specification. |
5785 |
|
</p> |
5786 |
|
</blockquote> |
5787 |
|
|
5788 |
|
|
5789 |
|
<p>"NOTE_OFF" - |
5790 |
|
</p> |
5791 |
|
<blockquote class="text"> |
5792 |
|
<p>For turning a currently playing MIDI note off, where <arg1> |
5793 |
|
specifies the key number and <arg2> the velocity |
5794 |
|
as described in the MIDI specification. |
5795 |
|
</p> |
5796 |
|
</blockquote> |
5797 |
|
|
5798 |
|
|
5799 |
|
</blockquote><p> |
5800 |
|
|
5801 |
|
</p> |
5802 |
|
<p>CAUTION: This command is provided for implementations of virtual MIDI keyboards |
5803 |
|
and no realtime guarantee whatsoever will be made! |
5804 |
|
</p> |
5805 |
|
<p>Possible Answers: |
5806 |
|
</p> |
5807 |
|
<p> |
5808 |
|
</p> |
5809 |
|
<blockquote class="text"> |
5810 |
|
<p>"OK" - |
5811 |
|
</p> |
5812 |
|
<blockquote class="text"> |
5813 |
|
<p>on success |
5814 |
|
</p> |
5815 |
|
</blockquote> |
5816 |
|
|
5817 |
|
|
5818 |
|
<p>"ERR:<error-code>:<error-message>" - |
5819 |
|
</p> |
5820 |
|
<blockquote class="text"> |
5821 |
|
<p>in case it failed, providing an appropriate error code and error message |
5822 |
|
</p> |
5823 |
|
</blockquote> |
5824 |
|
|
5825 |
|
|
5826 |
|
</blockquote><p> |
5827 |
|
|
5828 |
|
</p> |
5829 |
|
<p>Example: |
5830 |
|
</p> |
5831 |
|
<p> |
5832 |
|
</p> |
5833 |
|
<blockquote class="text"> |
5834 |
|
<p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112" |
5835 |
|
</p> |
5836 |
|
<p>S: "OK" |
5837 |
|
</p> |
5838 |
|
</blockquote><p> |
5839 |
|
|
5840 |
|
</p> |
5841 |
|
<a name="RESET CHANNEL"></a><br /><hr /> |
5842 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5843 |
|
<a name="rfc.section.6.4.35"></a><h3>6.4.35. |
5844 |
Resetting a sampler channel</h3> |
Resetting a sampler channel</h3> |
5845 |
|
|
5846 |
<p>The front-end can reset a particular sampler channel by sending the following command: |
<p>The front-end can reset a particular sampler channel by sending the following command: |
9197 |
</blockquote><p> |
</blockquote><p> |
9198 |
|
|
9199 |
</p> |
</p> |
9200 |
|
<a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr /> |
9201 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
9202 |
|
<a name="rfc.section.6.8.23"></a><h3>6.8.23. |
9203 |
|
Checking for lost instrument files</h3> |
9204 |
|
|
9205 |
|
<p>The front-end can retrieve the list of all instrument files in the instruments database |
9206 |
|
that don't exist in the filesystem by sending the following command: |
9207 |
|
</p> |
9208 |
|
<p> |
9209 |
|
</p> |
9210 |
|
<blockquote class="text"> |
9211 |
|
<p>FIND LOST DB_INSTRUMENT_FILES |
9212 |
|
</p> |
9213 |
|
</blockquote><p> |
9214 |
|
|
9215 |
|
</p> |
9216 |
|
<p>Possible Answers: |
9217 |
|
</p> |
9218 |
|
<p> |
9219 |
|
</p> |
9220 |
|
<blockquote class="text"> |
9221 |
|
<p>A comma separated list with the absolute path names |
9222 |
|
(encapsulated into apostrophes) of all lost instrument files. |
9223 |
|
</p> |
9224 |
|
<p>"ERR:<error-code>:<error-message>" - |
9225 |
|
</p> |
9226 |
|
<blockquote class="text"> |
9227 |
|
<p>in case it failed, providing an appropriate error code and error message. |
9228 |
|
</p> |
9229 |
|
</blockquote> |
9230 |
|
|
9231 |
|
|
9232 |
|
</blockquote><p> |
9233 |
|
|
9234 |
|
</p> |
9235 |
|
<p>Example: |
9236 |
|
</p> |
9237 |
|
<p> |
9238 |
|
</p> |
9239 |
|
<blockquote class="text"> |
9240 |
|
<p>C: "FIND LOST DB_INSTRUMENT_FILES" |
9241 |
|
</p> |
9242 |
|
<p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'" |
9243 |
|
</p> |
9244 |
|
</blockquote><p> |
9245 |
|
|
9246 |
|
</p> |
9247 |
|
<a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr /> |
9248 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
9249 |
|
<a name="rfc.section.6.8.24"></a><h3>6.8.24. |
9250 |
|
Replacing an instrument file</h3> |
9251 |
|
|
9252 |
|
<p>The front-end can substitute all occurrences of an instrument file |
9253 |
|
in the instruments database with a new one by sending the following command: |
9254 |
|
</p> |
9255 |
|
<p> |
9256 |
|
</p> |
9257 |
|
<blockquote class="text"> |
9258 |
|
<p>SET DB_INSTRUMENT FILE_PATH <old_path> <new_path> |
9259 |
|
</p> |
9260 |
|
</blockquote><p> |
9261 |
|
|
9262 |
|
</p> |
9263 |
|
<p>Where <old_path> is the absolute path name of the instrument file |
9264 |
|
to substitute with <new_path>. |
9265 |
|
</p> |
9266 |
|
<p>Possible Answers: |
9267 |
|
</p> |
9268 |
|
<p> |
9269 |
|
</p> |
9270 |
|
<blockquote class="text"> |
9271 |
|
<p>"OK" - |
9272 |
|
</p> |
9273 |
|
<blockquote class="text"> |
9274 |
|
<p>on success |
9275 |
|
</p> |
9276 |
|
</blockquote> |
9277 |
|
|
9278 |
|
|
9279 |
|
<p>"ERR:<error-code>:<error-message>" - |
9280 |
|
</p> |
9281 |
|
<blockquote class="text"> |
9282 |
|
<p>in case it failed, providing an appropriate error code and error message. |
9283 |
|
</p> |
9284 |
|
</blockquote> |
9285 |
|
|
9286 |
|
|
9287 |
|
</blockquote><p> |
9288 |
|
|
9289 |
|
</p> |
9290 |
|
<p>Example: |
9291 |
|
</p> |
9292 |
|
<p> |
9293 |
|
</p> |
9294 |
|
<blockquote class="text"> |
9295 |
|
<p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'" |
9296 |
|
</p> |
9297 |
|
<p>S: "OK" |
9298 |
|
</p> |
9299 |
|
</blockquote><p> |
9300 |
|
|
9301 |
|
</p> |
9302 |
<a name="editing_instruments"></a><br /><hr /> |
<a name="editing_instruments"></a><br /><hr /> |
9303 |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
9304 |
<a name="rfc.section.6.9"></a><h3>6.9. |
<a name="rfc.section.6.9"></a><h3>6.9. |
9622 |
</blockquote> |
</blockquote> |
9623 |
|
|
9624 |
|
|
9625 |
|
<p>KEY_BINDINGS - |
9626 |
|
</p> |
9627 |
|
<blockquote class="text"> |
9628 |
|
<p>comma separated list of integer values representing |
9629 |
|
the instrument's key mapping in the range between 0 .. 127, |
9630 |
|
reflecting the analog meaning of the MIDI specification. |
9631 |
|
</p> |
9632 |
|
</blockquote> |
9633 |
|
|
9634 |
|
|
9635 |
|
<p>KEYSWITCH_BINDINGS - |
9636 |
|
</p> |
9637 |
|
<blockquote class="text"> |
9638 |
|
<p>comma separated list of integer values representing |
9639 |
|
the instrument's keyswitch mapping in the range between 0 .. 127, |
9640 |
|
reflecting the analog meaning of the MIDI specification. |
9641 |
|
</p> |
9642 |
|
</blockquote> |
9643 |
|
|
9644 |
|
|
9645 |
</blockquote> |
</blockquote> |
9646 |
|
|
9647 |
|
|
9791 |
|
|
9792 |
</p> |
</p> |
9793 |
<p>/ FORMAT SP format_instruction |
<p>/ FORMAT SP format_instruction |
9794 |
|
|
9795 |
|
</p> |
9796 |
|
<p>SEND SP send_instruction |
9797 |
|
|
9798 |
</p> |
</p> |
9799 |
<p>/ RESET |
<p>/ RESET |
10246 |
<p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped |
<p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped |
10247 |
|
|
10248 |
</p> |
</p> |
10249 |
|
<p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename |
10250 |
|
|
10251 |
|
</p> |
10252 |
<p>/ ECHO SP boolean |
<p>/ ECHO SP boolean |
10253 |
|
|
10254 |
</p> |
</p> |
10318 |
<p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list |
<p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list |
10319 |
|
|
10320 |
</p> |
</p> |
10321 |
|
<p>/ LOST SP DB_INSTRUMENT_FILES |
10322 |
|
|
10323 |
|
</p> |
10324 |
</blockquote><p> |
</blockquote><p> |
10325 |
|
|
10326 |
</p> |
</p> |
10528 |
</blockquote><p> |
</blockquote><p> |
10529 |
|
|
10530 |
</p> |
</p> |
10531 |
|
<p>send_instruction = |
10532 |
|
</p> |
10533 |
|
<blockquote class="text"> |
10534 |
|
<p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number |
10535 |
|
|
10536 |
|
</p> |
10537 |
|
</blockquote><p> |
10538 |
|
|
10539 |
|
</p> |
10540 |
<p>load_instr_args = |
<p>load_instr_args = |
10541 |
</p> |
</p> |
10542 |
<blockquote class="text"> |
<blockquote class="text"> |
10947 |
</p> |
</p> |
10948 |
<p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a> |
<p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a> |
10949 |
</p> |
</p> |
10950 |
|
<p><a class='info' href='#FIND LOST DB_INSTRUMENT_FILES'>"FIND LOST DB_INSTRUMENT_FILES"<span> (</span><span class='info'>Checking for lost instrument files</span><span>)</span></a> |
10951 |
|
</p> |
10952 |
|
<p><a class='info' href='#SET DB_INSTRUMENT FILE_PATH'>"SET DB_INSTRUMENT FILE_PATH"<span> (</span><span class='info'>Replacing an instrument file</span><span>)</span></a> |
10953 |
|
</p> |
10954 |
<p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a> |
<p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a> |
10955 |
</p> |
</p> |
10956 |
<p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> |
<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> |
11245 |
<p> |
<p> |
11246 |
</p> |
</p> |
11247 |
<blockquote class="text"> |
<blockquote class="text"> |
11248 |
<p>"NOTIFY:CHANNEL_MIDI:<device-id> <port-id> NOTE_ON <note> <velocity>" |
<p>"NOTIFY:DEVICE_MIDI:<device-id> <port-id> NOTE_ON <note> <velocity>" |
11249 |
</p> |
</p> |
11250 |
<p>"NOTIFY:CHANNEL_MIDI:<device-id> <port-id> NOTE_OFF <note> <velocity>" |
<p>"NOTIFY:DEVICE_MIDI:<device-id> <port-id> NOTE_OFF <note> <velocity>" |
11251 |
</p> |
</p> |
11252 |
</blockquote><p> |
</blockquote><p> |
11253 |
|
|
11997 |
Funding for the RFC Editor function is provided by |
Funding for the RFC Editor function is provided by |
11998 |
the IETF Administrative Support Activity (IASA).</p> |
the IETF Administrative Support Activity (IASA).</p> |
11999 |
</body></html> |
</body></html> |
|
|
|