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; |
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 |
|
|
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 © The IETF Trust (2008).</p> |
|
177 |
|
|
178 |
<h3>Abstract</h3> |
<h3>Abstract</h3> |
179 |
|
|
332 |
Altering effect send's MIDI controller<br /> |
Altering effect send's MIDI controller<br /> |
333 |
<a href="#SET FX_SEND LEVEL">6.4.33.</a> |
<a href="#SET FX_SEND LEVEL">6.4.33.</a> |
334 |
Altering effect send's send level<br /> |
Altering effect send's send level<br /> |
335 |
<a href="#RESET CHANNEL">6.4.34.</a> |
<a href="#SEND CHANNEL MIDI_DATA">6.4.34.</a> |
336 |
|
Sending MIDI messages to sampler channel<br /> |
337 |
|
<a href="#RESET CHANNEL">6.4.35.</a> |
338 |
Resetting a sampler channel<br /> |
Resetting a sampler channel<br /> |
339 |
<a href="#anchor12">6.5.</a> |
<a href="#anchor12">6.5.</a> |
340 |
Controlling connection<br /> |
Controlling connection<br /> |
362 |
Getting global volume attenuation<br /> |
Getting global volume attenuation<br /> |
363 |
<a href="#SET VOLUME">6.6.7.</a> |
<a href="#SET VOLUME">6.6.7.</a> |
364 |
Setting global volume attenuation<br /> |
Setting global volume attenuation<br /> |
365 |
|
<a href="#GET VOICES">6.6.8.</a> |
366 |
|
Getting global voice limit<br /> |
367 |
|
<a href="#SET VOICES">6.6.9.</a> |
368 |
|
Setting global voice limit<br /> |
369 |
|
<a href="#GET STREAMS">6.6.10.</a> |
370 |
|
Getting global disk stream limit<br /> |
371 |
|
<a href="#SET STREAMS">6.6.11.</a> |
372 |
|
Setting global disk stream limit<br /> |
373 |
<a href="#MIDI Instrument Mapping">6.7.</a> |
<a href="#MIDI Instrument Mapping">6.7.</a> |
374 |
MIDI Instrument Mapping<br /> |
MIDI Instrument Mapping<br /> |
375 |
<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a> |
<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a> |
442 |
Getting job status information<br /> |
Getting job status information<br /> |
443 |
<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a> |
<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a> |
444 |
Formatting the instruments database<br /> |
Formatting the instruments database<br /> |
445 |
|
<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a> |
446 |
|
Checking for lost instrument files<br /> |
447 |
|
<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a> |
448 |
|
Replacing an instrument file<br /> |
449 |
<a href="#editing_instruments">6.9.</a> |
<a href="#editing_instruments">6.9.</a> |
450 |
Editing Instruments<br /> |
Editing Instruments<br /> |
451 |
<a href="#EDIT INSTRUMENT">6.9.1.</a> |
<a href="#EDIT INSTRUMENT">6.9.1.</a> |
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> |
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 |
|
|
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> |
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> |
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 |
|
|
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"> 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> |
5767 |
<a name="rfc.section.6.4.34"></a><h3>6.4.34. |
<a name="rfc.section.6.4.34"></a><h3>6.4.34. |
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 <midi-msg> <sampler-chan> <arg1> <arg2> |
5777 |
|
</p> |
5778 |
|
</blockquote><p> |
5779 |
|
|
5780 |
|
</p> |
5781 |
|
<p>Where <sampler-chan> 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 |
|
<arg1> and <arg2> arguments depend on the <midi-msg> 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 <arg1> |
5794 |
|
specifies the key number and <arg2> 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 <arg1> |
5804 |
|
specifies the key number and <arg2> 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:<error-code>:<error-message>" - |
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"> TOC </a></td></tr></table> |
5854 |
|
<a name="rfc.section.6.4.35"></a><h3>6.4.35. |
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: |
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"> TOC </a></td></tr></table> |
6423 |
|
<a name="rfc.section.6.6.8"></a><h3>6.6.8. |
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"> TOC </a></td></tr></table> |
6458 |
|
<a name="rfc.section.6.6.9"></a><h3>6.6.9. |
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 <max-voices> |
6468 |
|
</p> |
6469 |
|
</blockquote><p> |
6470 |
|
|
6471 |
|
</p> |
6472 |
|
<p>Where <max-voices> 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:<warning-code>:<warning-message>" - |
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:<error-code>:<error-message>" - |
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"> TOC </a></td></tr></table> |
6520 |
|
<a name="rfc.section.6.6.10"></a><h3>6.6.10. |
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"> TOC </a></td></tr></table> |
6553 |
|
<a name="rfc.section.6.6.11"></a><h3>6.6.11. |
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 <max-streams> |
6563 |
|
</p> |
6564 |
|
</blockquote><p> |
6565 |
|
|
6566 |
|
</p> |
6567 |
|
<p>Where <max-streams> 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:<warning-code>:<warning-message>" - |
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:<error-code>:<error-message>" - |
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"> 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> |
6615 |
<a name="rfc.section.6.7"></a><h3>6.7. |
<a name="rfc.section.6.7"></a><h3>6.7. |
8356 |
<p> |
<p> |
8357 |
</p> |
</p> |
8358 |
<blockquote class="text"> |
<blockquote class="text"> |
8359 |
<p>ADD DB_INSTRUMENTS [NON_MODAL] [<mode>] <db_dir> <file_path> [<instr_index>] |
<p>ADD DB_INSTRUMENTS [NON_MODAL] [<mode>[ FILE_AS_DIR]] <db_dir> <file_path> [<instr_index>] |
8360 |
</p> |
</p> |
8361 |
</blockquote><p> |
</blockquote><p> |
8362 |
|
|
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. |
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"> TOC </a></td></tr></table> |
9410 |
|
<a name="rfc.section.6.8.23"></a><h3>6.8.23. |
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:<error-code>:<error-message>" - |
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"> TOC </a></td></tr></table> |
9457 |
|
<a name="rfc.section.6.8.24"></a><h3>6.8.24. |
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 <old_path> <new_path> |
9467 |
|
</p> |
9468 |
|
</blockquote><p> |
9469 |
|
|
9470 |
|
</p> |
9471 |
|
<p>Where <old_path> is the absolute path name of the instrument file |
9472 |
|
to substitute with <new_path>. |
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:<error-code>:<error-message>" - |
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"> 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> |
9512 |
<a name="rfc.section.6.9"></a><h3>6.9. |
<a name="rfc.section.6.9"></a><h3>6.9. |
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 |
|
|
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> |
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> |
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> |
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> |
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> |
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"> |
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 |
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> |
11472 |
<p> |
<p> |
11473 |
</p> |
</p> |
11474 |
<blockquote class="text"> |
<blockquote class="text"> |
11475 |
<p>"NOTIFY:CHANNEL_MIDI:<device-id> <port-id> NOTE_ON <note> <velocity>" |
<p>"NOTIFY:DEVICE_MIDI:<device-id> <port-id> NOTE_ON <note> <velocity>" |
11476 |
</p> |
</p> |
11477 |
<p>"NOTIFY:CHANNEL_MIDI:<device-id> <port-id> NOTE_OFF <note> <velocity>" |
<p>"NOTIFY:DEVICE_MIDI:<device-id> <port-id> NOTE_OFF <note> <velocity>" |
11478 |
</p> |
</p> |
11479 |
</blockquote><p> |
</blockquote><p> |
11480 |
|
|
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 <max-voices>" - Notifies that the |
11891 |
|
golbal limit of the sampler for maximum voices is changed, where |
11892 |
|
<max-voices> 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 <max-streams>" - Notifies that the |
11899 |
|
golbal limit of the sampler for maximum disk streams is changed, where |
11900 |
|
<max-streams> 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 /> |
12162 |
<h3>11. References</h3> |
<h3>11. 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, “<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,” RFC 20, 1969.</td></tr> |
<td class="author-text">UCLA, “<a href="http://tools.ietf.org/html/rfc20">ASCII format for Network Interchange</a>,” RFC 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., “<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,” RFC 2119, 1997.</td></tr> |
<td class="author-text">Bradner, S., “<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>,” RFC 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, “<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>,” RFC 2234, 1997.</td></tr> |
<td class="author-text">Crocker, D. and P. Overell, “<a href="http://tools.ietf.org/html/rfc2234">Augmented BNF for Syntax Specifications</a>,” RFC 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, “<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>,” RFC 793, 1981.</td></tr> |
<td class="author-text">Defense Advanced Research Projects Agency, “<a href="http://tools.ietf.org/html/rfc793">TRANSMISSION CONTROL PROTOCOL</a>,” RFC 793, 1981.</td></tr> |
12172 |
</table> |
</table> |
12173 |
|
|
12174 |
<a name="rfc.authors"></a><br /><hr /> |
<a name="rfc.authors"></a><br /><hr /> |
12193 |
<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> |
12194 |
<h3>Full Copyright Statement</h3> |
<h3>Full Copyright Statement</h3> |
12195 |
<p class='copyright'> |
<p class='copyright'> |
12196 |
Copyright © The IETF Trust (2008).</p> |
Copyright © 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 78, |
licenses and restrictions contained in BCP 78, |
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 |
|
|