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: June 18, 2007</td><td class="header">December 15, 2006</td></tr> |
<tr><td class="header">Expires: July 2, 2007</td><td class="header">December 29, 2006</td></tr> |
149 |
</table></td></tr></table> |
</table></td></tr></table> |
150 |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1> |
<h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1> |
151 |
|
|
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 June 18, 2007.</p> |
This Internet-Draft will expire on July 2, 2007.</p> |
177 |
|
|
178 |
<h3>Copyright Notice</h3> |
<h3>Copyright Notice</h3> |
179 |
<p> |
<p> |
318 |
Soloing a sampler channel<br /> |
Soloing a sampler channel<br /> |
319 |
<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a> |
<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a> |
320 |
Assigning a MIDI instrument map to a sampler channel<br /> |
Assigning a MIDI instrument map to a sampler channel<br /> |
321 |
<a href="#RESET CHANNEL">6.4.25.</a> |
<a href="#CREATE FX_SEND">6.4.25.</a> |
322 |
|
Adding an effect send to a sampler channel<br /> |
323 |
|
<a href="#DESTROY FX_SEND">6.4.26.</a> |
324 |
|
Removing an effect send from a sampler channel<br /> |
325 |
|
<a href="#GET FX_SENDS">6.4.27.</a> |
326 |
|
Getting amount of effect sends on a sampler channel<br /> |
327 |
|
<a href="#LIST FX_SENDS">6.4.28.</a> |
328 |
|
Listing all effect sends on a sampler channel<br /> |
329 |
|
<a href="#GET FX_SEND INFO">6.4.29.</a> |
330 |
|
Getting effect send information<br /> |
331 |
|
<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a> |
332 |
|
Altering effect send's audio routing<br /> |
333 |
|
<a href="#RESET CHANNEL">6.4.31.</a> |
334 |
Resetting a sampler channel<br /> |
Resetting a sampler channel<br /> |
335 |
<a href="#anchor12">6.5.</a> |
<a href="#anchor12">6.5.</a> |
336 |
Controlling connection<br /> |
Controlling connection<br /> |
352 |
Reset sampler<br /> |
Reset sampler<br /> |
353 |
<a href="#GET SERVER INFO">6.6.4.</a> |
<a href="#GET SERVER INFO">6.6.4.</a> |
354 |
General sampler informations<br /> |
General sampler informations<br /> |
355 |
|
<a href="#GET VOLUME">6.6.5.</a> |
356 |
|
Getting global volume attenuation<br /> |
357 |
|
<a href="#SET VOLUME">6.6.6.</a> |
358 |
|
Setting global volume attenuation<br /> |
359 |
<a href="#MIDI Instrument Mapping">6.7.</a> |
<a href="#MIDI Instrument Mapping">6.7.</a> |
360 |
MIDI Instrument Mapping<br /> |
MIDI Instrument Mapping<br /> |
361 |
<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a> |
<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a> |
386 |
Command Syntax<br /> |
Command Syntax<br /> |
387 |
<a href="#events">8.</a> |
<a href="#events">8.</a> |
388 |
Events<br /> |
Events<br /> |
389 |
<a href="#SUBSCRIBE CHANNEL">8.1.</a> |
<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a> |
390 |
|
Number of audio output devices changed<br /> |
391 |
|
<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a> |
392 |
|
Audio output device's settings changed<br /> |
393 |
|
<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a> |
394 |
|
Number of MIDI input devices changed<br /> |
395 |
|
<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a> |
396 |
|
MIDI input device's settings changed<br /> |
397 |
|
<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a> |
398 |
Number of sampler channels changed<br /> |
Number of sampler channels changed<br /> |
399 |
<a href="#SUBSCRIBE VOICE_COUNT">8.2.</a> |
<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a> |
400 |
Number of active voices changed<br /> |
Number of active voices changed<br /> |
401 |
<a href="#SUBSCRIBE STREAM_COUNT">8.3.</a> |
<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a> |
402 |
Number of active disk streams changed<br /> |
Number of active disk streams changed<br /> |
403 |
<a href="#SUBSCRIBE BUFFER_FILL">8.4.</a> |
<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a> |
404 |
Disk stream buffer fill state changed<br /> |
Disk stream buffer fill state changed<br /> |
405 |
<a href="#SUBSCRIBE INFO">8.5.</a> |
<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a> |
406 |
Channel information changed<br /> |
Channel information changed<br /> |
407 |
<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.6.</a> |
<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.10.</a> |
408 |
Total number of active voices changed<br /> |
Total number of active voices changed<br /> |
409 |
<a href="#SUBSCRIBE MISCELLANEOUS">8.7.</a> |
<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.11.</a> |
410 |
|
Number of MIDI instrument maps changed<br /> |
411 |
|
<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.12.</a> |
412 |
|
MIDI instrument map information changed<br /> |
413 |
|
<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.13.</a> |
414 |
|
Number of MIDI instruments changed<br /> |
415 |
|
<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.14.</a> |
416 |
|
MIDI instrument information changed<br /> |
417 |
|
<a href="#SUBSCRIBE MISCELLANEOUS">8.15.</a> |
418 |
Miscellaneous and debugging events<br /> |
Miscellaneous and debugging events<br /> |
419 |
<a href="#anchor14">9.</a> |
<a href="#anchor14">9.</a> |
420 |
Security Considerations<br /> |
Security Considerations<br /> |
4965 |
</blockquote><p> |
</blockquote><p> |
4966 |
|
|
4967 |
</p> |
</p> |
4968 |
<a name="RESET CHANNEL"></a><br /><hr /> |
<a name="CREATE FX_SEND"></a><br /><hr /> |
4969 |
<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> |
4970 |
<a name="rfc.section.6.4.25"></a><h3>6.4.25. |
<a name="rfc.section.6.4.25"></a><h3>6.4.25. |
4971 |
|
Adding an effect send to a sampler channel</h3> |
4972 |
|
|
4973 |
|
<p>The front-end can create an additional effect send on a specific sampler channel |
4974 |
|
by sending the following command: |
4975 |
|
</p> |
4976 |
|
<p> |
4977 |
|
</p> |
4978 |
|
<blockquote class="text"> |
4979 |
|
<p>CREATE FX_SEND <sampler-channel> <midi-ctrl> [<name>] |
4980 |
|
</p> |
4981 |
|
</blockquote><p> |
4982 |
|
|
4983 |
|
</p> |
4984 |
|
<p>Where <sampler-channel> is the respective sampler channel |
4985 |
|
number 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> |
4986 |
|
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, that is the |
4987 |
|
sampler channel on which the effect send should be created on, <midi-ctrl> |
4988 |
|
is a number between 0..127 defining the MIDI controller which can alter the |
4989 |
|
effect send level and <name> is an optional argument defining a name |
4990 |
|
for the effect send entity. The name does not have to be unique. |
4991 |
|
</p> |
4992 |
|
<p>By default, that is as initial routing, the effect send's audio channels |
4993 |
|
are automatically routed to the last audio channels of the sampler channel's |
4994 |
|
audio output device, that way you can i.e. first increase the amount of audio |
4995 |
|
channels on the audio output device for having dedicated effect send output |
4996 |
|
channels and when "CREATE FX_SEND" is called, those channels will automatically |
4997 |
|
be picked. You can alter the destination channels however with |
4998 |
|
<a class='info' href='#SET FX_SEND AUDIO_OUTPUT_CHANNEL'>"SET FX_SEND AUDIO_OUTPUT_CHANNEL"<span> (</span><span class='info'>Altering effect send's audio routing</span><span>)</span></a>. |
4999 |
|
|
5000 |
|
</p> |
5001 |
|
<p>Note: Create effect sends on a sampler channel only when needed, because having effect |
5002 |
|
sends on a sampler channel will decrease runtime performance, because for implementing channel |
5003 |
|
effect sends, separate (sampler channel local) audio buffers are needed to render and mix |
5004 |
|
the voices and route the audio signal afterwards to the master outputs and effect send |
5005 |
|
outputs (along with their respective effect send levels). A sampler channel without effect |
5006 |
|
sends however can mix its voices directly into the audio output devices's audio buffers |
5007 |
|
and is thus faster. |
5008 |
|
|
5009 |
|
</p> |
5010 |
|
<p>Possible Answers: |
5011 |
|
</p> |
5012 |
|
<p> |
5013 |
|
</p> |
5014 |
|
<blockquote class="text"> |
5015 |
|
<p>"OK[<fx-send-id>]" - |
5016 |
|
</p> |
5017 |
|
<blockquote class="text"> |
5018 |
|
<p>in case a new effect send could be added to the |
5019 |
|
sampler channel, where <fx-send-id> reflects the |
5020 |
|
unique ID of the newly created effect send entity |
5021 |
|
</p> |
5022 |
|
</blockquote> |
5023 |
|
|
5024 |
|
|
5025 |
|
<p>"ERR:<error-code>:<error-message>" - |
5026 |
|
</p> |
5027 |
|
<blockquote class="text"> |
5028 |
|
<p>when a new effect send could not be added, i.e. |
5029 |
|
due to invalid parameters |
5030 |
|
</p> |
5031 |
|
</blockquote> |
5032 |
|
|
5033 |
|
|
5034 |
|
</blockquote><p> |
5035 |
|
|
5036 |
|
</p> |
5037 |
|
<p>Examples: |
5038 |
|
</p> |
5039 |
|
<p> |
5040 |
|
</p> |
5041 |
|
<blockquote class="text"> |
5042 |
|
<p>C: "CREATE FX_SEND 0 91 'Reverb Send'" |
5043 |
|
</p> |
5044 |
|
<p>S: "OK[0]" |
5045 |
|
</p> |
5046 |
|
</blockquote><p> |
5047 |
|
|
5048 |
|
</p> |
5049 |
|
<p> |
5050 |
|
</p> |
5051 |
|
<blockquote class="text"> |
5052 |
|
<p>C: "CREATE FX_SEND 0 93" |
5053 |
|
</p> |
5054 |
|
<p>S: "OK[1]" |
5055 |
|
</p> |
5056 |
|
</blockquote><p> |
5057 |
|
|
5058 |
|
</p> |
5059 |
|
<a name="DESTROY FX_SEND"></a><br /><hr /> |
5060 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5061 |
|
<a name="rfc.section.6.4.26"></a><h3>6.4.26. |
5062 |
|
Removing an effect send from a sampler channel</h3> |
5063 |
|
|
5064 |
|
<p>The front-end can remove an existing effect send on a specific sampler channel |
5065 |
|
by sending the following command: |
5066 |
|
</p> |
5067 |
|
<p> |
5068 |
|
</p> |
5069 |
|
<blockquote class="text"> |
5070 |
|
<p>DESTROY FX_SEND <sampler-channel> <fx-send-id> |
5071 |
|
</p> |
5072 |
|
</blockquote><p> |
5073 |
|
|
5074 |
|
</p> |
5075 |
|
<p>Where <sampler-channel> is the respective sampler channel |
5076 |
|
number 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> |
5077 |
|
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, that is the |
5078 |
|
sampler channel from which the effect send should be removed from and |
5079 |
|
<fx-send-id> is the respective effect send number as returned by the |
5080 |
|
<a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a> |
5081 |
|
or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command. |
5082 |
|
</p> |
5083 |
|
<p>Possible Answers: |
5084 |
|
</p> |
5085 |
|
<p> |
5086 |
|
</p> |
5087 |
|
<blockquote class="text"> |
5088 |
|
<p>"OK" - |
5089 |
|
</p> |
5090 |
|
<blockquote class="text"> |
5091 |
|
<p>on success |
5092 |
|
</p> |
5093 |
|
</blockquote> |
5094 |
|
|
5095 |
|
|
5096 |
|
<p>"ERR:<error-code>:<error-message>" - |
5097 |
|
</p> |
5098 |
|
<blockquote class="text"> |
5099 |
|
<p>in case it failed, providing an appropriate error code and |
5100 |
|
error message |
5101 |
|
</p> |
5102 |
|
</blockquote> |
5103 |
|
|
5104 |
|
|
5105 |
|
</blockquote><p> |
5106 |
|
|
5107 |
|
</p> |
5108 |
|
<p>Example: |
5109 |
|
</p> |
5110 |
|
<p> |
5111 |
|
</p> |
5112 |
|
<blockquote class="text"> |
5113 |
|
<p>C: "DESTROY FX_SEND 0 0" |
5114 |
|
</p> |
5115 |
|
<p>S: "OK" |
5116 |
|
</p> |
5117 |
|
</blockquote><p> |
5118 |
|
|
5119 |
|
</p> |
5120 |
|
<a name="GET FX_SENDS"></a><br /><hr /> |
5121 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5122 |
|
<a name="rfc.section.6.4.27"></a><h3>6.4.27. |
5123 |
|
Getting amount of effect sends on a sampler channel</h3> |
5124 |
|
|
5125 |
|
<p>The front-end can ask for the amount of effect sends on a specific sampler channel |
5126 |
|
by sending the following command: |
5127 |
|
</p> |
5128 |
|
<p> |
5129 |
|
</p> |
5130 |
|
<blockquote class="text"> |
5131 |
|
<p>GET FX_SENDS <sampler-channel> |
5132 |
|
</p> |
5133 |
|
</blockquote><p> |
5134 |
|
|
5135 |
|
</p> |
5136 |
|
<p>Where <sampler-channel> is the respective sampler channel |
5137 |
|
number 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> |
5138 |
|
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. |
5139 |
|
</p> |
5140 |
|
<p>Possible Answers: |
5141 |
|
</p> |
5142 |
|
<p> |
5143 |
|
</p> |
5144 |
|
<blockquote class="text"> |
5145 |
|
<p>The sampler will answer by returning the number of effect |
5146 |
|
sends on the given sampler channel. |
5147 |
|
</p> |
5148 |
|
</blockquote><p> |
5149 |
|
|
5150 |
|
</p> |
5151 |
|
<p>Example: |
5152 |
|
</p> |
5153 |
|
<p> |
5154 |
|
</p> |
5155 |
|
<blockquote class="text"> |
5156 |
|
<p>C: "GET FX_SENDS 0" |
5157 |
|
</p> |
5158 |
|
<p>S: "2" |
5159 |
|
</p> |
5160 |
|
</blockquote><p> |
5161 |
|
|
5162 |
|
</p> |
5163 |
|
<a name="LIST FX_SENDS"></a><br /><hr /> |
5164 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5165 |
|
<a name="rfc.section.6.4.28"></a><h3>6.4.28. |
5166 |
|
Listing all effect sends on a sampler channel</h3> |
5167 |
|
|
5168 |
|
<p>The front-end can ask for a list of effect sends on a specific sampler channel |
5169 |
|
by sending the following command: |
5170 |
|
</p> |
5171 |
|
<p> |
5172 |
|
</p> |
5173 |
|
<blockquote class="text"> |
5174 |
|
<p>LIST FX_SENDS <sampler-channel> |
5175 |
|
</p> |
5176 |
|
</blockquote><p> |
5177 |
|
|
5178 |
|
</p> |
5179 |
|
<p>Where <sampler-channel> is the respective sampler channel |
5180 |
|
number 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> |
5181 |
|
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. |
5182 |
|
</p> |
5183 |
|
<p>Possible Answers: |
5184 |
|
</p> |
5185 |
|
<p> |
5186 |
|
</p> |
5187 |
|
<blockquote class="text"> |
5188 |
|
<p>The sampler will answer by returning a comma separated list |
5189 |
|
with all effect sends' numerical IDs on the given sampler |
5190 |
|
channel. |
5191 |
|
</p> |
5192 |
|
</blockquote><p> |
5193 |
|
|
5194 |
|
</p> |
5195 |
|
<p>Examples: |
5196 |
|
</p> |
5197 |
|
<p> |
5198 |
|
</p> |
5199 |
|
<blockquote class="text"> |
5200 |
|
<p>C: "LIST FX_SENDS 0" |
5201 |
|
</p> |
5202 |
|
<p>S: "0,1" |
5203 |
|
</p> |
5204 |
|
</blockquote><p> |
5205 |
|
|
5206 |
|
</p> |
5207 |
|
<p> |
5208 |
|
</p> |
5209 |
|
<blockquote class="text"> |
5210 |
|
<p>C: "LIST FX_SENDS 1" |
5211 |
|
</p> |
5212 |
|
<p>S: "" |
5213 |
|
</p> |
5214 |
|
</blockquote><p> |
5215 |
|
|
5216 |
|
</p> |
5217 |
|
<a name="GET FX_SEND INFO"></a><br /><hr /> |
5218 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5219 |
|
<a name="rfc.section.6.4.29"></a><h3>6.4.29. |
5220 |
|
Getting effect send information</h3> |
5221 |
|
|
5222 |
|
<p>The front-end can ask for the current settings of an effect send entity |
5223 |
|
by sending the following command: |
5224 |
|
</p> |
5225 |
|
<p> |
5226 |
|
</p> |
5227 |
|
<blockquote class="text"> |
5228 |
|
<p>GET FX_SEND INFO <sampler-channel> <fx-send-id> |
5229 |
|
</p> |
5230 |
|
</blockquote><p> |
5231 |
|
|
5232 |
|
</p> |
5233 |
|
<p>Where <sampler-channel> is the sampler channel number |
5234 |
|
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> |
5235 |
|
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 and |
5236 |
|
<fx-send-id> reflects the numerical ID of the effect send entity |
5237 |
|
as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a> |
5238 |
|
or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command. |
5239 |
|
|
5240 |
|
</p> |
5241 |
|
<p>Possible Answers: |
5242 |
|
</p> |
5243 |
|
<p> |
5244 |
|
</p> |
5245 |
|
<blockquote class="text"> |
5246 |
|
<p>The sampler will answer by sending a <CRLF> separated list. |
5247 |
|
Each answer line begins with the settings category name |
5248 |
|
followed by a colon and then a space character <SP> and finally |
5249 |
|
the info character string to that setting category. At the |
5250 |
|
moment the following categories are defined: |
5251 |
|
</p> |
5252 |
|
<p> |
5253 |
|
</p> |
5254 |
|
<blockquote class="text"> |
5255 |
|
<p>NAME - |
5256 |
|
</p> |
5257 |
|
<blockquote class="text"> |
5258 |
|
<p>name of the effect send entity |
5259 |
|
</p> |
5260 |
|
</blockquote> |
5261 |
|
|
5262 |
|
|
5263 |
|
<p>AUDIO_OUTPUT_ROUTING - |
5264 |
|
</p> |
5265 |
|
<blockquote class="text"> |
5266 |
|
<p>comma separated list which reflects to which audio |
5267 |
|
channel of the selected audio output device each |
5268 |
|
effect send output channel is routed to, e.g. "0,3" would |
5269 |
|
mean the effect send's output channel 0 is routed to channel |
5270 |
|
0 of the audio output device and the effect send's output |
5271 |
|
channel 1 is routed to the channel 3 of the audio |
5272 |
|
output device (see |
5273 |
|
<a class='info' href='#SET FX_SEND AUDIO_OUTPUT_CHANNEL'>"SET FX_SEND AUDIO_OUTPUT_CHANNEL"<span> (</span><span class='info'>Altering effect send's audio routing</span><span>)</span></a> |
5274 |
|
for details) |
5275 |
|
</p> |
5276 |
|
</blockquote> |
5277 |
|
|
5278 |
|
|
5279 |
|
</blockquote> |
5280 |
|
|
5281 |
|
|
5282 |
|
</blockquote><p> |
5283 |
|
|
5284 |
|
</p> |
5285 |
|
<p>The mentioned fields above don't have to be in particular order. |
5286 |
|
</p> |
5287 |
|
<p>Example: |
5288 |
|
</p> |
5289 |
|
<p> |
5290 |
|
</p> |
5291 |
|
<blockquote class="text"> |
5292 |
|
<p>C: "GET FX_SEND INFO 0 0" |
5293 |
|
</p> |
5294 |
|
<p>S: "NAME: Reverb Send" |
5295 |
|
</p> |
5296 |
|
<p> "AUDIO_OUTPUT_ROUTING: 2,3" |
5297 |
|
</p> |
5298 |
|
<p> "." |
5299 |
|
</p> |
5300 |
|
</blockquote><p> |
5301 |
|
|
5302 |
|
</p> |
5303 |
|
<a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr /> |
5304 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5305 |
|
<a name="rfc.section.6.4.30"></a><h3>6.4.30. |
5306 |
|
Altering effect send's audio routing</h3> |
5307 |
|
|
5308 |
|
<p>The front-end can alter the destination of an effect send's audio channel on a specific |
5309 |
|
sampler channel by sending the following command: |
5310 |
|
</p> |
5311 |
|
<p> |
5312 |
|
</p> |
5313 |
|
<blockquote class="text"> |
5314 |
|
<p>SET FX_SEND AUDIO_OUTPUT_CHANNEL <sampler-chan> <fx-send-id> <audio-src> <audio-dst> |
5315 |
|
</p> |
5316 |
|
</blockquote><p> |
5317 |
|
|
5318 |
|
</p> |
5319 |
|
<p>Where <sampler-chan> is the sampler channel number |
5320 |
|
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> |
5321 |
|
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, |
5322 |
|
<fx-send-id> reflects the numerical ID of the effect send entity |
5323 |
|
as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a> |
5324 |
|
or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command, |
5325 |
|
<audio-src> is the numerical ID of the effect send's audio channel |
5326 |
|
which should be rerouted and <audio-dst> is the numerical ID of |
5327 |
|
the audio channel of the selected audio output device where <audio-src> |
5328 |
|
should be routed to. |
5329 |
|
</p> |
5330 |
|
<p>Note that effect sends can only route audio to the same audio output |
5331 |
|
device as assigned to the effect send's sampler channel. Also note that an |
5332 |
|
effect send entity does always have exactly as much audio channels as its |
5333 |
|
sampler channel. So if the sampler channel is stereo, the effect send does |
5334 |
|
have two audio channels as well. Also keep in mind that the amount of audio |
5335 |
|
channels on a sampler channel might be dependant not only to the deployed |
5336 |
|
sampler engine on the sampler channel, but also dependant to the instrument |
5337 |
|
currently loaded. However you can (effectively) turn an i.e. stereo effect |
5338 |
|
send into a mono one by simply altering its audio routing appropriately. |
5339 |
|
</p> |
5340 |
|
<p>Possible Answers: |
5341 |
|
</p> |
5342 |
|
<p> |
5343 |
|
</p> |
5344 |
|
<blockquote class="text"> |
5345 |
|
<p>"OK" - |
5346 |
|
</p> |
5347 |
|
<blockquote class="text"> |
5348 |
|
<p>on success |
5349 |
|
</p> |
5350 |
|
</blockquote> |
5351 |
|
|
5352 |
|
|
5353 |
|
<p>"WRN:<warning-code>:<warning-message>" - |
5354 |
|
</p> |
5355 |
|
<blockquote class="text"> |
5356 |
|
<p>if audio output channel was set, but there are noteworthy |
5357 |
|
issue(s) related, providing an appropriate warning code and |
5358 |
|
warning message |
5359 |
|
</p> |
5360 |
|
</blockquote> |
5361 |
|
|
5362 |
|
|
5363 |
|
<p>"ERR:<error-code>:<error-message>" - |
5364 |
|
</p> |
5365 |
|
<blockquote class="text"> |
5366 |
|
<p>in case it failed, providing an appropriate error code and error message |
5367 |
|
</p> |
5368 |
|
</blockquote> |
5369 |
|
|
5370 |
|
|
5371 |
|
</blockquote><p> |
5372 |
|
|
5373 |
|
</p> |
5374 |
|
<p>Example: |
5375 |
|
</p> |
5376 |
|
<p> |
5377 |
|
</p> |
5378 |
|
<blockquote class="text"> |
5379 |
|
<p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2" |
5380 |
|
</p> |
5381 |
|
<p>S: "OK" |
5382 |
|
</p> |
5383 |
|
</blockquote><p> |
5384 |
|
|
5385 |
|
</p> |
5386 |
|
<a name="RESET CHANNEL"></a><br /><hr /> |
5387 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5388 |
|
<a name="rfc.section.6.4.31"></a><h3>6.4.31. |
5389 |
Resetting a sampler channel</h3> |
Resetting a sampler channel</h3> |
5390 |
|
|
5391 |
<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: |
5826 |
<p>The mentioned fields above don't have to be in particular order. |
<p>The mentioned fields above don't have to be in particular order. |
5827 |
Other fields might be added in future. |
Other fields might be added in future. |
5828 |
</p> |
</p> |
5829 |
|
<a name="GET VOLUME"></a><br /><hr /> |
5830 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5831 |
|
<a name="rfc.section.6.6.5"></a><h3>6.6.5. |
5832 |
|
Getting global volume attenuation</h3> |
5833 |
|
|
5834 |
|
<p>The client can ask for the current global sampler-wide volume |
5835 |
|
attenuation by sending the following command: |
5836 |
|
</p> |
5837 |
|
<p> |
5838 |
|
</p> |
5839 |
|
<blockquote class="text"> |
5840 |
|
<p>GET VOLUME |
5841 |
|
</p> |
5842 |
|
</blockquote><p> |
5843 |
|
|
5844 |
|
</p> |
5845 |
|
<p>Possible Answers: |
5846 |
|
</p> |
5847 |
|
<p> |
5848 |
|
</p> |
5849 |
|
<blockquote class="text"> |
5850 |
|
<p>The sampler will always answer by returning the optional |
5851 |
|
dotted floating point coefficient, reflecting the current |
5852 |
|
global volume attenuation. |
5853 |
|
|
5854 |
|
</p> |
5855 |
|
</blockquote><p> |
5856 |
|
|
5857 |
|
</p> |
5858 |
|
<p>Note: it is up to the respective sampler engine whether to obey |
5859 |
|
that global volume parameter or not, but in general all engines SHOULD |
5860 |
|
use this parameter. |
5861 |
|
</p> |
5862 |
|
<a name="SET VOLUME"></a><br /><hr /> |
5863 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
5864 |
|
<a name="rfc.section.6.6.6"></a><h3>6.6.6. |
5865 |
|
Setting global volume attenuation</h3> |
5866 |
|
|
5867 |
|
<p>The client can alter the current global sampler-wide volume |
5868 |
|
attenuation by sending the following command: |
5869 |
|
</p> |
5870 |
|
<p> |
5871 |
|
</p> |
5872 |
|
<blockquote class="text"> |
5873 |
|
<p>SET VOLUME <volume> |
5874 |
|
</p> |
5875 |
|
</blockquote><p> |
5876 |
|
|
5877 |
|
</p> |
5878 |
|
<p>Where <volume> should be replaced by the optional dotted |
5879 |
|
floating point value, reflecting the new global volume parameter. |
5880 |
|
This value might usually be in the range between 0.0 and 1.0, that |
5881 |
|
is for attenuating the overall volume. |
5882 |
|
</p> |
5883 |
|
<p>Possible Answers: |
5884 |
|
</p> |
5885 |
|
<p> |
5886 |
|
</p> |
5887 |
|
<blockquote class="text"> |
5888 |
|
<p>"OK" - |
5889 |
|
</p> |
5890 |
|
<blockquote class="text"> |
5891 |
|
<p>on success |
5892 |
|
</p> |
5893 |
|
</blockquote> |
5894 |
|
|
5895 |
|
|
5896 |
|
<p>"WRN:<warning-code>:<warning-message>" - |
5897 |
|
</p> |
5898 |
|
<blockquote class="text"> |
5899 |
|
<p>if the global volume was set, but there are noteworthy |
5900 |
|
issue(s) related, providing an appropriate warning code and |
5901 |
|
warning message |
5902 |
|
</p> |
5903 |
|
</blockquote> |
5904 |
|
|
5905 |
|
|
5906 |
|
<p>"ERR:<error-code>:<error-message>" - |
5907 |
|
</p> |
5908 |
|
<blockquote class="text"> |
5909 |
|
<p>in case it failed, providing an appropriate error code and error message |
5910 |
|
</p> |
5911 |
|
</blockquote> |
5912 |
|
|
5913 |
|
|
5914 |
|
</blockquote><p> |
5915 |
|
|
5916 |
|
</p> |
5917 |
<a name="MIDI Instrument Mapping"></a><br /><hr /> |
<a name="MIDI Instrument Mapping"></a><br /><hr /> |
5918 |
<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> |
5919 |
<a name="rfc.section.6.7"></a><h3>6.7. |
<a name="rfc.section.6.7"></a><h3>6.7. |
7046 |
<p>subscribe_event = |
<p>subscribe_event = |
7047 |
</p> |
</p> |
7048 |
<blockquote class="text"> |
<blockquote class="text"> |
7049 |
<p>CHANNEL_COUNT |
<p>AUDIO_OUTPUT_DEVICE_COUNT |
7050 |
|
|
7051 |
|
</p> |
7052 |
|
<p>/ AUDIO_OUTPUT_DEVICE_INFO |
7053 |
|
|
7054 |
|
</p> |
7055 |
|
<p>/ MIDI_INPUT_DEVICE_COUNT |
7056 |
|
|
7057 |
|
</p> |
7058 |
|
<p>/ MIDI_INPUT_DEVICE_INFO |
7059 |
|
|
7060 |
|
</p> |
7061 |
|
<p>/ CHANNEL_COUNT |
7062 |
|
|
7063 |
</p> |
</p> |
7064 |
<p>/ VOICE_COUNT |
<p>/ VOICE_COUNT |
7073 |
<p>/ CHANNEL_INFO |
<p>/ CHANNEL_INFO |
7074 |
|
|
7075 |
</p> |
</p> |
7076 |
|
<p>/ MIDI_INSTRUMENT_MAP_COUNT |
7077 |
|
|
7078 |
|
</p> |
7079 |
|
<p>/ MIDI_INSTRUMENT_MAP_INFO |
7080 |
|
|
7081 |
|
</p> |
7082 |
|
<p>/ MIDI_INSTRUMENT_COUNT |
7083 |
|
|
7084 |
|
</p> |
7085 |
|
<p>/ MIDI_INSTRUMENT_INFO |
7086 |
|
|
7087 |
|
</p> |
7088 |
<p>/ MISCELLANEOUS |
<p>/ MISCELLANEOUS |
7089 |
|
|
7090 |
</p> |
</p> |
7097 |
<p>unsubscribe_event = |
<p>unsubscribe_event = |
7098 |
</p> |
</p> |
7099 |
<blockquote class="text"> |
<blockquote class="text"> |
7100 |
<p>CHANNEL_COUNT |
<p>AUDIO_OUTPUT_DEVICE_COUNT |
7101 |
|
|
7102 |
|
</p> |
7103 |
|
<p>/ AUDIO_OUTPUT_DEVICE_INFO |
7104 |
|
|
7105 |
|
</p> |
7106 |
|
<p>/ MIDI_INPUT_DEVICE_COUNT |
7107 |
|
|
7108 |
|
</p> |
7109 |
|
<p>/ MIDI_INPUT_DEVICE_INFO |
7110 |
|
|
7111 |
|
</p> |
7112 |
|
<p>/ CHANNEL_COUNT |
7113 |
|
|
7114 |
</p> |
</p> |
7115 |
<p>/ VOICE_COUNT |
<p>/ VOICE_COUNT |
7124 |
<p>/ CHANNEL_INFO |
<p>/ CHANNEL_INFO |
7125 |
|
|
7126 |
</p> |
</p> |
7127 |
|
<p>/ MIDI_INSTRUMENT_MAP_COUNT |
7128 |
|
|
7129 |
|
</p> |
7130 |
|
<p>/ MIDI_INSTRUMENT_MAP_INFO |
7131 |
|
|
7132 |
|
</p> |
7133 |
|
<p>/ MIDI_INSTRUMENT_COUNT |
7134 |
|
|
7135 |
|
</p> |
7136 |
|
<p>/ MIDI_INSTRUMENT_INFO |
7137 |
|
|
7138 |
|
</p> |
7139 |
<p>/ MISCELLANEOUS |
<p>/ MISCELLANEOUS |
7140 |
|
|
7141 |
</p> |
</p> |
7283 |
<p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map |
<p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map |
7284 |
|
|
7285 |
</p> |
</p> |
7286 |
|
<p>/ FX_SENDS SP sampler_channel |
7287 |
|
|
7288 |
|
</p> |
7289 |
|
<p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id |
7290 |
|
|
7291 |
|
</p> |
7292 |
|
<p>/ VOLUME |
7293 |
|
|
7294 |
|
</p> |
7295 |
</blockquote><p> |
</blockquote><p> |
7296 |
|
|
7297 |
</p> |
</p> |
7316 |
<p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name |
<p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name |
7317 |
|
|
7318 |
</p> |
</p> |
7319 |
|
<p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index |
7320 |
|
|
7321 |
|
</p> |
7322 |
<p>/ ECHO SP boolean |
<p>/ ECHO SP boolean |
7323 |
|
|
7324 |
</p> |
</p> |
7325 |
|
<p>/ VOLUME SP volume_value |
7326 |
|
|
7327 |
|
</p> |
7328 |
</blockquote><p> |
</blockquote><p> |
7329 |
|
|
7330 |
</p> |
</p> |
7343 |
<p>/ MIDI_INPUT_DEVICE SP string |
<p>/ MIDI_INPUT_DEVICE SP string |
7344 |
|
|
7345 |
</p> |
</p> |
7346 |
|
<p>/ FX_SEND SP sampler_channel SP midi_ctrl |
7347 |
|
|
7348 |
|
</p> |
7349 |
|
<p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name |
7350 |
|
|
7351 |
|
</p> |
7352 |
</blockquote><p> |
</blockquote><p> |
7353 |
|
|
7354 |
</p> |
</p> |
7382 |
<p>/ MIDI_INPUT_DEVICE SP number |
<p>/ MIDI_INPUT_DEVICE SP number |
7383 |
|
|
7384 |
</p> |
</p> |
7385 |
|
<p>/ FX_SEND SP sampler_channel SP fx_send_id |
7386 |
|
|
7387 |
|
</p> |
7388 |
</blockquote><p> |
</blockquote><p> |
7389 |
|
|
7390 |
</p> |
</p> |
7502 |
<p>/ MIDI_INSTRUMENT_MAPS |
<p>/ MIDI_INSTRUMENT_MAPS |
7503 |
|
|
7504 |
</p> |
</p> |
7505 |
|
<p>/ FX_SENDS SP sampler_channel |
7506 |
|
|
7507 |
|
</p> |
7508 |
</blockquote><p> |
</blockquote><p> |
7509 |
|
|
7510 |
</p> |
</p> |
7628 |
</blockquote><p> |
</blockquote><p> |
7629 |
|
|
7630 |
</p> |
</p> |
7631 |
|
<p>midi_ctrl = |
7632 |
|
</p> |
7633 |
|
<blockquote class="text"> |
7634 |
|
<p>number |
7635 |
|
|
7636 |
|
</p> |
7637 |
|
</blockquote><p> |
7638 |
|
|
7639 |
|
</p> |
7640 |
<p>volume_value = |
<p>volume_value = |
7641 |
</p> |
</p> |
7642 |
<blockquote class="text"> |
<blockquote class="text"> |
7667 |
</blockquote><p> |
</blockquote><p> |
7668 |
|
|
7669 |
</p> |
</p> |
7670 |
|
<p>fx_send_id = |
7671 |
|
</p> |
7672 |
|
<blockquote class="text"> |
7673 |
|
<p>number |
7674 |
|
|
7675 |
|
</p> |
7676 |
|
</blockquote><p> |
7677 |
|
|
7678 |
|
</p> |
7679 |
<p>engine_name = |
<p>engine_name = |
7680 |
</p> |
</p> |
7681 |
<blockquote class="text"> |
<blockquote class="text"> |
7712 |
</blockquote><p> |
</blockquote><p> |
7713 |
|
|
7714 |
</p> |
</p> |
7715 |
|
<p>fx_send_name = |
7716 |
|
</p> |
7717 |
|
<blockquote class="text"> |
7718 |
|
<p>stringval |
7719 |
|
|
7720 |
|
</p> |
7721 |
|
</blockquote><p> |
7722 |
|
|
7723 |
|
</p> |
7724 |
<p>param_val_list = |
<p>param_val_list = |
7725 |
</p> |
</p> |
7726 |
<blockquote class="text"> |
<blockquote class="text"> |
7758 |
|
|
7759 |
<p>This chapter will describe all currently defined events supported by LinuxSampler. |
<p>This chapter will describe all currently defined events supported by LinuxSampler. |
7760 |
</p> |
</p> |
7761 |
<a name="SUBSCRIBE CHANNEL"></a><br /><hr /> |
<a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr /> |
7762 |
<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> |
7763 |
<a name="rfc.section.8.1"></a><h3>8.1. |
<a name="rfc.section.8.1"></a><h3>8.1. |
7764 |
|
Number of audio output devices changed</h3> |
7765 |
|
|
7766 |
|
<p>Client may want to be notified when the total number of audio output devices on the |
7767 |
|
back-end changes by issuing the following command: |
7768 |
|
</p> |
7769 |
|
<p> |
7770 |
|
</p> |
7771 |
|
<blockquote class="text"> |
7772 |
|
<p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT |
7773 |
|
</p> |
7774 |
|
</blockquote><p> |
7775 |
|
|
7776 |
|
</p> |
7777 |
|
<p>Server will start sending the following notification messages: |
7778 |
|
</p> |
7779 |
|
<p> |
7780 |
|
</p> |
7781 |
|
<blockquote class="text"> |
7782 |
|
<p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:<devices>" |
7783 |
|
</p> |
7784 |
|
</blockquote><p> |
7785 |
|
|
7786 |
|
</p> |
7787 |
|
<p>where <devices> will be replaced by the new number |
7788 |
|
of audio output devices. |
7789 |
|
</p> |
7790 |
|
<a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr /> |
7791 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
7792 |
|
<a name="rfc.section.8.2"></a><h3>8.2. |
7793 |
|
Audio output device's settings changed</h3> |
7794 |
|
|
7795 |
|
<p>Client may want to be notified when changes were made to audio output devices on the |
7796 |
|
back-end by issuing the following command: |
7797 |
|
</p> |
7798 |
|
<p> |
7799 |
|
</p> |
7800 |
|
<blockquote class="text"> |
7801 |
|
<p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO |
7802 |
|
</p> |
7803 |
|
</blockquote><p> |
7804 |
|
|
7805 |
|
</p> |
7806 |
|
<p>Server will start sending the following notification messages: |
7807 |
|
</p> |
7808 |
|
<p> |
7809 |
|
</p> |
7810 |
|
<blockquote class="text"> |
7811 |
|
<p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:<device-id>" |
7812 |
|
</p> |
7813 |
|
</blockquote><p> |
7814 |
|
|
7815 |
|
</p> |
7816 |
|
<p>where <device-id> will be replaced by the numerical ID of the audio output device, |
7817 |
|
which settings has been changed. The front-end will have to send |
7818 |
|
the respective command to actually get the audio output device info. Because these messages |
7819 |
|
will be triggered by LSCP commands issued by other clients rather than real |
7820 |
|
time events happening on the server, it is believed that an empty notification |
7821 |
|
message is sufficient here. |
7822 |
|
</p> |
7823 |
|
<a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr /> |
7824 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
7825 |
|
<a name="rfc.section.8.3"></a><h3>8.3. |
7826 |
|
Number of MIDI input devices changed</h3> |
7827 |
|
|
7828 |
|
<p>Client may want to be notified when the total number of MIDI input devices on the |
7829 |
|
back-end changes by issuing the following command: |
7830 |
|
</p> |
7831 |
|
<p> |
7832 |
|
</p> |
7833 |
|
<blockquote class="text"> |
7834 |
|
<p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT |
7835 |
|
</p> |
7836 |
|
</blockquote><p> |
7837 |
|
|
7838 |
|
</p> |
7839 |
|
<p>Server will start sending the following notification messages: |
7840 |
|
</p> |
7841 |
|
<p> |
7842 |
|
</p> |
7843 |
|
<blockquote class="text"> |
7844 |
|
<p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:<devices>" |
7845 |
|
</p> |
7846 |
|
</blockquote><p> |
7847 |
|
|
7848 |
|
</p> |
7849 |
|
<p>where <devices> will be replaced by the new number |
7850 |
|
of MIDI input devices. |
7851 |
|
</p> |
7852 |
|
<a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr /> |
7853 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
7854 |
|
<a name="rfc.section.8.4"></a><h3>8.4. |
7855 |
|
MIDI input device's settings changed</h3> |
7856 |
|
|
7857 |
|
<p>Client may want to be notified when changes were made to MIDI input devices on the |
7858 |
|
back-end by issuing the following command: |
7859 |
|
</p> |
7860 |
|
<p> |
7861 |
|
</p> |
7862 |
|
<blockquote class="text"> |
7863 |
|
<p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO |
7864 |
|
</p> |
7865 |
|
</blockquote><p> |
7866 |
|
|
7867 |
|
</p> |
7868 |
|
<p>Server will start sending the following notification messages: |
7869 |
|
</p> |
7870 |
|
<p> |
7871 |
|
</p> |
7872 |
|
<blockquote class="text"> |
7873 |
|
<p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:<device-id>" |
7874 |
|
</p> |
7875 |
|
</blockquote><p> |
7876 |
|
|
7877 |
|
</p> |
7878 |
|
<p>where <device-id> will be replaced by the numerical ID of the MIDI input device, |
7879 |
|
which settings has been changed. The front-end will have to send |
7880 |
|
the respective command to actually get the MIDI input device info. Because these messages |
7881 |
|
will be triggered by LSCP commands issued by other clients rather than real |
7882 |
|
time events happening on the server, it is believed that an empty notification |
7883 |
|
message is sufficient here. |
7884 |
|
</p> |
7885 |
|
<a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr /> |
7886 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
7887 |
|
<a name="rfc.section.8.5"></a><h3>8.5. |
7888 |
Number of sampler channels changed</h3> |
Number of sampler channels changed</h3> |
7889 |
|
|
7890 |
<p>Client may want to be notified when the total number of channels on the |
<p>Client may want to be notified when the total number of channels on the |
7913 |
</p> |
</p> |
7914 |
<a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr /> |
<a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr /> |
7915 |
<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> |
7916 |
<a name="rfc.section.8.2"></a><h3>8.2. |
<a name="rfc.section.8.6"></a><h3>8.6. |
7917 |
Number of active voices changed</h3> |
Number of active voices changed</h3> |
7918 |
|
|
7919 |
<p>Client may want to be notified when the number of voices on the |
<p>Client may want to be notified when the number of voices on the |
7943 |
</p> |
</p> |
7944 |
<a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr /> |
<a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr /> |
7945 |
<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> |
7946 |
<a name="rfc.section.8.3"></a><h3>8.3. |
<a name="rfc.section.8.7"></a><h3>8.7. |
7947 |
Number of active disk streams changed</h3> |
Number of active disk streams changed</h3> |
7948 |
|
|
7949 |
<p>Client may want to be notified when the number of streams on the back-end |
<p>Client may want to be notified when the number of streams on the back-end |
7973 |
</p> |
</p> |
7974 |
<a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr /> |
<a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr /> |
7975 |
<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> |
7976 |
<a name="rfc.section.8.4"></a><h3>8.4. |
<a name="rfc.section.8.8"></a><h3>8.8. |
7977 |
Disk stream buffer fill state changed</h3> |
Disk stream buffer fill state changed</h3> |
7978 |
|
|
7979 |
<p>Client may want to be notified when the buffer fill state of a disk stream |
<p>Client may want to be notified when the buffer fill state of a disk stream |
8002 |
buffer fill data for this channel as described in <a class='info' href='#GET CHANNEL BUFFER_FILL'>Section 6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> |
buffer fill data for this channel as described in <a class='info' href='#GET CHANNEL BUFFER_FILL'>Section 6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> |
8003 |
as if the <a class='info' href='#GET CHANNEL BUFFER_FILL'>"GET CHANNEL BUFFER_FILL PERCENTAGE"<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> command was issued on this channel. |
as if the <a class='info' href='#GET CHANNEL BUFFER_FILL'>"GET CHANNEL BUFFER_FILL PERCENTAGE"<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> command was issued on this channel. |
8004 |
</p> |
</p> |
8005 |
<a name="SUBSCRIBE INFO"></a><br /><hr /> |
<a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr /> |
8006 |
<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> |
8007 |
<a name="rfc.section.8.5"></a><h3>8.5. |
<a name="rfc.section.8.9"></a><h3>8.9. |
8008 |
Channel information changed</h3> |
Channel information changed</h3> |
8009 |
|
|
8010 |
<p>Client may want to be notified when changes were made to sampler channels on the |
<p>Client may want to be notified when changes were made to sampler channels on the |
8037 |
</p> |
</p> |
8038 |
<a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr /> |
<a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr /> |
8039 |
<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> |
8040 |
<a name="rfc.section.8.6"></a><h3>8.6. |
<a name="rfc.section.8.10"></a><h3>8.10. |
8041 |
Total number of active voices changed</h3> |
Total number of active voices changed</h3> |
8042 |
|
|
8043 |
<p>Client may want to be notified when the total number of voices on the |
<p>Client may want to be notified when the total number of voices on the |
8064 |
<p>where <voices> will be replaced by the new number of |
<p>where <voices> will be replaced by the new number of |
8065 |
all currently active voices. |
all currently active voices. |
8066 |
</p> |
</p> |
8067 |
|
<a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr /> |
8068 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8069 |
|
<a name="rfc.section.8.11"></a><h3>8.11. |
8070 |
|
Number of MIDI instrument maps changed</h3> |
8071 |
|
|
8072 |
|
<p>Client may want to be notified when the number of MIDI instrument maps on the |
8073 |
|
back-end changes by issuing the following command: |
8074 |
|
</p> |
8075 |
|
<p> |
8076 |
|
</p> |
8077 |
|
<blockquote class="text"> |
8078 |
|
<p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT |
8079 |
|
</p> |
8080 |
|
</blockquote><p> |
8081 |
|
|
8082 |
|
</p> |
8083 |
|
<p>Server will start sending the following notification messages: |
8084 |
|
</p> |
8085 |
|
<p> |
8086 |
|
</p> |
8087 |
|
<blockquote class="text"> |
8088 |
|
<p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:<maps>" |
8089 |
|
</p> |
8090 |
|
</blockquote><p> |
8091 |
|
|
8092 |
|
</p> |
8093 |
|
<p>where <maps> will be replaced by the new number |
8094 |
|
of MIDI instrument maps. |
8095 |
|
</p> |
8096 |
|
<a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr /> |
8097 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8098 |
|
<a name="rfc.section.8.12"></a><h3>8.12. |
8099 |
|
MIDI instrument map information changed</h3> |
8100 |
|
|
8101 |
|
<p>Client may want to be notified when changes were made to MIDI instrument maps on the |
8102 |
|
back-end by issuing the following command: |
8103 |
|
</p> |
8104 |
|
<p> |
8105 |
|
</p> |
8106 |
|
<blockquote class="text"> |
8107 |
|
<p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO |
8108 |
|
</p> |
8109 |
|
</blockquote><p> |
8110 |
|
|
8111 |
|
</p> |
8112 |
|
<p>Server will start sending the following notification messages: |
8113 |
|
</p> |
8114 |
|
<p> |
8115 |
|
</p> |
8116 |
|
<blockquote class="text"> |
8117 |
|
<p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:<map-id>" |
8118 |
|
</p> |
8119 |
|
</blockquote><p> |
8120 |
|
|
8121 |
|
</p> |
8122 |
|
<p>where <map-id> will be replaced by the numerical ID of the MIDI instrument map, |
8123 |
|
for which information changes occurred. The front-end will have to send |
8124 |
|
the respective command to actually get the MIDI instrument map info. Because these messages |
8125 |
|
will be triggered by LSCP commands issued by other clients rather than real |
8126 |
|
time events happening on the server, it is believed that an empty notification |
8127 |
|
message is sufficient here. |
8128 |
|
</p> |
8129 |
|
<a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr /> |
8130 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8131 |
|
<a name="rfc.section.8.13"></a><h3>8.13. |
8132 |
|
Number of MIDI instruments changed</h3> |
8133 |
|
|
8134 |
|
<p>Client may want to be notified when the number of MIDI instrument maps on the |
8135 |
|
back-end changes by issuing the following command: |
8136 |
|
</p> |
8137 |
|
<p> |
8138 |
|
</p> |
8139 |
|
<blockquote class="text"> |
8140 |
|
<p>SUBSCRIBE MIDI_INSTRUMENT_COUNT |
8141 |
|
</p> |
8142 |
|
</blockquote><p> |
8143 |
|
|
8144 |
|
</p> |
8145 |
|
<p>Server will start sending the following notification messages: |
8146 |
|
</p> |
8147 |
|
<p> |
8148 |
|
</p> |
8149 |
|
<blockquote class="text"> |
8150 |
|
<p>"NOTIFY:MIDI_INSTRUMENT_COUNT:<map-id> <instruments>" |
8151 |
|
</p> |
8152 |
|
</blockquote><p> |
8153 |
|
|
8154 |
|
</p> |
8155 |
|
<p>where <map-id> is the numerical ID of the MIDI instrument map, in which |
8156 |
|
the nuber of instruments has changed and <instruments> will be replaced by |
8157 |
|
the new number of MIDI instruments in the specified map. |
8158 |
|
</p> |
8159 |
|
<a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr /> |
8160 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc"> TOC </a></td></tr></table> |
8161 |
|
<a name="rfc.section.8.14"></a><h3>8.14. |
8162 |
|
MIDI instrument information changed</h3> |
8163 |
|
|
8164 |
|
<p>Client may want to be notified when changes were made to MIDI instruments on the |
8165 |
|
back-end by issuing the following command: |
8166 |
|
</p> |
8167 |
|
<p> |
8168 |
|
</p> |
8169 |
|
<blockquote class="text"> |
8170 |
|
<p>SUBSCRIBE MIDI_INSTRUMENT_INFO |
8171 |
|
</p> |
8172 |
|
</blockquote><p> |
8173 |
|
|
8174 |
|
</p> |
8175 |
|
<p>Server will start sending the following notification messages: |
8176 |
|
</p> |
8177 |
|
<p> |
8178 |
|
</p> |
8179 |
|
<blockquote class="text"> |
8180 |
|
<p>"NOTIFY:MIDI_INSTRUMENT_INFO:<map-id> <bank> <program>" |
8181 |
|
</p> |
8182 |
|
</blockquote><p> |
8183 |
|
|
8184 |
|
</p> |
8185 |
|
<p>where <map-id> will be replaced by the numerical ID of the MIDI instrument map, |
8186 |
|
in which a MIDI instrument is changed. <bank> and <program> specifies |
8187 |
|
the location of the changed MIDI instrument in the map. The front-end will have to send |
8188 |
|
the respective command to actually get the MIDI instrument info. Because these messages |
8189 |
|
will be triggered by LSCP commands issued by other clients rather than real |
8190 |
|
time events happening on the server, it is believed that an empty notification |
8191 |
|
message is sufficient here. |
8192 |
|
</p> |
8193 |
<a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr /> |
<a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr /> |
8194 |
<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> |
8195 |
<a name="rfc.section.8.7"></a><h3>8.7. |
<a name="rfc.section.8.15"></a><h3>8.15. |
8196 |
Miscellaneous and debugging events</h3> |
Miscellaneous and debugging events</h3> |
8197 |
|
|
8198 |
<p>Client may want to be notified of miscellaneous and debugging events occurring at |
<p>Client may want to be notified of miscellaneous and debugging events occurring at |