110 |
<table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1"> |
<table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1"> |
111 |
<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> |
112 |
<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> |
113 |
<tr><td class="header">Expires: November 19, 2005</td><td class="header">Engineering e. V.</td></tr> |
<tr><td class="header">Expires: November 22, 2005</td><td class="header">Engineering e. V.</td></tr> |
114 |
<tr><td class="header"> </td><td class="header">May 21, 2005</td></tr> |
<tr><td class="header"> </td><td class="header">May 24, 2005</td></tr> |
115 |
</table></td></tr></table> |
</table></td></tr></table> |
116 |
<div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div> |
<div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div> |
117 |
<div align="right"><span class="title"><br />lscp.txt</span></div> |
<div align="right"><span class="title"><br />LSCP 1.0</span></div> |
118 |
|
|
119 |
<h3>Status of this Memo</h3> |
<h3>Status of this Memo</h3> |
120 |
<p> |
<p> |
137 |
The list of Internet-Draft Shadow Directories can be accessed at |
The list of Internet-Draft Shadow Directories can be accessed at |
138 |
<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> |
139 |
<p> |
<p> |
140 |
This Internet-Draft will expire on November 19, 2005.</p> |
This Internet-Draft will expire on November 22, 2005.</p> |
141 |
|
|
142 |
<h3>Copyright Notice</h3> |
<h3>Copyright Notice</h3> |
143 |
<p> |
<p> |
147 |
|
|
148 |
<p>The LinuxSampler Control Protocol (LSCP) is an |
<p>The LinuxSampler Control Protocol (LSCP) is an |
149 |
application-level protocol primarily intended for local and |
application-level protocol primarily intended for local and |
150 |
remote controlling the LinuxSampler main application, which is a |
remote controlling the LinuxSampler backend application, which is a |
151 |
sophisticated console application essentially playing back audio |
sophisticated server-like console application essentially playing |
152 |
samples and manipulating the samples in real time to certain |
back audio samples and manipulating the samples in real time to |
153 |
extent. |
certain extent. |
154 |
</p><a name="toc"></a><br /><hr /> |
</p><a name="toc"></a><br /><hr /> |
155 |
<h3>Table of Contents</h3> |
<h3>Table of Contents</h3> |
156 |
<p class="toc"> |
<p class="toc"> |
157 |
<a href="#anchor1">1.</a> |
<a href="#anchor1">1.</a> |
158 |
Requirements notation<br /> |
Requirements notation<br /> |
159 |
<a href="#anchor2">2.</a> |
<a href="#LSCP versioning">2.</a> |
160 |
|
Versioning of this specification<br /> |
161 |
|
<a href="#anchor2">3.</a> |
162 |
Introduction<br /> |
Introduction<br /> |
163 |
<a href="#anchor3">3.</a> |
<a href="#anchor3">4.</a> |
164 |
Focus of this protocol<br /> |
Focus of this protocol<br /> |
165 |
<a href="#anchor4">4.</a> |
<a href="#anchor4">5.</a> |
166 |
Communication Overview<br /> |
Communication Overview<br /> |
167 |
<a href="#anchor5">4.1</a> |
<a href="#anchor5">5.1</a> |
168 |
Request/response communication method<br /> |
Request/response communication method<br /> |
169 |
<a href="#anchor6">4.1.1</a> |
<a href="#anchor6">5.1.1</a> |
170 |
Result format<br /> |
Result format<br /> |
171 |
<a href="#anchor7">4.2</a> |
<a href="#anchor7">5.2</a> |
172 |
Subscribe/notify communication method<br /> |
Subscribe/notify communication method<br /> |
173 |
<a href="#anchor8">5.</a> |
<a href="#control_commands">6.</a> |
174 |
Description for control commands<br /> |
Description for control commands<br /> |
175 |
<a href="#anchor9">5.1</a> |
<a href="#anchor8">6.1</a> |
176 |
Ignored lines and comments<br /> |
Ignored lines and comments<br /> |
177 |
<a href="#anchor10">5.2</a> |
<a href="#anchor9">6.2</a> |
178 |
Configuring audio drivers<br /> |
Configuring audio drivers<br /> |
179 |
<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.1</a> |
<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a> |
180 |
Getting amount of available audio output drivers<br /> |
Getting amount of available audio output drivers<br /> |
181 |
<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.2</a> |
<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a> |
182 |
Getting all available audio output drivers<br /> |
Getting all available audio output drivers<br /> |
183 |
<a href="#GET AUDIO_OUTPUT_DRIVER INFO">5.2.3</a> |
<a href="#GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a> |
184 |
Getting information about a specific audio |
Getting information about a specific audio |
185 |
output driver<br /> |
output driver<br /> |
186 |
<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">5.2.4</a> |
<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a> |
187 |
Getting information about specific audio |
Getting information about specific audio |
188 |
output driver parameter<br /> |
output driver parameter<br /> |
189 |
<a href="#CREATE AUDIO_OUTPUT_DEVICE">5.2.5</a> |
<a href="#CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a> |
190 |
Creating an audio output device<br /> |
Creating an audio output device<br /> |
191 |
<a href="#DESTROY AUDIO_OUTPUT_DEVICE">5.2.6</a> |
<a href="#DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a> |
192 |
Destroying an audio output device<br /> |
Destroying an audio output device<br /> |
193 |
<a href="#GET AUDIO_OUTPUT_DEVICES">5.2.7</a> |
<a href="#GET AUDIO_OUTPUT_DEVICES">6.2.7</a> |
194 |
Getting all created audio output device count<br /> |
Getting all created audio output device count<br /> |
195 |
<a href="#LIST AUDIO_OUTPUT_DEVICES">5.2.8</a> |
<a href="#LIST AUDIO_OUTPUT_DEVICES">6.2.8</a> |
196 |
Getting all created audio output device list<br /> |
Getting all created audio output device list<br /> |
197 |
<a href="#GET AUDIO_OUTPUT_DEVICE INFO">5.2.9</a> |
<a href="#GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a> |
198 |
Getting current settings of an audio output device<br /> |
Getting current settings of an audio output device<br /> |
199 |
<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">5.2.10</a> |
<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a> |
200 |
Changing settings of audio output devices<br /> |
Changing settings of audio output devices<br /> |
201 |
<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">5.2.11</a> |
<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a> |
202 |
Getting information about an audio channel<br /> |
Getting information about an audio channel<br /> |
203 |
<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">5.2.12</a> |
<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a> |
204 |
Getting information about specific audio channel parameter<br /> |
Getting information about specific audio channel parameter<br /> |
205 |
<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">5.2.13</a> |
<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a> |
206 |
Changing settings of audio output channels<br /> |
Changing settings of audio output channels<br /> |
207 |
<a href="#anchor11">5.3</a> |
<a href="#anchor10">6.3</a> |
208 |
Configuring MIDI input drivers<br /> |
Configuring MIDI input drivers<br /> |
209 |
<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">5.3.1</a> |
<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a> |
210 |
Getting amount of available MIDI input drivers<br /> |
Getting amount of available MIDI input drivers<br /> |
211 |
<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">5.3.2</a> |
<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a> |
212 |
Getting all available MIDI input drivers<br /> |
Getting all available MIDI input drivers<br /> |
213 |
<a href="#GET MIDI_INPUT_DRIVER INFO">5.3.3</a> |
<a href="#GET MIDI_INPUT_DRIVER INFO">6.3.3</a> |
214 |
Getting information about a specific MIDI input driver<br /> |
Getting information about a specific MIDI input driver<br /> |
215 |
<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">5.3.4</a> |
<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a> |
216 |
Getting information about specific MIDI input driver parameter<br /> |
Getting information about specific MIDI input driver parameter<br /> |
217 |
<a href="#CREATE MIDI_INPUT_DEVICE">5.3.5</a> |
<a href="#CREATE MIDI_INPUT_DEVICE">6.3.5</a> |
218 |
Creating a MIDI input device<br /> |
Creating a MIDI input device<br /> |
219 |
<a href="#DESTROY MIDI_INPUT_DEVICE">5.3.6</a> |
<a href="#DESTROY MIDI_INPUT_DEVICE">6.3.6</a> |
220 |
Destroying a MIDI input device<br /> |
Destroying a MIDI input device<br /> |
221 |
<a href="#GET MIDI_INPUT_DEVICES">5.3.7</a> |
<a href="#GET MIDI_INPUT_DEVICES">6.3.7</a> |
222 |
Getting all created MIDI input device count<br /> |
Getting all created MIDI input device count<br /> |
223 |
<a href="#LIST MIDI_INPUT_DEVICES">5.3.8</a> |
<a href="#LIST MIDI_INPUT_DEVICES">6.3.8</a> |
224 |
Getting all created MIDI input device list<br /> |
Getting all created MIDI input device list<br /> |
225 |
<a href="#GET MIDI_INPUT_DEVICE INFO">5.3.9</a> |
<a href="#GET MIDI_INPUT_DEVICE INFO">6.3.9</a> |
226 |
Getting current settings of a MIDI input device<br /> |
Getting current settings of a MIDI input device<br /> |
227 |
<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">5.3.10</a> |
<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a> |
228 |
Changing settings of MIDI input devices<br /> |
Changing settings of MIDI input devices<br /> |
229 |
<a href="#GET MIDI_INPUT_PORT INFO">5.3.11</a> |
<a href="#GET MIDI_INPUT_PORT INFO">6.3.11</a> |
230 |
Getting information about a MIDI port<br /> |
Getting information about a MIDI port<br /> |
231 |
<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">5.3.12</a> |
<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a> |
232 |
Getting information about specific MIDI port parameter<br /> |
Getting information about specific MIDI port parameter<br /> |
233 |
<a href="#SET MIDI_INPUT_PORT_PARAMETER">5.3.13</a> |
<a href="#SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a> |
234 |
Changing settings of MIDI input ports<br /> |
Changing settings of MIDI input ports<br /> |
235 |
<a href="#anchor12">5.4</a> |
<a href="#anchor11">6.4</a> |
236 |
Configuring sampler channels<br /> |
Configuring sampler channels<br /> |
237 |
<a href="#LOAD INSTRUMENT">5.4.1</a> |
<a href="#LOAD INSTRUMENT">6.4.1</a> |
238 |
Loading an instrument<br /> |
Loading an instrument<br /> |
239 |
<a href="#LOAD ENGINE">5.4.2</a> |
<a href="#LOAD ENGINE">6.4.2</a> |
240 |
Loading a sampler engine<br /> |
Loading a sampler engine<br /> |
241 |
<a href="#GET CHANNELS">5.4.3</a> |
<a href="#GET CHANNELS">6.4.3</a> |
242 |
Getting all created sampler channel count<br /> |
Getting all created sampler channel count<br /> |
243 |
<a href="#LIST CHANNELS">5.4.4</a> |
<a href="#LIST CHANNELS">6.4.4</a> |
244 |
Getting all created sampler channel list<br /> |
Getting all created sampler channel list<br /> |
245 |
<a href="#ADD CHANNEL">5.4.5</a> |
<a href="#ADD CHANNEL">6.4.5</a> |
246 |
Adding a new sampler channel<br /> |
Adding a new sampler channel<br /> |
247 |
<a href="#REMOVE CHANNEL">5.4.6</a> |
<a href="#REMOVE CHANNEL">6.4.6</a> |
248 |
Removing a sampler channel<br /> |
Removing a sampler channel<br /> |
249 |
<a href="#GET AVAILABLE_ENGINES">5.4.7</a> |
<a href="#GET AVAILABLE_ENGINES">6.4.7</a> |
250 |
Getting amount of available engines<br /> |
Getting amount of available engines<br /> |
251 |
<a href="#LIST AVAILABLE_ENGINES">5.4.8</a> |
<a href="#LIST AVAILABLE_ENGINES">6.4.8</a> |
252 |
Getting all available engines<br /> |
Getting all available engines<br /> |
253 |
<a href="#GET ENGINE INFO">5.4.9</a> |
<a href="#GET ENGINE INFO">6.4.9</a> |
254 |
Getting information about an engine<br /> |
Getting information about an engine<br /> |
255 |
<a href="#GET CHANNEL INFO">5.4.10</a> |
<a href="#GET CHANNEL INFO">6.4.10</a> |
256 |
Getting sampler channel information<br /> |
Getting sampler channel information<br /> |
257 |
<a href="#GET CHANNEL VOICE_COUNT">5.4.11</a> |
<a href="#GET CHANNEL VOICE_COUNT">6.4.11</a> |
258 |
Current number of active voices<br /> |
Current number of active voices<br /> |
259 |
<a href="#GET CHANNEL STREAM_COUNT">5.4.12</a> |
<a href="#GET CHANNEL STREAM_COUNT">6.4.12</a> |
260 |
Current number of active disk streams<br /> |
Current number of active disk streams<br /> |
261 |
<a href="#GET CHANNEL BUFFER_FILL">5.4.13</a> |
<a href="#GET CHANNEL BUFFER_FILL">6.4.13</a> |
262 |
Current fill state of disk stream buffers<br /> |
Current fill state of disk stream buffers<br /> |
263 |
<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">5.4.14</a> |
<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a> |
264 |
Setting audio output device<br /> |
Setting audio output device<br /> |
265 |
<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">5.4.15</a> |
<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a> |
266 |
Setting audio output type<br /> |
Setting audio output type<br /> |
267 |
<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">5.4.16</a> |
<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a> |
268 |
Setting audio output channel<br /> |
Setting audio output channel<br /> |
269 |
<a href="#SET CHANNEL MIDI_INPUT_DEVICE">5.4.17</a> |
<a href="#SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a> |
270 |
Setting MIDI input device<br /> |
Setting MIDI input device<br /> |
271 |
<a href="#SET CHANNEL MIDI_INPUT_TYPE">5.4.18</a> |
<a href="#SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a> |
272 |
Setting MIDI input type<br /> |
Setting MIDI input type<br /> |
273 |
<a href="#SET CHANNEL MIDI_INPUT_PORT">5.4.19</a> |
<a href="#SET CHANNEL MIDI_INPUT_PORT">6.4.19</a> |
274 |
Setting MIDI input port<br /> |
Setting MIDI input port<br /> |
275 |
<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">5.4.20</a> |
<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a> |
276 |
Setting MIDI input channel<br /> |
Setting MIDI input channel<br /> |
277 |
<a href="#SET CHANNEL VOLUME">5.4.21</a> |
<a href="#SET CHANNEL VOLUME">6.4.21</a> |
278 |
Setting channel volume<br /> |
Setting channel volume<br /> |
279 |
<a href="#RESET CHANNEL">5.4.22</a> |
<a href="#RESET CHANNEL">6.4.22</a> |
280 |
Resetting a sampler channel<br /> |
Resetting a sampler channel<br /> |
281 |
<a href="#anchor13">5.5</a> |
<a href="#anchor12">6.5</a> |
282 |
Controlling connection<br /> |
Controlling connection<br /> |
283 |
<a href="#SUBSCRIBE">5.5.1</a> |
<a href="#SUBSCRIBE">6.5.1</a> |
284 |
Register front-end for receiving event messages<br /> |
Register front-end for receiving event messages<br /> |
285 |
<a href="#UNSUBSCRIBE">5.5.2</a> |
<a href="#UNSUBSCRIBE">6.5.2</a> |
286 |
Unregister front-end for not receiving event messages<br /> |
Unregister front-end for not receiving event messages<br /> |
287 |
<a href="#SET ECHO">5.5.3</a> |
<a href="#SET ECHO">6.5.3</a> |
288 |
Enable or disable echo of commands<br /> |
Enable or disable echo of commands<br /> |
289 |
<a href="#QUIT">5.5.4</a> |
<a href="#QUIT">6.5.4</a> |
290 |
Close client connection<br /> |
Close client connection<br /> |
291 |
<a href="#anchor14">5.6</a> |
<a href="#anchor13">6.6</a> |
292 |
Global commands<br /> |
Global commands<br /> |
293 |
<a href="#RESET">5.6.1</a> |
<a href="#RESET">6.6.1</a> |
294 |
Reset sampler<br /> |
Reset sampler<br /> |
295 |
<a href="#command_syntax">6.</a> |
<a href="#GET SERVER INFO">6.6.2</a> |
296 |
|
General sampler informations<br /> |
297 |
|
<a href="#command_syntax">7.</a> |
298 |
Command Syntax<br /> |
Command Syntax<br /> |
299 |
<a href="#events">7.</a> |
<a href="#events">8.</a> |
300 |
Events<br /> |
Events<br /> |
301 |
<a href="#SUBSCRIBE CHANNEL">7.1</a> |
<a href="#SUBSCRIBE CHANNEL">8.1</a> |
302 |
Number of sampler channels changed<br /> |
Number of sampler channels changed<br /> |
303 |
<a href="#SUBSCRIBE VOICE_COUNT">7.2</a> |
<a href="#SUBSCRIBE VOICE_COUNT">8.2</a> |
304 |
Number of active voices changed<br /> |
Number of active voices changed<br /> |
305 |
<a href="#SUBSCRIBE STREAM_COUNT">7.3</a> |
<a href="#SUBSCRIBE STREAM_COUNT">8.3</a> |
306 |
Number of active disk streams changed<br /> |
Number of active disk streams changed<br /> |
307 |
<a href="#SUBSCRIBE BUFFER_FILL">7.4</a> |
<a href="#SUBSCRIBE BUFFER_FILL">8.4</a> |
308 |
Disk stream buffer fill state changed<br /> |
Disk stream buffer fill state changed<br /> |
309 |
<a href="#SUBSCRIBE INFO">7.5</a> |
<a href="#SUBSCRIBE INFO">8.5</a> |
310 |
Channel information changed<br /> |
Channel information changed<br /> |
311 |
<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a> |
<a href="#SUBSCRIBE MISCELLANEOUS">8.6</a> |
312 |
Miscellaneous and debugging events<br /> |
Miscellaneous and debugging events<br /> |
313 |
<a href="#anchor15">8.</a> |
<a href="#anchor14">9.</a> |
314 |
Security Considerations<br /> |
Security Considerations<br /> |
315 |
<a href="#anchor16">9.</a> |
<a href="#anchor15">10.</a> |
316 |
Acknowledgments<br /> |
Acknowledgments<br /> |
317 |
<a href="#rfc.references1">10.</a> |
<a href="#rfc.references1">11.</a> |
318 |
References<br /> |
References<br /> |
319 |
<a href="#rfc.authors">§</a> |
<a href="#rfc.authors">§</a> |
320 |
Author's Address<br /> |
Author's Address<br /> |
330 |
<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", |
<p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", |
331 |
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", |
"SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", |
332 |
and "OPTIONAL" in this document are to be interpreted as |
and "OPTIONAL" in this document are to be interpreted as |
333 |
described in <a class="info" href="#RFC2119">[RFC2119]<span>Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, March 1997.</span></a>. |
described in <a class="info" href="#RFC2119">[RFC2119]<span>Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, 1997.</span></a>. |
334 |
</p> |
</p> |
335 |
<p>This protocol is always case-sensitive if not explicitly |
<p>This protocol is always case-sensitive if not explicitly |
336 |
claimed the opposite. |
claimed the opposite. |
397 |
<p>where again <CR> and <LF> symbolize the carriage |
<p>where again <CR> and <LF> symbolize the carriage |
398 |
return and line feed characters respectively. |
return and line feed characters respectively. |
399 |
</p> |
</p> |
400 |
|
<a name="LSCP versioning"></a><br /><hr /> |
401 |
|
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
402 |
|
<a name="rfc.section.2"></a><h3>2. Versioning of this specification</h3> |
403 |
|
|
404 |
|
<p>LSCP will certainly be extended and enhanced by-and-by. Each official |
405 |
|
release of the LSCP specification will be tagged with a unique version |
406 |
|
tuple. The version tuple consists at least of a major and minor version |
407 |
|
number like: |
408 |
|
|
409 |
|
</p> |
410 |
|
<p></p> |
411 |
|
<blockquote class="text"> |
412 |
|
<p>"1.2" |
413 |
|
</p> |
414 |
|
</blockquote> |
415 |
|
|
416 |
|
<p> |
417 |
|
In this example the major version number would be "1" and the minor |
418 |
|
version number would be "2". Note that the version tuple might also |
419 |
|
have more than two elements. The major version number defines a |
420 |
|
group of backward compatible versions. That means a frontend is |
421 |
|
compatible to the connected sampler if and only if the LSCP versions |
422 |
|
to which each of the two parties complies to, match both of the |
423 |
|
following rules: |
424 |
|
|
425 |
|
</p> |
426 |
|
<p>Compatibility: |
427 |
|
</p> |
428 |
|
<p></p> |
429 |
|
<ol class="text"> |
430 |
|
<li>The frontend's LSCP major version and the sampler's LSCP |
431 |
|
major version are exactly equal. |
432 |
|
</li> |
433 |
|
<li>The frontend's LSCP minor version is less or equal than |
434 |
|
the sampler's LSCP minor version. |
435 |
|
</li> |
436 |
|
</ol> |
437 |
|
|
438 |
|
<p> |
439 |
|
Compatibility can only be claimed if both rules are true. |
440 |
|
The frontend can use the |
441 |
|
<a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span>General sampler informations</span></a> command to |
442 |
|
get the version of the LSCP specification the sampler complies with. |
443 |
|
|
444 |
|
</p> |
445 |
<a name="anchor2"></a><br /><hr /> |
<a name="anchor2"></a><br /><hr /> |
446 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
447 |
<a name="rfc.section.2"></a><h3>2. Introduction</h3> |
<a name="rfc.section.3"></a><h3>3. Introduction</h3> |
448 |
|
|
449 |
<p>LinuxSampler is a so called software sampler application |
<p>LinuxSampler is a so called software sampler application |
450 |
capable to playback audio samples from a computer's Random |
capable to playback audio samples from a computer's Random |
457 |
arbitrary MIDI input method and arbitrary MIDI channel (e.g. |
arbitrary MIDI input method and arbitrary MIDI channel (e.g. |
458 |
sampler channel 17 could be connected to an ALSA sequencer |
sampler channel 17 could be connected to an ALSA sequencer |
459 |
device 64:0 and listening to MIDI channel 1 there). Each sampler |
device 64:0 and listening to MIDI channel 1 there). Each sampler |
460 |
engine will be assigned an own instance of one of the available |
channel will be associated with an instance of one of the available |
461 |
sampler engines (e.g. GigEngine, DLSEngine). The audio output of |
sampler engines (e.g. GigEngine, DLSEngine). The audio output of |
462 |
each sampler channel can be routed to an arbitrary audio output |
each sampler channel can be routed to an arbitrary audio output |
463 |
method (ALSA / JACK) and an arbitrary audio output channel |
method (ALSA / JACK) and an arbitrary audio output channel |
465 |
</p> |
</p> |
466 |
<a name="anchor3"></a><br /><hr /> |
<a name="anchor3"></a><br /><hr /> |
467 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
468 |
<a name="rfc.section.3"></a><h3>3. Focus of this protocol</h3> |
<a name="rfc.section.4"></a><h3>4. Focus of this protocol</h3> |
469 |
|
|
470 |
<p>Main focus of this protocol is to provide a way to configure |
<p>Main focus of this protocol is to provide a way to configure |
471 |
a running LinuxSampler instance and to retrieve information |
a running LinuxSampler instance and to retrieve information |
477 |
</p> |
</p> |
478 |
<a name="anchor4"></a><br /><hr /> |
<a name="anchor4"></a><br /><hr /> |
479 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
480 |
<a name="rfc.section.4"></a><h3>4. Communication Overview</h3> |
<a name="rfc.section.5"></a><h3>5. Communication Overview</h3> |
481 |
|
|
482 |
<p>There are two distinct methods of communication between a |
<p>There are two distinct methods of communication between a |
483 |
running instance of LinuxSampler and one or more control |
running instance of LinuxSampler and one or more control |
490 |
implemented in the front-end application. The two communication |
implemented in the front-end application. The two communication |
491 |
methods will be described next. |
methods will be described next. |
492 |
</p> |
</p> |
493 |
<a name="rfc.section.4.1"></a><h4><a name="anchor5">4.1</a> Request/response communication method</h4> |
<a name="rfc.section.5.1"></a><h4><a name="anchor5">5.1</a> Request/response communication method</h4> |
494 |
|
|
495 |
<p>This simple communication method is based on TCP. The |
<p>This simple communication method is based on |
496 |
|
<a class="info" href="#RFC793">TCP<span>Defense Advanced Research Projects Agency, TRANSMISSION CONTROL PROTOCOL, 1981.</span></a>[RFC793]. The |
497 |
front-end application establishes a TCP connection to the |
front-end application establishes a TCP connection to the |
498 |
LinuxSampler instance on a certain host system. Then the |
LinuxSampler instance on a certain host system. Then the |
499 |
front-end application will send certain ASCII based commands |
front-end application will send certain ASCII based commands |
533 |
processed in the order they were received and result sets |
processed in the order they were received and result sets |
534 |
MUST be sent back in the same order. |
MUST be sent back in the same order. |
535 |
</p> |
</p> |
536 |
<a name="rfc.section.4.1.1"></a><h4><a name="anchor6">4.1.1</a> Result format</h4> |
<a name="rfc.section.5.1.1"></a><h4><a name="anchor6">5.1.1</a> Result format</h4> |
537 |
|
|
538 |
<p>Result set could be one of the following types: |
<p>Result set could be one of the following types: |
539 |
</p> |
</p> |
697 |
</p> |
</p> |
698 |
</blockquote> |
</blockquote> |
699 |
|
|
700 |
<a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a> Subscribe/notify communication method</h4> |
<a name="rfc.section.5.2"></a><h4><a name="anchor7">5.2</a> Subscribe/notify communication method</h4> |
701 |
|
|
702 |
<p>This more sophisticated communication method is actually |
<p>This more sophisticated communication method is actually |
703 |
only an extension of the simple request/response |
only an extension of the simple request/response |
766 |
|
|
767 |
<p>where <event-id> will be replace by the respective |
<p>where <event-id> will be replace by the respective |
768 |
event that client is no longer interested in receiving. For |
event that client is no longer interested in receiving. For |
769 |
a list of supported events see <a class="info" href="#events">Section 7<span>Events</span></a>. |
a list of supported events see <a class="info" href="#events">Section 8<span>Events</span></a>. |
770 |
</p> |
</p> |
771 |
<p>Example: the fill states of disk stream buffers have |
<p>Example: the fill states of disk stream buffers have |
772 |
changed on sampler channel 4 and the LinuxSampler instance |
changed on sampler channel 4 and the LinuxSampler instance |
809 |
If client reconnects it MUST resubscribe to all events that |
If client reconnects it MUST resubscribe to all events that |
810 |
it wants to receive. |
it wants to receive. |
811 |
</p> |
</p> |
812 |
<a name="anchor8"></a><br /><hr /> |
<a name="control_commands"></a><br /><hr /> |
813 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
814 |
<a name="rfc.section.5"></a><h3>5. Description for control commands</h3> |
<a name="rfc.section.6"></a><h3>6. Description for control commands</h3> |
815 |
|
|
816 |
<p>This chapter will describe the available control commands |
<p>This chapter will describe the available control commands |
817 |
that can be sent on the TCP connection in detail. Some certain |
that can be sent on the TCP connection in detail. Some certain |
820 |
multiple-line responses. In this case LinuxSampler signals the |
multiple-line responses. In this case LinuxSampler signals the |
821 |
end of the response by a "." (single dot) line. |
end of the response by a "." (single dot) line. |
822 |
</p> |
</p> |
823 |
<a name="rfc.section.5.1"></a><h4><a name="anchor9">5.1</a> Ignored lines and comments</h4> |
<a name="rfc.section.6.1"></a><h4><a name="anchor8">6.1</a> Ignored lines and comments</h4> |
824 |
|
|
825 |
<p>White lines, that is lines which only contain space and |
<p>White lines, that is lines which only contain space and |
826 |
tabulator characters, and lines that start with a "#" |
tabulator characters, and lines that start with a "#" |
828 |
group commands and to place comments in a LSCP script |
group commands and to place comments in a LSCP script |
829 |
file. |
file. |
830 |
</p> |
</p> |
831 |
<a name="rfc.section.5.2"></a><h4><a name="anchor10">5.2</a> Configuring audio drivers</h4> |
<a name="rfc.section.6.2"></a><h4><a name="anchor9">6.2</a> Configuring audio drivers</h4> |
832 |
|
|
833 |
<p>Instances of drivers in LinuxSampler are called devices. |
<p>Instances of drivers in LinuxSampler are called devices. |
834 |
You can use multiple audio devices simultaneously, e.g. to |
You can use multiple audio devices simultaneously, e.g. to |
861 |
what parameters drivers are offering, how to retrieve their |
what parameters drivers are offering, how to retrieve their |
862 |
possible values, etc. |
possible values, etc. |
863 |
</p> |
</p> |
864 |
<a name="rfc.section.5.2.1"></a><h4><a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.1</a> Getting amount of available audio output drivers</h4> |
<a name="rfc.section.6.2.1"></a><h4><a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a> Getting amount of available audio output drivers</h4> |
865 |
|
|
866 |
<p>Use the following command to get the number of |
<p>Use the following command to get the number of |
867 |
audio output drivers currently available for the |
audio output drivers currently available for the |
892 |
</p> |
</p> |
893 |
</blockquote> |
</blockquote> |
894 |
|
|
895 |
<a name="rfc.section.5.2.2"></a><h4><a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.2</a> Getting all available audio output drivers</h4> |
<a name="rfc.section.6.2.2"></a><h4><a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a> Getting all available audio output drivers</h4> |
896 |
|
|
897 |
<p>Use the following command to list all audio output |
<p>Use the following command to list all audio output |
898 |
drivers currently available for the LinuxSampler |
drivers currently available for the LinuxSampler |
924 |
</p> |
</p> |
925 |
</blockquote> |
</blockquote> |
926 |
|
|
927 |
<a name="rfc.section.5.2.3"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER INFO">5.2.3</a> Getting information about a specific audio |
<a name="rfc.section.6.2.3"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a> Getting information about a specific audio |
928 |
output driver</h4> |
output driver</h4> |
929 |
|
|
930 |
<p>Use the following command to get detailed information |
<p>Use the following command to get detailed information |
1010 |
</p> |
</p> |
1011 |
</blockquote> |
</blockquote> |
1012 |
|
|
1013 |
<a name="rfc.section.5.2.4"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">5.2.4</a> Getting information about specific audio |
<a name="rfc.section.6.2.4"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a> Getting information about specific audio |
1014 |
output driver parameter</h4> |
output driver parameter</h4> |
1015 |
|
|
1016 |
<p>Use the following command to get detailed information |
<p>Use the following command to get detailed information |
1240 |
</p> |
</p> |
1241 |
</blockquote> |
</blockquote> |
1242 |
|
|
1243 |
<a name="rfc.section.5.2.5"></a><h4><a name="CREATE AUDIO_OUTPUT_DEVICE">5.2.5</a> Creating an audio output device</h4> |
<a name="rfc.section.6.2.5"></a><h4><a name="CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a> Creating an audio output device</h4> |
1244 |
|
|
1245 |
<p>Use the following command to create a new audio output device for the desired audio output system: |
<p>Use the following command to create a new audio output device for the desired audio output system: |
1246 |
</p> |
</p> |
1251 |
</blockquote> |
</blockquote> |
1252 |
|
|
1253 |
<p>Where <audio-output-driver> should be replaced by the desired audio |
<p>Where <audio-output-driver> should be replaced by the desired audio |
1254 |
output system and <param-list> by an optional list of driver |
output system as returned by the |
1255 |
|
<a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span>Getting all available audio output drivers</span></a> |
1256 |
|
command and <param-list> by an optional list of driver |
1257 |
specific parameters in form of "key1=val1 key2=val2 ...", where |
specific parameters in form of "key1=val1 key2=val2 ...", where |
1258 |
character string values should be encapsulated into apostrophes ('). |
character string values should be encapsulated into apostrophes ('). |
1259 |
Note that there might be drivers which require parameter(s) to be |
Note that there might be drivers which require parameter(s) to be |
1311 |
</p> |
</p> |
1312 |
</blockquote> |
</blockquote> |
1313 |
|
|
1314 |
<a name="rfc.section.5.2.6"></a><h4><a name="DESTROY AUDIO_OUTPUT_DEVICE">5.2.6</a> Destroying an audio output device</h4> |
<a name="rfc.section.6.2.6"></a><h4><a name="DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a> Destroying an audio output device</h4> |
1315 |
|
|
1316 |
<p>Use the following command to destroy a created output device: |
<p>Use the following command to destroy a created output device: |
1317 |
</p> |
</p> |
1369 |
</p> |
</p> |
1370 |
</blockquote> |
</blockquote> |
1371 |
|
|
1372 |
<a name="rfc.section.5.2.7"></a><h4><a name="GET AUDIO_OUTPUT_DEVICES">5.2.7</a> Getting all created audio output device count</h4> |
<a name="rfc.section.6.2.7"></a><h4><a name="GET AUDIO_OUTPUT_DEVICES">6.2.7</a> Getting all created audio output device count</h4> |
1373 |
|
|
1374 |
<p>Use the following command to count all created audio output devices: |
<p>Use the following command to count all created audio output devices: |
1375 |
</p> |
</p> |
1398 |
</p> |
</p> |
1399 |
</blockquote> |
</blockquote> |
1400 |
|
|
1401 |
<a name="rfc.section.5.2.8"></a><h4><a name="LIST AUDIO_OUTPUT_DEVICES">5.2.8</a> Getting all created audio output device list</h4> |
<a name="rfc.section.6.2.8"></a><h4><a name="LIST AUDIO_OUTPUT_DEVICES">6.2.8</a> Getting all created audio output device list</h4> |
1402 |
|
|
1403 |
<p>Use the following command to list all created audio output devices: |
<p>Use the following command to list all created audio output devices: |
1404 |
</p> |
</p> |
1427 |
</p> |
</p> |
1428 |
</blockquote> |
</blockquote> |
1429 |
|
|
1430 |
<a name="rfc.section.5.2.9"></a><h4><a name="GET AUDIO_OUTPUT_DEVICE INFO">5.2.9</a> Getting current settings of an audio output device</h4> |
<a name="rfc.section.6.2.9"></a><h4><a name="GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a> Getting current settings of an audio output device</h4> |
1431 |
|
|
1432 |
<p>Use the following command to get current settings of a specific, created audio output device: |
<p>Use the following command to get current settings of a specific, created audio output device: |
1433 |
</p> |
</p> |
1494 |
order. The fields above are only those fields which are |
order. The fields above are only those fields which are |
1495 |
returned by all audio output devices. Every audio output driver |
returned by all audio output devices. Every audio output driver |
1496 |
might have its own, additional driver specific parameters (see |
might have its own, additional driver specific parameters (see |
1497 |
<a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section 5.2.3<span>Getting information about a specific audio output driver</span></a>) |
<a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section 6.2.3<span>Getting information about a specific audio output driver</span></a>) |
1498 |
which are also returned by this command. |
which are also returned by this command. |
1499 |
</p> |
</p> |
1500 |
<p>Example: |
<p>Example: |
1521 |
</p> |
</p> |
1522 |
</blockquote> |
</blockquote> |
1523 |
|
|
1524 |
<a name="rfc.section.5.2.10"></a><h4><a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER">5.2.10</a> Changing settings of audio output devices</h4> |
<a name="rfc.section.6.2.10"></a><h4><a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a> Changing settings of audio output devices</h4> |
1525 |
|
|
1526 |
<p>Use the following command to alter a specific setting of a created audio output device: |
<p>Use the following command to alter a specific setting of a created audio output device: |
1527 |
</p> |
</p> |
1532 |
</blockquote> |
</blockquote> |
1533 |
|
|
1534 |
<p>Where <device-id> should be replaced by the numerical ID of the |
<p>Where <device-id> should be replaced by the numerical ID of the |
1535 |
audio output device, <key> by the name of the parameter to change |
audio output device as given by the |
1536 |
|
<a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a> |
1537 |
|
or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
1538 |
|
command, <key> by the name of the parameter to change |
1539 |
and <value> by the new value for this parameter. |
and <value> by the new value for this parameter. |
1540 |
</p> |
</p> |
1541 |
<p>Possible Answers: |
<p>Possible Answers: |
1578 |
</p> |
</p> |
1579 |
</blockquote> |
</blockquote> |
1580 |
|
|
1581 |
<a name="rfc.section.5.2.11"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL INFO">5.2.11</a> Getting information about an audio channel</h4> |
<a name="rfc.section.6.2.11"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a> Getting information about an audio channel</h4> |
1582 |
|
|
1583 |
<p>Use the following command to get information about an audio channel: |
<p>Use the following command to get information about an audio channel: |
1584 |
</p> |
</p> |
1588 |
</p> |
</p> |
1589 |
</blockquote> |
</blockquote> |
1590 |
|
|
1591 |
<p>Where <device-id> is the numerical ID of the audio output device |
<p>Where <device-id> is the numerical ID of the audio output device as given by the |
1592 |
and <audio-chan> the audio channel number. |
<a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a> |
1593 |
|
or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
1594 |
|
command and <audio-chan> the audio channel number. |
1595 |
</p> |
</p> |
1596 |
<p>Possible Answers: |
<p>Possible Answers: |
1597 |
</p> |
</p> |
1701 |
</p> |
</p> |
1702 |
</blockquote> |
</blockquote> |
1703 |
|
|
1704 |
<a name="rfc.section.5.2.12"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">5.2.12</a> Getting information about specific audio channel parameter</h4> |
<a name="rfc.section.6.2.12"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a> Getting information about specific audio channel parameter</h4> |
1705 |
|
|
1706 |
<p>Use the following command to get detailed information about specific audio channel parameter: |
<p>Use the following command to get detailed information about specific audio channel parameter: |
1707 |
</p> |
</p> |
1711 |
</p> |
</p> |
1712 |
</blockquote> |
</blockquote> |
1713 |
|
|
1714 |
<p>Where <dev-id> is the numerical ID of the audio output device as returned |
<p>Where <dev-id> is the numerical ID of the audio output device as returned by the |
1715 |
by the <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
<a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a> |
1716 |
|
or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
1717 |
command, <chan> the audio channel number |
command, <chan> the audio channel number |
1718 |
and <param> a specific channel parameter name for which information should |
and <param> a specific channel parameter name for which information should |
1719 |
be obtained (as returned by the <a class="info" href="#GET AUDIO_OUTPUT_CHANNEL INFO">"GET AUDIO_OUTPUT_CHANNEL INFO"<span>Getting information about an audio channel</span></a> command). |
be obtained (as returned by the <a class="info" href="#GET AUDIO_OUTPUT_CHANNEL INFO">"GET AUDIO_OUTPUT_CHANNEL INFO"<span>Getting information about an audio channel</span></a> command). |
1830 |
</p> |
</p> |
1831 |
</blockquote> |
</blockquote> |
1832 |
|
|
1833 |
<a name="rfc.section.5.2.13"></a><h4><a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER">5.2.13</a> Changing settings of audio output channels</h4> |
<a name="rfc.section.6.2.13"></a><h4><a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a> Changing settings of audio output channels</h4> |
1834 |
|
|
1835 |
<p>Use the following command to alter a specific setting of an audio output channel: |
<p>Use the following command to alter a specific setting of an audio output channel: |
1836 |
</p> |
</p> |
1840 |
</p> |
</p> |
1841 |
</blockquote> |
</blockquote> |
1842 |
|
|
1843 |
<p>Where <dev-id> should be replaced by the numerical ID of the audio |
<p>Where <dev-id> should be replaced by the numerical ID of the audio output device as returned by the |
1844 |
device, <chn> by the audio channel number, <key> by the name of the |
<a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a> |
1845 |
|
or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
1846 |
|
command, <chn> by the audio channel number, <key> by the name of the |
1847 |
parameter to change and <value> by the new value for this parameter. |
parameter to change and <value> by the new value for this parameter. |
1848 |
</p> |
</p> |
1849 |
<p>Possible Answers: |
<p>Possible Answers: |
1894 |
</p> |
</p> |
1895 |
</blockquote> |
</blockquote> |
1896 |
|
|
1897 |
<a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a> Configuring MIDI input drivers</h4> |
<a name="rfc.section.6.3"></a><h4><a name="anchor10">6.3</a> Configuring MIDI input drivers</h4> |
1898 |
|
|
1899 |
<p>Instances of drivers in LinuxSampler are called devices. You can use |
<p>Instances of drivers in LinuxSampler are called devices. You can use |
1900 |
multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as |
multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as |
1922 |
showing how to retrieve what parameters drivers are offering, how to retrieve their |
showing how to retrieve what parameters drivers are offering, how to retrieve their |
1923 |
possible values, etc. |
possible values, etc. |
1924 |
</p> |
</p> |
1925 |
<a name="rfc.section.5.3.1"></a><h4><a name="GET AVAILABLE_MIDI_INPUT_DRIVERS">5.3.1</a> Getting amount of available MIDI input drivers</h4> |
<a name="rfc.section.6.3.1"></a><h4><a name="GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a> Getting amount of available MIDI input drivers</h4> |
1926 |
|
|
1927 |
<p>Use the following command to get the number of |
<p>Use the following command to get the number of |
1928 |
MIDI input drivers currently available for the |
MIDI input drivers currently available for the |
1953 |
</p> |
</p> |
1954 |
</blockquote> |
</blockquote> |
1955 |
|
|
1956 |
<a name="rfc.section.5.3.2"></a><h4><a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS">5.3.2</a> Getting all available MIDI input drivers</h4> |
<a name="rfc.section.6.3.2"></a><h4><a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a> Getting all available MIDI input drivers</h4> |
1957 |
|
|
1958 |
<p>Use the following command to list all MIDI input drivers currently available |
<p>Use the following command to list all MIDI input drivers currently available |
1959 |
for the LinuxSampler instance: |
for the LinuxSampler instance: |
1983 |
</p> |
</p> |
1984 |
</blockquote> |
</blockquote> |
1985 |
|
|
1986 |
<a name="rfc.section.5.3.3"></a><h4><a name="GET MIDI_INPUT_DRIVER INFO">5.3.3</a> Getting information about a specific MIDI input driver</h4> |
<a name="rfc.section.6.3.3"></a><h4><a name="GET MIDI_INPUT_DRIVER INFO">6.3.3</a> Getting information about a specific MIDI input driver</h4> |
1987 |
|
|
1988 |
<p>Use the following command to get detailed information about a specific MIDI input driver: |
<p>Use the following command to get detailed information about a specific MIDI input driver: |
1989 |
</p> |
</p> |
1993 |
</p> |
</p> |
1994 |
</blockquote> |
</blockquote> |
1995 |
|
|
1996 |
<p>Where <midi-input-driver> is the name of the MIDI input driver. |
<p>Where <midi-input-driver> is the name of the MIDI input driver as returned |
1997 |
|
by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command. |
1998 |
</p> |
</p> |
1999 |
<p>Possible Answers: |
<p>Possible Answers: |
2000 |
</p> |
</p> |
2051 |
</p> |
</p> |
2052 |
</blockquote> |
</blockquote> |
2053 |
|
|
2054 |
<a name="rfc.section.5.3.4"></a><h4><a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO">5.3.4</a> Getting information about specific MIDI input driver parameter</h4> |
<a name="rfc.section.6.3.4"></a><h4><a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a> Getting information about specific MIDI input driver parameter</h4> |
2055 |
|
|
2056 |
<p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver: |
<p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver: |
2057 |
</p> |
</p> |
2220 |
</p> |
</p> |
2221 |
</blockquote> |
</blockquote> |
2222 |
|
|
2223 |
<a name="rfc.section.5.3.5"></a><h4><a name="CREATE MIDI_INPUT_DEVICE">5.3.5</a> Creating a MIDI input device</h4> |
<a name="rfc.section.6.3.5"></a><h4><a name="CREATE MIDI_INPUT_DEVICE">6.3.5</a> Creating a MIDI input device</h4> |
2224 |
|
|
2225 |
<p>Use the following command to create a new MIDI input device for the desired MIDI input system: |
<p>Use the following command to create a new MIDI input device for the desired MIDI input system: |
2226 |
</p> |
</p> |
2230 |
</p> |
</p> |
2231 |
</blockquote> |
</blockquote> |
2232 |
|
|
2233 |
<p>Where <midi-input-driver> should be replaced by the desired MIDI input system and <param-list> by an |
<p>Where <midi-input-driver> should be replaced by the desired MIDI input system as returned |
2234 |
|
by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command and <param-list> by an |
2235 |
optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where |
optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where |
2236 |
character string values should be encapsulated into apostrophes ('). |
character string values should be encapsulated into apostrophes ('). |
2237 |
Note that there might be drivers which require parameter(s) to be |
Note that there might be drivers which require parameter(s) to be |
2279 |
</p> |
</p> |
2280 |
</blockquote> |
</blockquote> |
2281 |
|
|
2282 |
<a name="rfc.section.5.3.6"></a><h4><a name="DESTROY MIDI_INPUT_DEVICE">5.3.6</a> Destroying a MIDI input device</h4> |
<a name="rfc.section.6.3.6"></a><h4><a name="DESTROY MIDI_INPUT_DEVICE">6.3.6</a> Destroying a MIDI input device</h4> |
2283 |
|
|
2284 |
<p>Use the following command to destroy a created MIDI input device: |
<p>Use the following command to destroy a created MIDI input device: |
2285 |
</p> |
</p> |
2289 |
</p> |
</p> |
2290 |
</blockquote> |
</blockquote> |
2291 |
|
|
2292 |
<p>Where <device-id> should be replaced by the device's numerical ID. |
<p>Where <device-id> should be replaced by the device's numerical ID as returned by the |
2293 |
|
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2294 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2295 |
|
command. |
2296 |
</p> |
</p> |
2297 |
<p>Possible Answers: |
<p>Possible Answers: |
2298 |
</p> |
</p> |
2333 |
</p> |
</p> |
2334 |
</blockquote> |
</blockquote> |
2335 |
|
|
2336 |
<a name="rfc.section.5.3.7"></a><h4><a name="GET MIDI_INPUT_DEVICES">5.3.7</a> Getting all created MIDI input device count</h4> |
<a name="rfc.section.6.3.7"></a><h4><a name="GET MIDI_INPUT_DEVICES">6.3.7</a> Getting all created MIDI input device count</h4> |
2337 |
|
|
2338 |
<p>Use the following command to count all created MIDI input devices: |
<p>Use the following command to count all created MIDI input devices: |
2339 |
</p> |
</p> |
2362 |
</p> |
</p> |
2363 |
</blockquote> |
</blockquote> |
2364 |
|
|
2365 |
<a name="rfc.section.5.3.8"></a><h4><a name="LIST MIDI_INPUT_DEVICES">5.3.8</a> Getting all created MIDI input device list</h4> |
<a name="rfc.section.6.3.8"></a><h4><a name="LIST MIDI_INPUT_DEVICES">6.3.8</a> Getting all created MIDI input device list</h4> |
2366 |
|
|
2367 |
<p>Use the following command to list all created MIDI input devices: |
<p>Use the following command to list all created MIDI input devices: |
2368 |
</p> |
</p> |
2399 |
</p> |
</p> |
2400 |
</blockquote> |
</blockquote> |
2401 |
|
|
2402 |
<a name="rfc.section.5.3.9"></a><h4><a name="GET MIDI_INPUT_DEVICE INFO">5.3.9</a> Getting current settings of a MIDI input device</h4> |
<a name="rfc.section.6.3.9"></a><h4><a name="GET MIDI_INPUT_DEVICE INFO">6.3.9</a> Getting current settings of a MIDI input device</h4> |
2403 |
|
|
2404 |
<p>Use the following command to get current settings of a specific, created MIDI input device: |
<p>Use the following command to get current settings of a specific, created MIDI input device: |
2405 |
</p> |
</p> |
2409 |
</p> |
</p> |
2410 |
</blockquote> |
</blockquote> |
2411 |
|
|
2412 |
<p>Where <device-id> is the numerical ID of the MIDI input device. |
<p>Where <device-id> is the numerical ID of the MIDI input device as returned by the |
2413 |
|
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2414 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2415 |
|
command. |
2416 |
</p> |
</p> |
2417 |
<p>Possible Answers: |
<p>Possible Answers: |
2418 |
</p> |
</p> |
2474 |
</p> |
</p> |
2475 |
</blockquote> |
</blockquote> |
2476 |
|
|
2477 |
<a name="rfc.section.5.3.10"></a><h4><a name="SET MIDI_INPUT_DEVICE_PARAMETER">5.3.10</a> Changing settings of MIDI input devices</h4> |
<a name="rfc.section.6.3.10"></a><h4><a name="SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a> Changing settings of MIDI input devices</h4> |
2478 |
|
|
2479 |
<p>Use the following command to alter a specific setting of a created MIDI input device: |
<p>Use the following command to alter a specific setting of a created MIDI input device: |
2480 |
</p> |
</p> |
2485 |
</blockquote> |
</blockquote> |
2486 |
|
|
2487 |
<p>Where <device-id> should be replaced by the numerical ID of the |
<p>Where <device-id> should be replaced by the numerical ID of the |
2488 |
MIDI input device, <key> by the name of the parameter to change and |
MIDI input device as returned by the |
2489 |
|
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2490 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2491 |
|
command, <key> by the name of the parameter to change and |
2492 |
<value> by the new value for this parameter. |
<value> by the new value for this parameter. |
2493 |
</p> |
</p> |
2494 |
<p>Possible Answers: |
<p>Possible Answers: |
2530 |
</p> |
</p> |
2531 |
</blockquote> |
</blockquote> |
2532 |
|
|
2533 |
<a name="rfc.section.5.3.11"></a><h4><a name="GET MIDI_INPUT_PORT INFO">5.3.11</a> Getting information about a MIDI port</h4> |
<a name="rfc.section.6.3.11"></a><h4><a name="GET MIDI_INPUT_PORT INFO">6.3.11</a> Getting information about a MIDI port</h4> |
2534 |
|
|
2535 |
<p>Use the following command to get information about a MIDI port: |
<p>Use the following command to get information about a MIDI port: |
2536 |
</p> |
</p> |
2540 |
</p> |
</p> |
2541 |
</blockquote> |
</blockquote> |
2542 |
|
|
2543 |
<p>Where <device-id> is the numerical ID of the MIDI input device |
<p>Where <device-id> is the numerical ID of the MIDI input device as returned by the |
2544 |
and <midi-port> the MIDI input port number. |
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2545 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2546 |
|
command and <midi-port> the MIDI input port number. |
2547 |
</p> |
</p> |
2548 |
<p>Possible Answers: |
<p>Possible Answers: |
2549 |
</p> |
</p> |
2583 |
</p> |
</p> |
2584 |
</blockquote> |
</blockquote> |
2585 |
|
|
2586 |
<a name="rfc.section.5.3.12"></a><h4><a name="GET MIDI_INPUT_PORT_PARAMETER INFO">5.3.12</a> Getting information about specific MIDI port parameter</h4> |
<a name="rfc.section.6.3.12"></a><h4><a name="GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a> Getting information about specific MIDI port parameter</h4> |
2587 |
|
|
2588 |
<p>Use the following command to get detailed information about specific MIDI port parameter: |
<p>Use the following command to get detailed information about specific MIDI port parameter: |
2589 |
</p> |
</p> |
2593 |
</p> |
</p> |
2594 |
</blockquote> |
</blockquote> |
2595 |
|
|
2596 |
<p>Where <dev-id> is the numerical ID of the MIDI input device as returned |
<p>Where <dev-id> is the numerical ID of the MIDI input device as returned by the |
2597 |
by the <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> command, <port> the MIDI port number and |
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2598 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2599 |
|
command, <port> the MIDI port number and |
2600 |
<param> a specific port parameter name for which information should be |
<param> a specific port parameter name for which information should be |
2601 |
obtained (as returned by the <a class="info" href="#GET MIDI_INPUT_PORT INFO">"GET MIDI_INPUT_PORT INFO"<span>Getting information about a MIDI port</span></a> command). |
obtained (as returned by the <a class="info" href="#GET MIDI_INPUT_PORT INFO">"GET MIDI_INPUT_PORT INFO"<span>Getting information about a MIDI port</span></a> command). |
2602 |
</p> |
</p> |
2709 |
</p> |
</p> |
2710 |
</blockquote> |
</blockquote> |
2711 |
|
|
2712 |
<a name="rfc.section.5.3.13"></a><h4><a name="SET MIDI_INPUT_PORT_PARAMETER">5.3.13</a> Changing settings of MIDI input ports</h4> |
<a name="rfc.section.6.3.13"></a><h4><a name="SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a> Changing settings of MIDI input ports</h4> |
2713 |
|
|
2714 |
<p>Use the following command to alter a specific setting of a MIDI input port: |
<p>Use the following command to alter a specific setting of a MIDI input port: |
2715 |
</p> |
</p> |
2720 |
</blockquote> |
</blockquote> |
2721 |
|
|
2722 |
<p>Where <device-id> should be replaced by the numerical ID of the |
<p>Where <device-id> should be replaced by the numerical ID of the |
2723 |
MIDI device, <port> by the MIDI port number, <key> by the name of |
MIDI device as returned by the |
2724 |
|
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
2725 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> |
2726 |
|
command, <port> by the MIDI port number, <key> by the name of |
2727 |
the parameter to change and <value> by the new value for this |
the parameter to change and <value> by the new value for this |
2728 |
parameter. |
parameter. |
2729 |
</p> |
</p> |
2764 |
</p> |
</p> |
2765 |
</blockquote> |
</blockquote> |
2766 |
|
|
2767 |
<a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a> Configuring sampler channels</h4> |
<a name="rfc.section.6.4"></a><h4><a name="anchor11">6.4</a> Configuring sampler channels</h4> |
2768 |
|
|
2769 |
<p>The following commands describe how to add and remove sampler channels, deploy |
<p>The following commands describe how to add and remove sampler channels, associate a |
2770 |
sampler engines, load instruments and connect sampler channels to MIDI and audio devices. |
sampler channel with a sampler engine, load instruments and connect sampler channels to |
2771 |
|
MIDI and audio devices. |
2772 |
</p> |
</p> |
2773 |
<a name="rfc.section.5.4.1"></a><h4><a name="LOAD INSTRUMENT">5.4.1</a> Loading an instrument</h4> |
<a name="rfc.section.6.4.1"></a><h4><a name="LOAD INSTRUMENT">6.4.1</a> Loading an instrument</h4> |
2774 |
|
|
2775 |
<p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands: |
<p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands: |
2776 |
</p> |
</p> |
2836 |
</p> |
</p> |
2837 |
</blockquote> |
</blockquote> |
2838 |
|
|
2839 |
<a name="rfc.section.5.4.2"></a><h4><a name="LOAD ENGINE">5.4.2</a> Loading a sampler engine</h4> |
<a name="rfc.section.6.4.2"></a><h4><a name="LOAD ENGINE">6.4.2</a> Loading a sampler engine</h4> |
2840 |
|
|
2841 |
<p>A sample engine can be deployed and assigned to a specific sampler |
<p>A sampler engine type can be associated to a specific sampler |
2842 |
channel by the following command: |
channel by the following command: |
2843 |
</p> |
</p> |
2844 |
<p></p> |
<p></p> |
2848 |
</blockquote> |
</blockquote> |
2849 |
|
|
2850 |
<p>Where <engine-name> is an engine name as obtained by the |
<p>Where <engine-name> is an engine name as obtained by the |
2851 |
<a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and <sampler-channel> the sampler channel the |
<a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and <sampler-channel> |
2852 |
deployed engine should be assigned to. Even if the respective |
the sampler channel as returned by the |
2853 |
sampler channel has already a deployed engine with that engine |
<a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> or |
2854 |
name, a new engine instance will be assigned to the sampler channel. |
<a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command where |
2855 |
|
the engine type should be assigned to. This command should be issued |
2856 |
|
after adding a new sampler channel and before any other control |
2857 |
|
commands on the new sampler channel. It can also be used to change |
2858 |
|
the engine type of a sampler channel. This command has (currently) no |
2859 |
|
way to define or force if a new engine instance should be created and |
2860 |
|
assigned to the given sampler channel or if an already existing |
2861 |
|
instance of that engine type, shared with other sampler channels, |
2862 |
|
should be used. |
2863 |
</p> |
</p> |
2864 |
<p>Possible Answers: |
<p>Possible Answers: |
2865 |
</p> |
</p> |
2899 |
</p> |
</p> |
2900 |
</blockquote> |
</blockquote> |
2901 |
|
|
2902 |
<a name="rfc.section.5.4.3"></a><h4><a name="GET CHANNELS">5.4.3</a> Getting all created sampler channel count</h4> |
<a name="rfc.section.6.4.3"></a><h4><a name="GET CHANNELS">6.4.3</a> Getting all created sampler channel count</h4> |
2903 |
|
|
2904 |
<p>The number of sampler channels can change on runtime. To get the |
<p>The number of sampler channels can change on runtime. To get the |
2905 |
current amount of sampler channels, the front-end can send the |
current amount of sampler channels, the front-end can send the |
2929 |
</p> |
</p> |
2930 |
</blockquote> |
</blockquote> |
2931 |
|
|
2932 |
<a name="rfc.section.5.4.4"></a><h4><a name="LIST CHANNELS">5.4.4</a> Getting all created sampler channel list</h4> |
<a name="rfc.section.6.4.4"></a><h4><a name="LIST CHANNELS">6.4.4</a> Getting all created sampler channel list</h4> |
2933 |
|
|
2934 |
<p>The number of sampler channels can change on runtime. To get the |
<p>The number of sampler channels can change on runtime. To get the |
2935 |
current list of sampler channels, the front-end can send the |
current list of sampler channels, the front-end can send the |
2960 |
</p> |
</p> |
2961 |
</blockquote> |
</blockquote> |
2962 |
|
|
2963 |
<a name="rfc.section.5.4.5"></a><h4><a name="ADD CHANNEL">5.4.5</a> Adding a new sampler channel</h4> |
<a name="rfc.section.6.4.5"></a><h4><a name="ADD CHANNEL">6.4.5</a> Adding a new sampler channel</h4> |
2964 |
|
|
2965 |
<p>A new sampler channel can be added to the end of the sampler |
<p>A new sampler channel can be added to the end of the sampler |
2966 |
channel list by sending the following command: |
channel list by sending the following command: |
3023 |
</p> |
</p> |
3024 |
</blockquote> |
</blockquote> |
3025 |
|
|
3026 |
<a name="rfc.section.5.4.6"></a><h4><a name="REMOVE CHANNEL">5.4.6</a> Removing a sampler channel</h4> |
<a name="rfc.section.6.4.6"></a><h4><a name="REMOVE CHANNEL">6.4.6</a> Removing a sampler channel</h4> |
3027 |
|
|
3028 |
<p>A sampler channel can be removed by sending the following command: |
<p>A sampler channel can be removed by sending the following command: |
3029 |
</p> |
</p> |
3078 |
</p> |
</p> |
3079 |
</blockquote> |
</blockquote> |
3080 |
|
|
3081 |
<a name="rfc.section.5.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">5.4.7</a> Getting amount of available engines</h4> |
<a name="rfc.section.6.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">6.4.7</a> Getting amount of available engines</h4> |
3082 |
|
|
3083 |
<p>The front-end can ask for the number of available engines by sending the following command: |
<p>The front-end can ask for the number of available engines by sending the following command: |
3084 |
</p> |
</p> |
3106 |
</p> |
</p> |
3107 |
</blockquote> |
</blockquote> |
3108 |
|
|
3109 |
<a name="rfc.section.5.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">5.4.8</a> Getting all available engines</h4> |
<a name="rfc.section.6.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">6.4.8</a> Getting all available engines</h4> |
3110 |
|
|
3111 |
<p>The front-end can ask for a list of all available engines by sending the following command: |
<p>The front-end can ask for a list of all available engines by sending the following command: |
3112 |
</p> |
</p> |
3137 |
</p> |
</p> |
3138 |
</blockquote> |
</blockquote> |
3139 |
|
|
3140 |
<a name="rfc.section.5.4.9"></a><h4><a name="GET ENGINE INFO">5.4.9</a> Getting information about an engine</h4> |
<a name="rfc.section.6.4.9"></a><h4><a name="GET ENGINE INFO">6.4.9</a> Getting information about an engine</h4> |
3141 |
|
|
3142 |
<p>The front-end can ask for information about a specific engine by |
<p>The front-end can ask for information about a specific engine by |
3143 |
sending the following command: |
sending the following command: |
3197 |
</p> |
</p> |
3198 |
</blockquote> |
</blockquote> |
3199 |
|
|
3200 |
<a name="rfc.section.5.4.10"></a><h4><a name="GET CHANNEL INFO">5.4.10</a> Getting sampler channel information</h4> |
<a name="rfc.section.6.4.10"></a><h4><a name="GET CHANNEL INFO">6.4.10</a> Getting sampler channel information</h4> |
3201 |
|
|
3202 |
<p>The front-end can ask for the current settings of a sampler channel |
<p>The front-end can ask for the current settings of a sampler channel |
3203 |
by sending the following command: |
by sending the following command: |
3208 |
</p> |
</p> |
3209 |
</blockquote> |
</blockquote> |
3210 |
|
|
3211 |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in. |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in |
3212 |
|
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3213 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command. |
3214 |
</p> |
</p> |
3215 |
<p>Possible Answers: |
<p>Possible Answers: |
3216 |
</p> |
</p> |
3227 |
<p>ENGINE_NAME - |
<p>ENGINE_NAME - |
3228 |
</p> |
</p> |
3229 |
<blockquote class="text"> |
<blockquote class="text"> |
3230 |
<p>name of the engine that is deployed on the sampler |
<p>name of the engine that is associated with the sampler |
3231 |
channel, "NONE" if there's no engine deployed yet for |
channel, "NONE" if there's no engine associated yet for |
3232 |
this sampler channel |
this sampler channel |
3233 |
</p> |
</p> |
3234 |
</blockquote> |
</blockquote> |
3370 |
</p> |
</p> |
3371 |
</blockquote> |
</blockquote> |
3372 |
|
|
3373 |
<a name="rfc.section.5.4.11"></a><h4><a name="GET CHANNEL VOICE_COUNT">5.4.11</a> Current number of active voices</h4> |
<a name="rfc.section.6.4.11"></a><h4><a name="GET CHANNEL VOICE_COUNT">6.4.11</a> Current number of active voices</h4> |
3374 |
|
|
3375 |
<p>The front-end can ask for the current number of active voices on a |
<p>The front-end can ask for the current number of active voices on a |
3376 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
3381 |
</p> |
</p> |
3382 |
</blockquote> |
</blockquote> |
3383 |
|
|
3384 |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in. |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in |
3385 |
|
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3386 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command. |
3387 |
</p> |
</p> |
3388 |
<p>Possible Answers: |
<p>Possible Answers: |
3389 |
</p> |
</p> |
3402 |
</p> |
</p> |
3403 |
</blockquote> |
</blockquote> |
3404 |
|
|
3405 |
<a name="rfc.section.5.4.12"></a><h4><a name="GET CHANNEL STREAM_COUNT">5.4.12</a> Current number of active disk streams</h4> |
<a name="rfc.section.6.4.12"></a><h4><a name="GET CHANNEL STREAM_COUNT">6.4.12</a> Current number of active disk streams</h4> |
3406 |
|
|
3407 |
<p>The front-end can ask for the current number of active disk streams |
<p>The front-end can ask for the current number of active disk streams |
3408 |
on a sampler channel by sending the following command: |
on a sampler channel by sending the following command: |
3413 |
</p> |
</p> |
3414 |
</blockquote> |
</blockquote> |
3415 |
|
|
3416 |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in. |
<p>Where <sampler-channel> is the sampler channel number the front-end is interested in |
3417 |
|
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3418 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command. |
3419 |
</p> |
</p> |
3420 |
<p>Possible Answers: |
<p>Possible Answers: |
3421 |
</p> |
</p> |
3436 |
</p> |
</p> |
3437 |
</blockquote> |
</blockquote> |
3438 |
|
|
3439 |
<a name="rfc.section.5.4.13"></a><h4><a name="GET CHANNEL BUFFER_FILL">5.4.13</a> Current fill state of disk stream buffers</h4> |
<a name="rfc.section.6.4.13"></a><h4><a name="GET CHANNEL BUFFER_FILL">6.4.13</a> Current fill state of disk stream buffers</h4> |
3440 |
|
|
3441 |
<p>The front-end can ask for the current fill state of all disk streams |
<p>The front-end can ask for the current fill state of all disk streams |
3442 |
on a sampler channel by sending the following command: |
on a sampler channel by sending the following command: |
3456 |
</blockquote> |
</blockquote> |
3457 |
|
|
3458 |
<p>to get the fill state in percent, where <sampler-channel> is the |
<p>to get the fill state in percent, where <sampler-channel> is the |
3459 |
sampler channel number the front-end is interested in. |
sampler channel number the front-end is interested in |
3460 |
|
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3461 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command. |
3462 |
</p> |
</p> |
3463 |
<p>Possible Answers: |
<p>Possible Answers: |
3464 |
</p> |
</p> |
3499 |
</p> |
</p> |
3500 |
</blockquote> |
</blockquote> |
3501 |
|
|
3502 |
<a name="rfc.section.5.4.14"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_DEVICE">5.4.14</a> Setting audio output device</h4> |
<a name="rfc.section.6.4.14"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a> Setting audio output device</h4> |
3503 |
|
|
3504 |
<p>The front-end can set the audio output device on a specific sampler |
<p>The front-end can set the audio output device on a specific sampler |
3505 |
channel by sending the following command: |
channel by sending the following command: |
3510 |
</p> |
</p> |
3511 |
</blockquote> |
</blockquote> |
3512 |
|
|
3513 |
<p>Where <audio-device-id> is the numerical ID of the audio output |
<p>Where <sampler-channel> is the respective sampler channel |
3514 |
device and <sampler-channel> is the respective sampler channel |
number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3515 |
number. |
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command and |
3516 |
|
<audio-device-id> is the numerical ID of the audio output device as given by the |
3517 |
|
<a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a> |
3518 |
|
or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> |
3519 |
|
command. |
3520 |
</p> |
</p> |
3521 |
<p>Possible Answers: |
<p>Possible Answers: |
3522 |
</p> |
</p> |
3555 |
</p> |
</p> |
3556 |
</blockquote> |
</blockquote> |
3557 |
|
|
3558 |
<a name="rfc.section.5.4.15"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_TYP">5.4.15</a> Setting audio output type</h4> |
<a name="rfc.section.6.4.15"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a> Setting audio output type</h4> |
3559 |
|
|
3560 |
<p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
<p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
3561 |
</p> |
</p> |
3608 |
</p> |
</p> |
3609 |
</blockquote> |
</blockquote> |
3610 |
|
|
3611 |
<a name="rfc.section.5.4.16"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL">5.4.16</a> Setting audio output channel</h4> |
<a name="rfc.section.6.4.16"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a> Setting audio output channel</h4> |
3612 |
|
|
3613 |
<p>The front-end can alter the audio output channel on a specific |
<p>The front-end can alter the audio output channel on a specific |
3614 |
sampler channel by sending the following command: |
sampler channel by sending the following command: |
3619 |
</p> |
</p> |
3620 |
</blockquote> |
</blockquote> |
3621 |
|
|
3622 |
<p>Where <sampler-chan> is the sampler channel number, <audio-out> is the |
<p>Where <sampler-chan> is the sampler channel number |
3623 |
|
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3624 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command, <audio-out> is the |
3625 |
numerical ID of the sampler channel's audio output channel which should be |
numerical ID of the sampler channel's audio output channel which should be |
3626 |
rerouted and <audio-in> is the numerical ID of the audio channel of the selected audio |
rerouted and <audio-in> is the numerical ID of the audio channel of the selected audio |
3627 |
output device where <audio-out> should be routed to. |
output device where <audio-out> should be routed to. |
3663 |
</p> |
</p> |
3664 |
</blockquote> |
</blockquote> |
3665 |
|
|
3666 |
<a name="rfc.section.5.4.17"></a><h4><a name="SET CHANNEL MIDI_INPUT_DEVICE">5.4.17</a> Setting MIDI input device</h4> |
<a name="rfc.section.6.4.17"></a><h4><a name="SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a> Setting MIDI input device</h4> |
3667 |
|
|
3668 |
<p>The front-end can set the MIDI input device on a specific sampler |
<p>The front-end can set the MIDI input device on a specific sampler |
3669 |
channel by sending the following command: |
channel by sending the following command: |
3674 |
</p> |
</p> |
3675 |
</blockquote> |
</blockquote> |
3676 |
|
|
3677 |
<p>Where <sampler-channel> is the sampler channel number and <midi-device-id> is the |
<p>Where <sampler-channel> is the sampler channel number |
3678 |
the numerical ID of the MIDI input device. |
as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> |
3679 |
|
or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command |
3680 |
|
and <midi-device-id> is the numerical ID of the MIDI input device as returned by the |
3681 |
|
<a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a> |
3682 |
|
or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> command. |
3683 |
</p> |
</p> |
3684 |
<p>Possible Answers: |
<p>Possible Answers: |
3685 |
</p> |
</p> |
3718 |
</p> |
</p> |
3719 |
</blockquote> |
</blockquote> |
3720 |
|
|
3721 |
<a name="rfc.section.5.4.18"></a><h4><a name="SET CHANNEL MIDI_INPUT_TYPE">5.4.18</a> Setting MIDI input type</h4> |
<a name="rfc.section.6.4.18"></a><h4><a name="SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a> Setting MIDI input type</h4> |
3722 |
|
|
3723 |
<p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
<p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON! |
3724 |
</p> |
</p> |
3771 |
</p> |
</p> |
3772 |
</blockquote> |
</blockquote> |
3773 |
|
|
3774 |
<a name="rfc.section.5.4.19"></a><h4><a name="SET CHANNEL MIDI_INPUT_PORT">5.4.19</a> Setting MIDI input port</h4> |
<a name="rfc.section.6.4.19"></a><h4><a name="SET CHANNEL MIDI_INPUT_PORT">6.4.19</a> Setting MIDI input port</h4> |
3775 |
|
|
3776 |
<p>The front-end can alter the MIDI input port on a specific sampler |
<p>The front-end can alter the MIDI input port on a specific sampler |
3777 |
channel by sending the following command: |
channel by sending the following command: |
3823 |
</p> |
</p> |
3824 |
</blockquote> |
</blockquote> |
3825 |
|
|
3826 |
<a name="rfc.section.5.4.20"></a><h4><a name="SET CHANNEL MIDI_INPUT_CHANNEL">5.4.20</a> Setting MIDI input channel</h4> |
<a name="rfc.section.6.4.20"></a><h4><a name="SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a> Setting MIDI input channel</h4> |
3827 |
|
|
3828 |
<p>The front-end can alter the MIDI channel a sampler channel should |
<p>The front-end can alter the MIDI channel a sampler channel should |
3829 |
listen to by sending the following command: |
listen to by sending the following command: |
3875 |
</p> |
</p> |
3876 |
</blockquote> |
</blockquote> |
3877 |
|
|
3878 |
<a name="rfc.section.5.4.21"></a><h4><a name="SET CHANNEL VOLUME">5.4.21</a> Setting channel volume</h4> |
<a name="rfc.section.6.4.21"></a><h4><a name="SET CHANNEL VOLUME">6.4.21</a> Setting channel volume</h4> |
3879 |
|
|
3880 |
<p>The front-end can alter the volume of a sampler channel by sending |
<p>The front-end can alter the volume of a sampler channel by sending |
3881 |
the following command: |
the following command: |
3928 |
</p> |
</p> |
3929 |
</blockquote> |
</blockquote> |
3930 |
|
|
3931 |
<a name="rfc.section.5.4.22"></a><h4><a name="RESET CHANNEL">5.4.22</a> Resetting a sampler channel</h4> |
<a name="rfc.section.6.4.22"></a><h4><a name="RESET CHANNEL">6.4.22</a> Resetting a sampler channel</h4> |
3932 |
|
|
3933 |
<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: |
3934 |
</p> |
</p> |
3982 |
</p> |
</p> |
3983 |
</blockquote> |
</blockquote> |
3984 |
|
|
3985 |
<a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a> Controlling connection</h4> |
<a name="rfc.section.6.5"></a><h4><a name="anchor12">6.5</a> Controlling connection</h4> |
3986 |
|
|
3987 |
<p>The following commands are used to control the connection to LinuxSampler. |
<p>The following commands are used to control the connection to LinuxSampler. |
3988 |
</p> |
</p> |
3989 |
<a name="rfc.section.5.5.1"></a><h4><a name="SUBSCRIBE">5.5.1</a> Register front-end for receiving event messages</h4> |
<a name="rfc.section.6.5.1"></a><h4><a name="SUBSCRIBE">6.5.1</a> Register front-end for receiving event messages</h4> |
3990 |
|
|
3991 |
<p>The front-end can register itself to the LinuxSampler application to |
<p>The front-end can register itself to the LinuxSampler application to |
3992 |
be informed about noteworthy events by sending this command: |
be informed about noteworthy events by sending this command: |
4038 |
</p> |
</p> |
4039 |
</blockquote> |
</blockquote> |
4040 |
|
|
4041 |
<a name="rfc.section.5.5.2"></a><h4><a name="UNSUBSCRIBE">5.5.2</a> Unregister front-end for not receiving event messages</h4> |
<a name="rfc.section.6.5.2"></a><h4><a name="UNSUBSCRIBE">6.5.2</a> Unregister front-end for not receiving event messages</h4> |
4042 |
|
|
4043 |
<p>The front-end can unregister itself if it doesn't want to receive event |
<p>The front-end can unregister itself if it doesn't want to receive event |
4044 |
messages anymore by sending the following command: |
messages anymore by sending the following command: |
4090 |
</p> |
</p> |
4091 |
</blockquote> |
</blockquote> |
4092 |
|
|
4093 |
<a name="rfc.section.5.5.3"></a><h4><a name="SET ECHO">5.5.3</a> Enable or disable echo of commands</h4> |
<a name="rfc.section.6.5.3"></a><h4><a name="SET ECHO">6.5.3</a> Enable or disable echo of commands</h4> |
4094 |
|
|
4095 |
<p>To enable or disable back sending of commands to the client the following command can be used: |
<p>To enable or disable back sending of commands to the client the following command can be used: |
4096 |
</p> |
</p> |
4136 |
</p> |
</p> |
4137 |
</blockquote> |
</blockquote> |
4138 |
|
|
4139 |
<a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a> Close client connection</h4> |
<a name="rfc.section.6.5.4"></a><h4><a name="QUIT">6.5.4</a> Close client connection</h4> |
4140 |
|
|
4141 |
<p>The client can close its network connection to LinuxSampler by sending the following command: |
<p>The client can close its network connection to LinuxSampler by sending the following command: |
4142 |
</p> |
</p> |
4149 |
<p>This is probably more interesting for manual telnet connections to |
<p>This is probably more interesting for manual telnet connections to |
4150 |
LinuxSampler than really useful for a front-end implementation. |
LinuxSampler than really useful for a front-end implementation. |
4151 |
</p> |
</p> |
4152 |
<a name="rfc.section.5.6"></a><h4><a name="anchor14">5.6</a> Global commands</h4> |
<a name="rfc.section.6.6"></a><h4><a name="anchor13">6.6</a> Global commands</h4> |
4153 |
|
|
4154 |
<p>The following commands have global impact on the sampler. |
<p>The following commands have global impact on the sampler. |
4155 |
</p> |
</p> |
4156 |
<a name="rfc.section.5.6.1"></a><h4><a name="RESET">5.6.1</a> Reset sampler</h4> |
<a name="rfc.section.6.6.1"></a><h4><a name="RESET">6.6.1</a> Reset sampler</h4> |
4157 |
|
|
4158 |
<p>The front-end can reset the whole sampler by sending the following command: |
<p>The front-end can reset the whole sampler by sending the following command: |
4159 |
</p> |
</p> |
4184 |
</p> |
</p> |
4185 |
</blockquote> |
</blockquote> |
4186 |
|
|
4187 |
|
<a name="rfc.section.6.6.2"></a><h4><a name="GET SERVER INFO">6.6.2</a> General sampler informations</h4> |
4188 |
|
|
4189 |
|
<p>The client can ask for general informations about the LinuxSampler |
4190 |
|
instance by sending the following command: |
4191 |
|
</p> |
4192 |
|
<p></p> |
4193 |
|
<blockquote class="text"> |
4194 |
|
<p>GET SERVER INFO |
4195 |
|
</p> |
4196 |
|
</blockquote> |
4197 |
|
|
4198 |
|
<p>Possible Answers: |
4199 |
|
</p> |
4200 |
|
<p></p> |
4201 |
|
<blockquote class="text"> |
4202 |
|
<p>LinuxSampler will answer by sending a <CRLF> separated list. |
4203 |
|
Each answer line begins with the information category name |
4204 |
|
followed by a colon and then a space character <SP> and finally |
4205 |
|
the info character string to that information category. At the |
4206 |
|
moment the following categories are defined: |
4207 |
|
|
4208 |
|
</p> |
4209 |
|
<p></p> |
4210 |
|
<blockquote class="text"> |
4211 |
|
<p>DESCRIPTION - |
4212 |
|
</p> |
4213 |
|
<blockquote class="text"> |
4214 |
|
<p>arbitrary textual description about the sampler |
4215 |
|
</p> |
4216 |
|
</blockquote> |
4217 |
|
|
4218 |
|
<p>VERSION - |
4219 |
|
</p> |
4220 |
|
<blockquote class="text"> |
4221 |
|
<p>version of the sampler |
4222 |
|
</p> |
4223 |
|
</blockquote> |
4224 |
|
|
4225 |
|
<p>PROTOCOL_VERSION - |
4226 |
|
</p> |
4227 |
|
<blockquote class="text"> |
4228 |
|
<p>version of the LSCP specification the sampler |
4229 |
|
complies with (see <a class="info" href="#LSCP versioning">Section 2<span>Versioning of this specification</span></a> for details) |
4230 |
|
</p> |
4231 |
|
</blockquote> |
4232 |
|
|
4233 |
|
</blockquote> |
4234 |
|
|
4235 |
|
</blockquote> |
4236 |
|
|
4237 |
|
<p>The mentioned fields above don't have to be in particular order. |
4238 |
|
Other fields might be added in future. |
4239 |
|
</p> |
4240 |
<a name="command_syntax"></a><br /><hr /> |
<a name="command_syntax"></a><br /><hr /> |
4241 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
4242 |
<a name="rfc.section.6"></a><h3>6. Command Syntax</h3> |
<a name="rfc.section.7"></a><h3>7. Command Syntax</h3> |
4243 |
|
|
4244 |
|
<p>The grammar of the control protocol as descibed in <a class="info" href="#control_commands">Section 6<span>Description for control commands</span></a> |
4245 |
|
is defined below using Backus-Naur Form (BNF as described in <a class="info" href="#RFC2234">[RFC2234]<span>Crocker, D. and P. Overell, Augmented BNF for Syntax Specifications, 1997.</span></a>) |
4246 |
|
where applicable. |
4247 |
|
|
4248 |
|
</p> |
4249 |
|
<p>input = |
4250 |
|
</p> |
4251 |
|
<blockquote class="text"> |
4252 |
|
<p>line LF |
4253 |
|
|
4254 |
|
</p> |
4255 |
|
<p>/ line CR LF |
4256 |
|
|
4257 |
|
</p> |
4258 |
|
</blockquote> |
4259 |
|
|
4260 |
|
<p>line = |
4261 |
|
</p> |
4262 |
|
<blockquote class="text"> |
4263 |
|
<p>/* epsilon (empty line ignored) */ |
4264 |
|
|
4265 |
|
</p> |
4266 |
|
<p>/ comment |
4267 |
|
|
4268 |
|
</p> |
4269 |
|
<p>/ command |
4270 |
|
|
4271 |
|
</p> |
4272 |
|
<p>/ error |
4273 |
|
|
4274 |
|
</p> |
4275 |
|
</blockquote> |
4276 |
|
|
4277 |
|
<p>comment = |
4278 |
|
</p> |
4279 |
|
<blockquote class="text"> |
4280 |
|
<p>'#' |
4281 |
|
|
4282 |
|
</p> |
4283 |
|
<p>/ comment '#' |
4284 |
|
|
4285 |
|
</p> |
4286 |
|
<p>/ comment SP |
4287 |
|
|
4288 |
|
</p> |
4289 |
|
<p>/ comment number |
4290 |
|
|
4291 |
|
</p> |
4292 |
|
<p>/ comment string |
4293 |
|
|
4294 |
|
</p> |
4295 |
|
</blockquote> |
4296 |
|
|
4297 |
|
<p>command = |
4298 |
|
</p> |
4299 |
|
<blockquote class="text"> |
4300 |
|
<p>ADD SP CHANNEL |
4301 |
|
|
4302 |
|
</p> |
4303 |
|
<p>/ GET SP get_instruction |
4304 |
|
|
4305 |
|
</p> |
4306 |
|
<p>/ CREATE SP create_instruction |
4307 |
|
|
4308 |
|
</p> |
4309 |
|
<p>/ DESTROY SP destroy_instruction |
4310 |
|
|
4311 |
|
</p> |
4312 |
|
<p>/ LIST SP list_instruction |
4313 |
|
|
4314 |
|
</p> |
4315 |
|
<p>/ LOAD SP load_instruction |
4316 |
|
|
4317 |
|
</p> |
4318 |
|
<p>/ REMOVE SP CHANNEL SP sampler_channel |
4319 |
|
|
4320 |
|
</p> |
4321 |
|
<p>/ SET SP set_instruction |
4322 |
|
|
4323 |
|
</p> |
4324 |
|
<p>/ SUBSCRIBE SP subscribe_event |
4325 |
|
|
4326 |
|
</p> |
4327 |
|
<p>/ UNSUBSCRIBE SP unsubscribe_event |
4328 |
|
|
4329 |
|
</p> |
4330 |
|
<p>/ SELECT SP text |
4331 |
|
|
4332 |
|
</p> |
4333 |
|
<p>/ RESET SP CHANNEL SP sampler_channel |
4334 |
|
|
4335 |
|
</p> |
4336 |
|
<p>/ RESET |
4337 |
|
|
4338 |
|
</p> |
4339 |
|
<p>/ QUIT |
4340 |
|
|
4341 |
|
</p> |
4342 |
|
</blockquote> |
4343 |
|
|
4344 |
|
<p>subscribe_event = |
4345 |
|
</p> |
4346 |
|
<blockquote class="text"> |
4347 |
|
<p>CHANNEL_COUNT |
4348 |
|
|
4349 |
|
</p> |
4350 |
|
<p>/ VOICE_COUNT |
4351 |
|
|
4352 |
|
</p> |
4353 |
|
<p>/ STREAM_COUNT |
4354 |
|
|
4355 |
|
</p> |
4356 |
|
<p>/ BUFFER_FILL |
4357 |
|
|
4358 |
|
</p> |
4359 |
|
<p>/ CHANNEL_INFO |
4360 |
|
|
4361 |
|
</p> |
4362 |
|
<p>/ MISCELLANEOUS |
4363 |
|
|
4364 |
|
</p> |
4365 |
|
</blockquote> |
4366 |
|
|
4367 |
|
<p>unsubscribe_event = |
4368 |
|
</p> |
4369 |
|
<blockquote class="text"> |
4370 |
|
<p>CHANNEL_COUNT |
4371 |
|
|
4372 |
|
</p> |
4373 |
|
<p>/ VOICE_COUNT |
4374 |
|
|
4375 |
|
</p> |
4376 |
|
<p>/ STREAM_COUNT |
4377 |
|
|
4378 |
|
</p> |
4379 |
|
<p>/ BUFFER_FILL |
4380 |
|
|
4381 |
|
</p> |
4382 |
|
<p>/ CHANNEL_INFO |
4383 |
|
|
4384 |
|
</p> |
4385 |
|
<p>/ MISCELLANEOUS |
4386 |
|
|
4387 |
|
</p> |
4388 |
|
</blockquote> |
4389 |
|
|
4390 |
|
<p>get_instruction = |
4391 |
|
</p> |
4392 |
|
<blockquote class="text"> |
4393 |
|
<p>AVAILABLE_ENGINES |
4394 |
|
|
4395 |
|
</p> |
4396 |
|
<p>/ AVAILABLE_MIDI_INPUT_DRIVERS |
4397 |
|
|
4398 |
|
</p> |
4399 |
|
<p>/ MIDI_INPUT_DRIVER SP INFO SP string |
4400 |
|
|
4401 |
|
</p> |
4402 |
|
<p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string |
4403 |
|
|
4404 |
|
</p> |
4405 |
|
<p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list |
4406 |
|
|
4407 |
|
</p> |
4408 |
|
<p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS |
4409 |
|
|
4410 |
|
</p> |
4411 |
|
<p>/ AUDIO_OUTPUT_DRIVER SP INFO SP string |
4412 |
|
|
4413 |
|
</p> |
4414 |
|
<p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string |
4415 |
|
|
4416 |
|
</p> |
4417 |
|
<p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list |
4418 |
|
|
4419 |
|
</p> |
4420 |
|
<p>/ AUDIO_OUTPUT_DEVICES |
4421 |
|
|
4422 |
|
</p> |
4423 |
|
<p>/ MIDI_INPUT_DEVICES |
4424 |
|
|
4425 |
|
</p> |
4426 |
|
<p>/ AUDIO_OUTPUT_DEVICE SP INFO SP number |
4427 |
|
|
4428 |
|
</p> |
4429 |
|
<p>/ MIDI_INPUT_DEVICE SP INFO SP number |
4430 |
|
|
4431 |
|
</p> |
4432 |
|
<p>/ MIDI_INPUT_PORT SP INFO SP number SP number |
4433 |
|
|
4434 |
|
</p> |
4435 |
|
<p>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string |
4436 |
|
|
4437 |
|
</p> |
4438 |
|
<p>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number |
4439 |
|
|
4440 |
|
</p> |
4441 |
|
<p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string |
4442 |
|
|
4443 |
|
</p> |
4444 |
|
<p>/ CHANNELS |
4445 |
|
|
4446 |
|
</p> |
4447 |
|
<p>/ CHANNEL SP INFO SP sampler_channel |
4448 |
|
|
4449 |
|
</p> |
4450 |
|
<p>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel |
4451 |
|
|
4452 |
|
</p> |
4453 |
|
<p>/ CHANNEL SP STREAM_COUNT SP sampler_channel |
4454 |
|
|
4455 |
|
</p> |
4456 |
|
<p>/ CHANNEL SP VOICE_COUNT SP sampler_channel |
4457 |
|
|
4458 |
|
</p> |
4459 |
|
<p>/ ENGINE SP INFO SP engine_name |
4460 |
|
|
4461 |
|
</p> |
4462 |
|
<p>/ SERVER SP INFO |
4463 |
|
|
4464 |
|
</p> |
4465 |
|
</blockquote> |
4466 |
|
|
4467 |
|
<p>set_instruction = |
4468 |
|
</p> |
4469 |
|
<blockquote class="text"> |
4470 |
|
<p>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list |
4471 |
|
|
4472 |
|
</p> |
4473 |
|
<p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list |
4474 |
|
|
4475 |
|
</p> |
4476 |
|
<p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list |
4477 |
|
|
4478 |
|
</p> |
4479 |
|
<p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list |
4480 |
|
|
4481 |
|
</p> |
4482 |
|
<p>/ CHANNEL SP set_chan_instruction |
4483 |
|
|
4484 |
|
</p> |
4485 |
|
<p>/ ECHO SP boolean |
4486 |
|
|
4487 |
|
</p> |
4488 |
|
</blockquote> |
4489 |
|
|
4490 |
|
<p>create_instruction = |
4491 |
|
</p> |
4492 |
|
<blockquote class="text"> |
4493 |
|
<p>AUDIO_OUTPUT_DEVICE SP string SP key_val_list |
4494 |
|
|
4495 |
|
</p> |
4496 |
|
<p>/ AUDIO_OUTPUT_DEVICE SP string |
4497 |
|
|
4498 |
|
</p> |
4499 |
|
<p>/ MIDI_INPUT_DEVICE SP string SP key_val_list |
4500 |
|
|
4501 |
|
</p> |
4502 |
|
<p>/ MIDI_INPUT_DEVICE SP string |
4503 |
|
|
4504 |
|
</p> |
4505 |
|
</blockquote> |
4506 |
|
|
4507 |
|
<p>destroy_instruction = |
4508 |
|
</p> |
4509 |
|
<blockquote class="text"> |
4510 |
|
<p>AUDIO_OUTPUT_DEVICE SP number |
4511 |
|
|
4512 |
|
</p> |
4513 |
|
<p>/ MIDI_INPUT_DEVICE SP number |
4514 |
|
|
4515 |
|
</p> |
4516 |
|
</blockquote> |
4517 |
|
|
4518 |
|
<p>load_instruction = |
4519 |
|
</p> |
4520 |
|
<blockquote class="text"> |
4521 |
|
<p>INSTRUMENT SP load_instr_args |
4522 |
|
|
4523 |
|
</p> |
4524 |
|
<p>/ ENGINE SP load_engine_args |
4525 |
|
|
4526 |
|
</p> |
4527 |
|
</blockquote> |
4528 |
|
|
4529 |
|
<p>set_chan_instruction = |
4530 |
|
</p> |
4531 |
|
<blockquote class="text"> |
4532 |
|
<p>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index |
4533 |
|
|
4534 |
|
</p> |
4535 |
|
<p>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index |
4536 |
|
|
4537 |
|
</p> |
4538 |
|
<p>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name |
4539 |
|
|
4540 |
|
</p> |
4541 |
|
<p>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index |
4542 |
|
|
4543 |
|
</p> |
4544 |
|
<p>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index |
4545 |
|
|
4546 |
|
</p> |
4547 |
|
<p>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index |
4548 |
|
|
4549 |
|
</p> |
4550 |
|
<p>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index |
4551 |
|
|
4552 |
|
</p> |
4553 |
|
<p>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name |
4554 |
|
|
4555 |
|
</p> |
4556 |
|
<p>/ VOLUME SP sampler_channel SP volume_value |
4557 |
|
|
4558 |
|
</p> |
4559 |
|
</blockquote> |
4560 |
|
|
4561 |
|
<p>key_val_list = |
4562 |
|
</p> |
4563 |
|
<blockquote class="text"> |
4564 |
|
<p>string '=' param_val_list |
4565 |
|
|
4566 |
|
</p> |
4567 |
|
<p>/ key_val_list SP string '=' param_val_list |
4568 |
|
|
4569 |
|
</p> |
4570 |
|
</blockquote> |
4571 |
|
|
4572 |
|
<p>buffer_size_type = |
4573 |
|
</p> |
4574 |
|
<blockquote class="text"> |
4575 |
|
<p>BYTES |
4576 |
|
|
4577 |
|
</p> |
4578 |
|
<p>/ PERCENTAGE |
4579 |
|
|
4580 |
|
</p> |
4581 |
|
</blockquote> |
4582 |
|
|
4583 |
|
<p>list_instruction = |
4584 |
|
</p> |
4585 |
|
<blockquote class="text"> |
4586 |
|
<p>AUDIO_OUTPUT_DEVICES |
4587 |
|
|
4588 |
|
</p> |
4589 |
|
<p>/ MIDI_INPUT_DEVICES |
4590 |
|
|
4591 |
|
</p> |
4592 |
|
<p>/ CHANNELS |
4593 |
|
|
4594 |
|
</p> |
4595 |
|
<p>/ AVAILABLE_ENGINES |
4596 |
|
|
4597 |
|
</p> |
4598 |
|
<p>/ AVAILABLE_MIDI_INPUT_DRIVERS |
4599 |
|
|
4600 |
|
</p> |
4601 |
|
<p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS |
4602 |
|
|
4603 |
|
</p> |
4604 |
|
</blockquote> |
4605 |
|
|
4606 |
|
<p>load_instr_args = |
4607 |
|
</p> |
4608 |
|
<blockquote class="text"> |
4609 |
|
<p>filename SP instrument_index SP sampler_channel |
4610 |
|
|
4611 |
|
</p> |
4612 |
|
<p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel |
4613 |
|
|
4614 |
|
</p> |
4615 |
|
</blockquote> |
4616 |
|
|
4617 |
|
<p>load_engine_args = |
4618 |
|
</p> |
4619 |
|
<blockquote class="text"> |
4620 |
|
<p>engine_name SP sampler_channel |
4621 |
|
|
4622 |
|
</p> |
4623 |
|
</blockquote> |
4624 |
|
|
4625 |
|
<p>device_index = |
4626 |
|
</p> |
4627 |
|
<blockquote class="text"> |
4628 |
|
<p>number |
4629 |
|
|
4630 |
|
</p> |
4631 |
|
</blockquote> |
4632 |
|
|
4633 |
|
<p>audio_channel_index = |
4634 |
|
</p> |
4635 |
|
<blockquote class="text"> |
4636 |
|
<p>number |
4637 |
|
|
4638 |
|
</p> |
4639 |
|
</blockquote> |
4640 |
|
|
4641 |
|
<p>audio_output_type_name = |
4642 |
|
</p> |
4643 |
|
<blockquote class="text"> |
4644 |
|
<p>string |
4645 |
|
|
4646 |
|
</p> |
4647 |
|
</blockquote> |
4648 |
|
|
4649 |
|
<p>midi_input_port_index = |
4650 |
|
</p> |
4651 |
|
<blockquote class="text"> |
4652 |
|
<p>number |
4653 |
|
|
4654 |
|
</p> |
4655 |
|
</blockquote> |
4656 |
|
|
4657 |
|
<p>midi_input_channel_index = |
4658 |
|
</p> |
4659 |
|
<blockquote class="text"> |
4660 |
|
<p>number |
4661 |
|
|
4662 |
|
</p> |
4663 |
|
<p>/ ALL |
4664 |
|
|
4665 |
|
</p> |
4666 |
|
</blockquote> |
4667 |
|
|
4668 |
|
<p>midi_input_type_name = |
4669 |
|
</p> |
4670 |
|
<blockquote class="text"> |
4671 |
|
<p>string |
4672 |
|
|
4673 |
|
</p> |
4674 |
|
</blockquote> |
4675 |
|
|
4676 |
<p>TODO: will soon automatically included from src/network/lscp.y, |
<p>volume_value = |
4677 |
meanwhile have a look at that file to get the exact definition of |
</p> |
4678 |
the command syntax. |
<blockquote class="text"> |
4679 |
|
<p>dotnum |
4680 |
|
|
4681 |
|
</p> |
4682 |
|
<p>/ number |
4683 |
|
|
4684 |
|
</p> |
4685 |
|
</blockquote> |
4686 |
|
|
4687 |
|
<p>sampler_channel = |
4688 |
|
</p> |
4689 |
|
<blockquote class="text"> |
4690 |
|
<p>number |
4691 |
|
|
4692 |
|
</p> |
4693 |
|
</blockquote> |
4694 |
|
|
4695 |
|
<p>instrument_index = |
4696 |
|
</p> |
4697 |
|
<blockquote class="text"> |
4698 |
|
<p>number |
4699 |
|
|
4700 |
|
</p> |
4701 |
|
</blockquote> |
4702 |
|
|
4703 |
|
<p>engine_name = |
4704 |
|
</p> |
4705 |
|
<blockquote class="text"> |
4706 |
|
<p>string |
4707 |
|
|
4708 |
|
</p> |
4709 |
|
</blockquote> |
4710 |
|
|
4711 |
|
<p>filename = |
4712 |
|
</p> |
4713 |
|
<blockquote class="text"> |
4714 |
|
<p>stringval |
4715 |
|
|
4716 |
</p> |
</p> |
4717 |
|
</blockquote> |
4718 |
|
|
4719 |
|
<p>param_val_list = |
4720 |
|
</p> |
4721 |
|
<blockquote class="text"> |
4722 |
|
<p>param_val |
4723 |
|
|
4724 |
|
</p> |
4725 |
|
<p>/ param_val_list','param_val |
4726 |
|
|
4727 |
|
</p> |
4728 |
|
</blockquote> |
4729 |
|
|
4730 |
|
<p>param_val = |
4731 |
|
</p> |
4732 |
|
<blockquote class="text"> |
4733 |
|
<p>string |
4734 |
|
|
4735 |
|
</p> |
4736 |
|
<p>/ '\'' string '\'' |
4737 |
|
|
4738 |
|
</p> |
4739 |
|
<p>/ '\"' string '\"' |
4740 |
|
|
4741 |
|
</p> |
4742 |
|
<p>/ number |
4743 |
|
|
4744 |
|
</p> |
4745 |
|
<p>/ dotnum |
4746 |
|
|
4747 |
|
</p> |
4748 |
|
</blockquote> |
4749 |
|
|
4750 |
<a name="events"></a><br /><hr /> |
<a name="events"></a><br /><hr /> |
4751 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
4752 |
<a name="rfc.section.7"></a><h3>7. Events</h3> |
<a name="rfc.section.8"></a><h3>8. Events</h3> |
4753 |
|
|
4754 |
<p>This chapter will describe all currently defined events supported by LinuxSampler. |
<p>This chapter will describe all currently defined events supported by LinuxSampler. |
4755 |
</p> |
</p> |
4756 |
<a name="rfc.section.7.1"></a><h4><a name="SUBSCRIBE CHANNEL">7.1</a> Number of sampler channels changed</h4> |
<a name="rfc.section.8.1"></a><h4><a name="SUBSCRIBE CHANNEL">8.1</a> Number of sampler channels changed</h4> |
4757 |
|
|
4758 |
<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 |
4759 |
back-end changes by issuing the following command: |
back-end changes by issuing the following command: |
4775 |
<p>where <channels> will be replaced by the new number |
<p>where <channels> will be replaced by the new number |
4776 |
of sampler channels. |
of sampler channels. |
4777 |
</p> |
</p> |
4778 |
<a name="rfc.section.7.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">7.2</a> Number of active voices changed</h4> |
<a name="rfc.section.8.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">8.2</a> Number of active voices changed</h4> |
4779 |
|
|
4780 |
<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 |
4781 |
back-end changes by issuing the following command: |
back-end changes by issuing the following command: |
4798 |
voice count change occurred and <voices> by the new number of |
voice count change occurred and <voices> by the new number of |
4799 |
active voices on that channel. |
active voices on that channel. |
4800 |
</p> |
</p> |
4801 |
<a name="rfc.section.7.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">7.3</a> Number of active disk streams changed</h4> |
<a name="rfc.section.8.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">8.3</a> Number of active disk streams changed</h4> |
4802 |
|
|
4803 |
<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 |
4804 |
changes by issuing the following command: SUBSCRIBE STREAM_COUNT |
changes by issuing the following command: SUBSCRIBE STREAM_COUNT |
4821 |
stream count change occurred and <streams> by the new number of |
stream count change occurred and <streams> by the new number of |
4822 |
active disk streams on that channel. |
active disk streams on that channel. |
4823 |
</p> |
</p> |
4824 |
<a name="rfc.section.7.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">7.4</a> Disk stream buffer fill state changed</h4> |
<a name="rfc.section.8.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">8.4</a> Disk stream buffer fill state changed</h4> |
4825 |
|
|
4826 |
<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 |
4827 |
on the back-end changes by issuing the following command: |
on the back-end changes by issuing the following command: |
4842 |
|
|
4843 |
<p>where <sampler-channel> will be replaced by the sampler channel the |
<p>where <sampler-channel> will be replaced by the sampler channel the |
4844 |
buffer fill state change occurred on and <fill-data> will be replaced by the |
buffer fill state change occurred on and <fill-data> will be replaced by the |
4845 |
buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section 5.4.13<span>Current fill state of disk stream buffers</span></a> |
buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section 6.4.13<span>Current fill state of disk stream buffers</span></a> |
4846 |
as if the <a class="info" href="#GET CHANNEL BUFFER_FILL">"GET CHANNEL BUFFER_FILL PERCENTAGE"<span>Current fill state of disk stream buffers</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>Current fill state of disk stream buffers</span></a> command was issued on this channel. |
4847 |
</p> |
</p> |
4848 |
<a name="rfc.section.7.5"></a><h4><a name="SUBSCRIBE INFO">7.5</a> Channel information changed</h4> |
<a name="rfc.section.8.5"></a><h4><a name="SUBSCRIBE INFO">8.5</a> Channel information changed</h4> |
4849 |
|
|
4850 |
<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 |
4851 |
back-end by issuing the following command: |
back-end by issuing the following command: |
4871 |
time events happening on the server, it is believed that an empty notification |
time events happening on the server, it is believed that an empty notification |
4872 |
message is sufficient here. |
message is sufficient here. |
4873 |
</p> |
</p> |
4874 |
<a name="rfc.section.7.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">7.6</a> Miscellaneous and debugging events</h4> |
<a name="rfc.section.8.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">8.6</a> Miscellaneous and debugging events</h4> |
4875 |
|
|
4876 |
<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 |
4877 |
the server by issuing the following command: |
the server by issuing the following command: |
4894 |
wants to send to the client. Client MAY display this data to the |
wants to send to the client. Client MAY display this data to the |
4895 |
user AS IS to facilitate debugging. |
user AS IS to facilitate debugging. |
4896 |
</p> |
</p> |
4897 |
<a name="anchor15"></a><br /><hr /> |
<a name="anchor14"></a><br /><hr /> |
4898 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
4899 |
<a name="rfc.section.8"></a><h3>8. Security Considerations</h3> |
<a name="rfc.section.9"></a><h3>9. Security Considerations</h3> |
4900 |
|
|
4901 |
<p>As there is so far no method of authentication and authorization |
<p>As there is so far no method of authentication and authorization |
4902 |
defined and so not required for a client applications to succeed to |
defined and so not required for a client applications to succeed to |
4903 |
connect, running LinuxSampler might be a security risk for the host |
connect, running LinuxSampler might be a security risk for the host |
4904 |
system the LinuxSampler instance is running on. |
system the LinuxSampler instance is running on. |
4905 |
</p> |
</p> |
4906 |
<a name="anchor16"></a><br /><hr /> |
<a name="anchor15"></a><br /><hr /> |
4907 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
4908 |
<a name="rfc.section.9"></a><h3>9. Acknowledgments</h3> |
<a name="rfc.section.10"></a><h3>10. Acknowledgments</h3> |
4909 |
|
|
4910 |
<p>This document has benefited greatly from the comments of the |
<p>This document has benefited greatly from the comments of the |
4911 |
following people, discussed on the LinuxSampler developer's mailing |
following people, discussed on the LinuxSampler developer's mailing |
4925 |
|
|
4926 |
<a name="rfc.references1"></a><br /><hr /> |
<a name="rfc.references1"></a><br /><hr /> |
4927 |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
<table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2"> TOC </a></td></tr></table> |
4928 |
<h3>10 References</h3> |
<h3>11 References</h3> |
4929 |
<table width="99%" border="0"> |
<table width="99%" border="0"> |
4930 |
<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> |
4931 |
<td class="author-text"><a href="mailto:sob@harvard.edu">Bradner, S.</a>, "<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>", BCP 14, RFC 2119, March 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2119.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2119.xml">XML</a>).</td></tr> |
<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> |
4932 |
|
<tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td> |
4933 |
|
<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> |
4934 |
|
<tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td> |
4935 |
|
<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> |
4936 |
</table> |
</table> |
4937 |
|
|
4938 |
<a name="rfc.authors"></a><br /><hr /> |
<a name="rfc.authors"></a><br /><hr /> |