/[svn]/web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 561 by schoenebeck, Sat May 21 20:01:32 2005 UTC revision 575 by schoenebeck, Tue May 24 03:26:22 2005 UTC
# Line 110  Line 110 
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">&nbsp;</td><td class="header">May 21, 2005</td></tr>  <tr><td class="header">&nbsp;</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>
# Line 137  The list of current Internet-Drafts can Line 137  The list of current Internet-Drafts can
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>
# Line 147  Copyright (C) The Internet Society (2005 Line 147  Copyright (C) The Internet Society (2005
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>&nbsp;  <a href="#anchor1">1.</a>&nbsp;
158  Requirements notation<br />  Requirements notation<br />
159  <a href="#anchor2">2.</a>&nbsp;  <a href="#LSCP versioning">2.</a>&nbsp;
160    Versioning of this specification<br />
161    <a href="#anchor2">3.</a>&nbsp;
162  Introduction<br />  Introduction<br />
163  <a href="#anchor3">3.</a>&nbsp;  <a href="#anchor3">4.</a>&nbsp;
164  Focus of this protocol<br />  Focus of this protocol<br />
165  <a href="#anchor4">4.</a>&nbsp;  <a href="#anchor4">5.</a>&nbsp;
166  Communication Overview<br />  Communication Overview<br />
167  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.1</a>&nbsp;
168  Request/response communication method<br />  Request/response communication method<br />
169  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">4.1.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">5.1.1</a>&nbsp;
170  Result format<br />  Result format<br />
171  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">5.2</a>&nbsp;
172  Subscribe/notify communication method<br />  Subscribe/notify communication method<br />
173  <a href="#anchor8">5.</a>&nbsp;  <a href="#control_commands">6.</a>&nbsp;
174  Description for control commands<br />  Description for control commands<br />
175  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">6.1</a>&nbsp;
176  Ignored lines and comments<br />  Ignored lines and comments<br />
177  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">6.2</a>&nbsp;
178  Configuring audio drivers<br />  Configuring audio drivers<br />
179  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a>&nbsp;
180  Getting amount of available audio output drivers<br />  Getting amount of available audio output drivers<br />
181  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a>&nbsp;
182  Getting all available audio output drivers<br />  Getting all available audio output drivers<br />
183  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">5.2.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a>&nbsp;
184  Getting information about a specific audio  Getting information about a specific audio
185                  output driver<br />                  output driver<br />
186  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">5.2.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a>&nbsp;
187  Getting information about specific audio  Getting information about specific audio
188                  output driver parameter<br />                  output driver parameter<br />
189  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">5.2.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a>&nbsp;
190  Creating an audio output device<br />  Creating an audio output device<br />
191  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">5.2.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a>&nbsp;
192  Destroying an audio output device<br />  Destroying an audio output device<br />
193  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">5.2.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">6.2.7</a>&nbsp;
194  Getting all created audio output device count<br />  Getting all created audio output device count<br />
195  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">5.2.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">6.2.8</a>&nbsp;
196  Getting all created audio output device list<br />  Getting all created audio output device list<br />
197  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">5.2.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a>&nbsp;
198  Getting current settings of an audio output device<br />  Getting current settings of an audio output device<br />
199  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">5.2.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a>&nbsp;
200  Changing settings of audio output devices<br />  Changing settings of audio output devices<br />
201  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">5.2.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a>&nbsp;
202  Getting information about an audio channel<br />  Getting information about an audio channel<br />
203  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">5.2.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a>&nbsp;
204  Getting information about specific audio channel parameter<br />  Getting information about specific audio channel parameter<br />
205  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">5.2.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a>&nbsp;
206  Changing settings of audio output channels<br />  Changing settings of audio output channels<br />
207  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">6.3</a>&nbsp;
208  Configuring MIDI input drivers<br />  Configuring MIDI input drivers<br />
209  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">5.3.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a>&nbsp;
210  Getting amount of available MIDI input drivers<br />  Getting amount of available MIDI input drivers<br />
211  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">5.3.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a>&nbsp;
212  Getting all available MIDI input drivers<br />  Getting all available MIDI input drivers<br />
213  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">5.3.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">6.3.3</a>&nbsp;
214  Getting information about a specific MIDI input driver<br />  Getting information about a specific MIDI input driver<br />
215  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">5.3.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a>&nbsp;
216  Getting information about specific MIDI input driver parameter<br />  Getting information about specific MIDI input driver parameter<br />
217  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">5.3.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">6.3.5</a>&nbsp;
218  Creating a MIDI input device<br />  Creating a MIDI input device<br />
219  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">5.3.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">6.3.6</a>&nbsp;
220  Destroying a MIDI input device<br />  Destroying a MIDI input device<br />
221  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">5.3.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">6.3.7</a>&nbsp;
222  Getting all created MIDI input device count<br />  Getting all created MIDI input device count<br />
223  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">5.3.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">6.3.8</a>&nbsp;
224  Getting all created MIDI input device list<br />  Getting all created MIDI input device list<br />
225  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">5.3.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">6.3.9</a>&nbsp;
226  Getting current settings of a MIDI input device<br />  Getting current settings of a MIDI input device<br />
227  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">5.3.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a>&nbsp;
228  Changing settings of MIDI input devices<br />  Changing settings of MIDI input devices<br />
229  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">5.3.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">6.3.11</a>&nbsp;
230  Getting information about a MIDI port<br />  Getting information about a MIDI port<br />
231  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">5.3.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a>&nbsp;
232  Getting information about specific MIDI port parameter<br />  Getting information about specific MIDI port parameter<br />
233  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">5.3.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a>&nbsp;
234  Changing settings of MIDI input ports<br />  Changing settings of MIDI input ports<br />
235  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">6.4</a>&nbsp;
236  Configuring sampler channels<br />  Configuring sampler channels<br />
237  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">5.4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">6.4.1</a>&nbsp;
238  Loading an instrument<br />  Loading an instrument<br />
239  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">5.4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">6.4.2</a>&nbsp;
240  Loading a sampler engine<br />  Loading a sampler engine<br />
241  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">5.4.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">6.4.3</a>&nbsp;
242  Getting all created sampler channel count<br />  Getting all created sampler channel count<br />
243  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">5.4.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">6.4.4</a>&nbsp;
244  Getting all created sampler channel list<br />  Getting all created sampler channel list<br />
245  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">5.4.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">6.4.5</a>&nbsp;
246  Adding a new sampler channel<br />  Adding a new sampler channel<br />
247  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">5.4.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">6.4.6</a>&nbsp;
248  Removing a sampler channel<br />  Removing a sampler channel<br />
249  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">5.4.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">6.4.7</a>&nbsp;
250  Getting amount of available engines<br />  Getting amount of available engines<br />
251  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">5.4.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">6.4.8</a>&nbsp;
252  Getting all available engines<br />  Getting all available engines<br />
253  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">5.4.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">6.4.9</a>&nbsp;
254  Getting information about an engine<br />  Getting information about an engine<br />
255  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">5.4.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">6.4.10</a>&nbsp;
256  Getting sampler channel information<br />  Getting sampler channel information<br />
257  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">5.4.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">6.4.11</a>&nbsp;
258  Current number of active voices<br />  Current number of active voices<br />
259  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">5.4.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">6.4.12</a>&nbsp;
260  Current number of active disk streams<br />  Current number of active disk streams<br />
261  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">5.4.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">6.4.13</a>&nbsp;
262  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
263  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">5.4.14</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a>&nbsp;
264  Setting audio output device<br />  Setting audio output device<br />
265  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">5.4.15</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a>&nbsp;
266  Setting audio output type<br />  Setting audio output type<br />
267  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">5.4.16</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a>&nbsp;
268  Setting audio output channel<br />  Setting audio output channel<br />
269  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">5.4.17</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a>&nbsp;
270  Setting MIDI input device<br />  Setting MIDI input device<br />
271  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">5.4.18</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a>&nbsp;
272  Setting MIDI input type<br />  Setting MIDI input type<br />
273  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">5.4.19</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">6.4.19</a>&nbsp;
274  Setting MIDI input port<br />  Setting MIDI input port<br />
275  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">5.4.20</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a>&nbsp;
276  Setting MIDI input channel<br />  Setting MIDI input channel<br />
277  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">5.4.21</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">6.4.21</a>&nbsp;
278  Setting channel volume<br />  Setting channel volume<br />
279  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">5.4.22</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.22</a>&nbsp;
280  Resetting a sampler channel<br />  Resetting a sampler channel<br />
281  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">5.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5</a>&nbsp;
282  Controlling connection<br />  Controlling connection<br />
283  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">5.5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1</a>&nbsp;
284  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
285  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">5.5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2</a>&nbsp;
286  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
287  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">5.5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3</a>&nbsp;
288  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
289  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">5.5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4</a>&nbsp;
290  Close client connection<br />  Close client connection<br />
291  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">5.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6</a>&nbsp;
292  Global commands<br />  Global commands<br />
293  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">5.6.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.1</a>&nbsp;
294  Reset sampler<br />  Reset sampler<br />
295  <a href="#command_syntax">6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.2</a>&nbsp;
296    General sampler informations<br />
297    <a href="#command_syntax">7.</a>&nbsp;
298  Command Syntax<br />  Command Syntax<br />
299  <a href="#events">7.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
300  Events<br />  Events<br />
301  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">7.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">8.1</a>&nbsp;
302  Number of sampler channels changed<br />  Number of sampler channels changed<br />
303  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">7.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;
304  Number of active voices changed<br />  Number of active voices changed<br />
305  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;
306  Number of active disk streams changed<br />  Number of active disk streams changed<br />
307  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;
308  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
309  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">7.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5</a>&nbsp;
310  Channel information changed<br />  Channel information changed<br />
311  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;
312  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
313  <a href="#anchor15">8.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
314  Security Considerations<br />  Security Considerations<br />
315  <a href="#anchor16">9.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
316  Acknowledgments<br />  Acknowledgments<br />
317  <a href="#rfc.references1">10.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
318  References<br />  References<br />
319  <a href="#rfc.authors">&#167;</a>&nbsp;  <a href="#rfc.authors">&#167;</a>&nbsp;
320  Author's Address<br />  Author's Address<br />
# Line 326  Intellectual Property and Copyright Stat Line 330  Intellectual Property and Copyright Stat
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.
# Line 393  Intellectual Property and Copyright Stat Line 397  Intellectual Property and Copyright Stat
397  <p>where again &lt;CR&gt; and &lt;LF&gt; symbolize the carriage  <p>where again &lt;CR&gt; and &lt;LF&gt; 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">&nbsp;TOC&nbsp;</a></td></tr></table>
402    <a name="rfc.section.2"></a><h3>2.&nbsp;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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
447  <a name="rfc.section.2"></a><h3>2.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;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
# Line 408  Intellectual Property and Copyright Stat Line 457  Intellectual Property and Copyright Stat
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
# Line 416  Intellectual Property and Copyright Stat Line 465  Intellectual Property and Copyright Stat
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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
468  <a name="rfc.section.3"></a><h3>3.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;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
# Line 428  Intellectual Property and Copyright Stat Line 477  Intellectual Property and Copyright Stat
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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
480  <a name="rfc.section.4"></a><h3>4.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;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
# Line 441  Intellectual Property and Copyright Stat Line 490  Intellectual Property and Copyright Stat
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>&nbsp;Request/response communication method</h4>  <a name="rfc.section.5.1"></a><h4><a name="anchor5">5.1</a>&nbsp;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
# Line 483  Intellectual Property and Copyright Stat Line 533  Intellectual Property and Copyright Stat
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>&nbsp;Result format</h4>  <a name="rfc.section.5.1.1"></a><h4><a name="anchor6">5.1.1</a>&nbsp;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>
# Line 647  Intellectual Property and Copyright Stat Line 697  Intellectual Property and Copyright Stat
697  </p>  </p>
698  </blockquote>  </blockquote>
699    
700  <a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a>&nbsp;Subscribe/notify communication method</h4>  <a name="rfc.section.5.2"></a><h4><a name="anchor7">5.2</a>&nbsp;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
# Line 716  Intellectual Property and Copyright Stat Line 766  Intellectual Property and Copyright Stat
766    
767  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; 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
# Line 759  Intellectual Property and Copyright Stat Line 809  Intellectual Property and Copyright Stat
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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
814  <a name="rfc.section.5"></a><h3>5.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;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
# Line 770  Intellectual Property and Copyright Stat Line 820  Intellectual Property and Copyright Stat
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>&nbsp;Ignored lines and comments</h4>  <a name="rfc.section.6.1"></a><h4><a name="anchor8">6.1</a>&nbsp;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 "#"
# Line 778  Intellectual Property and Copyright Stat Line 828  Intellectual Property and Copyright Stat
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>&nbsp;Configuring audio drivers</h4>  <a name="rfc.section.6.2"></a><h4><a name="anchor9">6.2</a>&nbsp;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
# Line 811  Intellectual Property and Copyright Stat Line 861  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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
# Line 842  Intellectual Property and Copyright Stat Line 892  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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
# Line 874  Intellectual Property and Copyright Stat Line 924  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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
# Line 960  Intellectual Property and Copyright Stat Line 1010  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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
# Line 1190  Intellectual Property and Copyright Stat Line 1240  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1201  Intellectual Property and Copyright Stat Line 1251  Intellectual Property and Copyright Stat
1251  </blockquote>  </blockquote>
1252    
1253  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio
1254                      output system and &lt;param-list&gt; 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 &lt;param-list&gt; 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
# Line 1259  Intellectual Property and Copyright Stat Line 1311  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1317  Intellectual Property and Copyright Stat Line 1369  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1346  Intellectual Property and Copyright Stat Line 1398  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1375  Intellectual Property and Copyright Stat Line 1427  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1442  Intellectual Property and Copyright Stat Line 1494  Intellectual Property and Copyright Stat
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:
# Line 1469  Intellectual Property and Copyright Stat Line 1521  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1480  Intellectual Property and Copyright Stat Line 1532  Intellectual Property and Copyright Stat
1532  </blockquote>  </blockquote>
1533    
1534  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1535                      audio output device, &lt;key&gt; 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, &lt;key&gt; by the name of the parameter to change
1539                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1540  </p>  </p>
1541  <p>Possible Answers:  <p>Possible Answers:
# Line 1523  Intellectual Property and Copyright Stat Line 1578  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1533  Intellectual Property and Copyright Stat Line 1588  Intellectual Property and Copyright Stat
1588  </p>  </p>
1589  </blockquote>  </blockquote>
1590    
1591  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
1592                      and &lt;audio-chan&gt; 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 &lt;audio-chan&gt; the audio channel number.
1595  </p>  </p>
1596  <p>Possible Answers:  <p>Possible Answers:
1597  </p>  </p>
# Line 1644  Intellectual Property and Copyright Stat Line 1701  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1654  Intellectual Property and Copyright Stat Line 1711  Intellectual Property and Copyright Stat
1711  </p>  </p>
1712  </blockquote>  </blockquote>
1713    
1714  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned  <p>Where &lt;dev-id&gt; 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, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
1718                      and &lt;param&gt; a specific channel parameter name for which information should                      and &lt;param&gt; 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).
# Line 1772  Intellectual Property and Copyright Stat Line 1830  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1782  Intellectual Property and Copyright Stat Line 1840  Intellectual Property and Copyright Stat
1840  </p>  </p>
1841  </blockquote>  </blockquote>
1842    
1843  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
1844                      device, &lt;chn&gt; by the audio channel number, &lt;key&gt; 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, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
1847                      parameter to change and &lt;value&gt; by the new value for this parameter.                      parameter to change and &lt;value&gt; by the new value for this parameter.
1848  </p>  </p>
1849  <p>Possible Answers:  <p>Possible Answers:
# Line 1834  Intellectual Property and Copyright Stat Line 1894  Intellectual Property and Copyright Stat
1894  </p>  </p>
1895  </blockquote>  </blockquote>
1896    
1897  <a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a>&nbsp;Configuring MIDI input drivers</h4>  <a name="rfc.section.6.3"></a><h4><a name="anchor10">6.3</a>&nbsp;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
# Line 1862  Intellectual Property and Copyright Stat Line 1922  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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
# Line 1893  Intellectual Property and Copyright Stat Line 1953  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 1923  Intellectual Property and Copyright Stat Line 1983  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 1933  Intellectual Property and Copyright Stat Line 1993  Intellectual Property and Copyright Stat
1993  </p>  </p>
1994  </blockquote>  </blockquote>
1995    
1996  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.  <p>Where &lt;midi-input-driver&gt; 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>
# Line 1990  Intellectual Property and Copyright Stat Line 2051  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2159  Intellectual Property and Copyright Stat Line 2220  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2169  Intellectual Property and Copyright Stat Line 2230  Intellectual Property and Copyright Stat
2230  </p>  </p>
2231  </blockquote>  </blockquote>
2232    
2233  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an  <p>Where &lt;midi-input-driver&gt; 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 &lt;param-list&gt; 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
# Line 2217  Intellectual Property and Copyright Stat Line 2279  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2227  Intellectual Property and Copyright Stat Line 2289  Intellectual Property and Copyright Stat
2289  </p>  </p>
2290  </blockquote>  </blockquote>
2291    
2292  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID.  <p>Where &lt;device-id&gt; 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>
# Line 2268  Intellectual Property and Copyright Stat Line 2333  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2297  Intellectual Property and Copyright Stat Line 2362  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2334  Intellectual Property and Copyright Stat Line 2399  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2344  Intellectual Property and Copyright Stat Line 2409  Intellectual Property and Copyright Stat
2409  </p>  </p>
2410  </blockquote>  </blockquote>
2411    
2412  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.  <p>Where &lt;device-id&gt; 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>
# Line 2406  Intellectual Property and Copyright Stat Line 2474  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2417  Intellectual Property and Copyright Stat Line 2485  Intellectual Property and Copyright Stat
2485  </blockquote>  </blockquote>
2486    
2487  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
2488                      MIDI input device, &lt;key&gt; 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, &lt;key&gt; by the name of the parameter to change and
2492                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
2493  </p>  </p>
2494  <p>Possible Answers:  <p>Possible Answers:
# Line 2459  Intellectual Property and Copyright Stat Line 2530  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2469  Intellectual Property and Copyright Stat Line 2540  Intellectual Property and Copyright Stat
2540  </p>  </p>
2541  </blockquote>  </blockquote>
2542    
2543  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2544                      and &lt;midi-port&gt; 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 &lt;midi-port&gt; the MIDI input port number.
2547  </p>  </p>
2548  <p>Possible Answers:  <p>Possible Answers:
2549  </p>  </p>
# Line 2510  Intellectual Property and Copyright Stat Line 2583  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2520  Intellectual Property and Copyright Stat Line 2593  Intellectual Property and Copyright Stat
2593  </p>  </p>
2594  </blockquote>  </blockquote>
2595    
2596  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned  <p>Where &lt;dev-id&gt; 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, &lt;port&gt; 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, &lt;port&gt; the MIDI port number and
2600                      &lt;param&gt; a specific port parameter name for which information should be                      &lt;param&gt; 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>
# Line 2634  Intellectual Property and Copyright Stat Line 2709  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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>
# Line 2645  Intellectual Property and Copyright Stat Line 2720  Intellectual Property and Copyright Stat
2720  </blockquote>  </blockquote>
2721    
2722  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
2723                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; 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, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
2727                      the parameter to change and &lt;value&gt; by the new value for this                      the parameter to change and &lt;value&gt; by the new value for this
2728                      parameter.                      parameter.
2729  </p>  </p>
# Line 2686  Intellectual Property and Copyright Stat Line 2764  Intellectual Property and Copyright Stat
2764  </p>  </p>
2765  </blockquote>  </blockquote>
2766    
2767  <a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a>&nbsp;Configuring sampler channels</h4>  <a name="rfc.section.6.4"></a><h4><a name="anchor11">6.4</a>&nbsp;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>&nbsp;Loading an instrument</h4>  <a name="rfc.section.6.4.1"></a><h4><a name="LOAD INSTRUMENT">6.4.1</a>&nbsp;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>
# Line 2757  Intellectual Property and Copyright Stat Line 2836  Intellectual Property and Copyright Stat
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>&nbsp;Loading a sampler engine</h4>  <a name="rfc.section.6.4.2"></a><h4><a name="LOAD ENGINE">6.4.2</a>&nbsp;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>
# Line 2769  Intellectual Property and Copyright Stat Line 2848  Intellectual Property and Copyright Stat
2848  </blockquote>  </blockquote>
2849    
2850  <p>Where &lt;engine-name&gt; is an engine name as obtained by the  <p>Where &lt;engine-name&gt; 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 &lt;sampler-channel&gt; the sampler channel the                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and &lt;sampler-channel&gt;
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>
# Line 2812  Intellectual Property and Copyright Stat Line 2899  Intellectual Property and Copyright Stat
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>&nbsp;Getting all created sampler channel count</h4>  <a name="rfc.section.6.4.3"></a><h4><a name="GET CHANNELS">6.4.3</a>&nbsp;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
# Line 2842  Intellectual Property and Copyright Stat Line 2929  Intellectual Property and Copyright Stat
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>&nbsp;Getting all created sampler channel list</h4>  <a name="rfc.section.6.4.4"></a><h4><a name="LIST CHANNELS">6.4.4</a>&nbsp;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
# Line 2873  Intellectual Property and Copyright Stat Line 2960  Intellectual Property and Copyright Stat
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>&nbsp;Adding a new sampler channel</h4>  <a name="rfc.section.6.4.5"></a><h4><a name="ADD CHANNEL">6.4.5</a>&nbsp;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:
# Line 2936  Intellectual Property and Copyright Stat Line 3023  Intellectual Property and Copyright Stat
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>&nbsp;Removing a sampler channel</h4>  <a name="rfc.section.6.4.6"></a><h4><a name="REMOVE CHANNEL">6.4.6</a>&nbsp;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>
# Line 2991  Intellectual Property and Copyright Stat Line 3078  Intellectual Property and Copyright Stat
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>&nbsp;Getting amount of available engines</h4>  <a name="rfc.section.6.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">6.4.7</a>&nbsp;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>
# Line 3019  Intellectual Property and Copyright Stat Line 3106  Intellectual Property and Copyright Stat
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>&nbsp;Getting all available engines</h4>  <a name="rfc.section.6.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">6.4.8</a>&nbsp;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>
# Line 3050  Intellectual Property and Copyright Stat Line 3137  Intellectual Property and Copyright Stat
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>&nbsp;Getting information about an engine</h4>  <a name="rfc.section.6.4.9"></a><h4><a name="GET ENGINE INFO">6.4.9</a>&nbsp;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:
# Line 3110  Intellectual Property and Copyright Stat Line 3197  Intellectual Property and Copyright Stat
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>&nbsp;Getting sampler channel information</h4>  <a name="rfc.section.6.4.10"></a><h4><a name="GET CHANNEL INFO">6.4.10</a>&nbsp;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:
# Line 3121  Intellectual Property and Copyright Stat Line 3208  Intellectual Property and Copyright Stat
3208  </p>  </p>
3209  </blockquote>  </blockquote>
3210    
3211  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  <p>Where &lt;sampler-channel&gt; 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>
# Line 3138  Intellectual Property and Copyright Stat Line 3227  Intellectual Property and Copyright Stat
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>
# Line 3281  Intellectual Property and Copyright Stat Line 3370  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3292  Intellectual Property and Copyright Stat Line 3381  Intellectual Property and Copyright Stat
3381  </p>  </p>
3382  </blockquote>  </blockquote>
3383    
3384  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  <p>Where &lt;sampler-channel&gt; 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>
# Line 3311  Intellectual Property and Copyright Stat Line 3402  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3322  Intellectual Property and Copyright Stat Line 3413  Intellectual Property and Copyright Stat
3413  </p>  </p>
3414  </blockquote>  </blockquote>
3415    
3416  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  <p>Where &lt;sampler-channel&gt; 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>
# Line 3343  Intellectual Property and Copyright Stat Line 3436  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3363  Intellectual Property and Copyright Stat Line 3456  Intellectual Property and Copyright Stat
3456  </blockquote>  </blockquote>
3457    
3458  <p>to get the fill state in percent, where &lt;sampler-channel&gt; is the  <p>to get the fill state in percent, where &lt;sampler-channel&gt; 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>
# Line 3404  Intellectual Property and Copyright Stat Line 3499  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3415  Intellectual Property and Copyright Stat Line 3510  Intellectual Property and Copyright Stat
3510  </p>  </p>
3511  </blockquote>  </blockquote>
3512    
3513  <p>Where &lt;audio-device-id&gt; is the numerical ID of the audio output  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
3514                      device and &lt;sampler-channel&gt; 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                        &lt;audio-device-id&gt; 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>
# Line 3456  Intellectual Property and Copyright Stat Line 3555  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;Setting audio output type</h4>
3559    
3560  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
3561  </p>  </p>
# Line 3509  Intellectual Property and Copyright Stat Line 3608  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3520  Intellectual Property and Copyright Stat Line 3619  Intellectual Property and Copyright Stat
3619  </p>  </p>
3620  </blockquote>  </blockquote>
3621    
3622  <p>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the  <p>Where &lt;sampler-chan&gt; 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, &lt;audio-out&gt; 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 &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio
3627                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
# Line 3562  Intellectual Property and Copyright Stat Line 3663  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3573  Intellectual Property and Copyright Stat Line 3674  Intellectual Property and Copyright Stat
3674  </p>  </p>
3675  </blockquote>  </blockquote>
3676    
3677  <p>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the  <p>Where &lt;sampler-channel&gt; 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 &lt;midi-device-id&gt; 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>
# Line 3613  Intellectual Property and Copyright Stat Line 3718  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;Setting MIDI input type</h4>
3722    
3723  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
3724  </p>  </p>
# Line 3666  Intellectual Property and Copyright Stat Line 3771  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3718  Intellectual Property and Copyright Stat Line 3823  Intellectual Property and Copyright Stat
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>&nbsp;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>&nbsp;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:
# Line 3770  Intellectual Property and Copyright Stat Line 3875  Intellectual Property and Copyright Stat
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>&nbsp;Setting channel volume</h4>  <a name="rfc.section.6.4.21"></a><h4><a name="SET CHANNEL VOLUME">6.4.21</a>&nbsp;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:
# Line 3823  Intellectual Property and Copyright Stat Line 3928  Intellectual Property and Copyright Stat
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>&nbsp;Resetting a sampler channel</h4>  <a name="rfc.section.6.4.22"></a><h4><a name="RESET CHANNEL">6.4.22</a>&nbsp;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>
# Line 3877  Intellectual Property and Copyright Stat Line 3982  Intellectual Property and Copyright Stat
3982  </p>  </p>
3983  </blockquote>  </blockquote>
3984    
3985  <a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a>&nbsp;Controlling connection</h4>  <a name="rfc.section.6.5"></a><h4><a name="anchor12">6.5</a>&nbsp;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>&nbsp;Register front-end for receiving event messages</h4>  <a name="rfc.section.6.5.1"></a><h4><a name="SUBSCRIBE">6.5.1</a>&nbsp;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:
# Line 3933  Intellectual Property and Copyright Stat Line 4038  Intellectual Property and Copyright Stat
4038  </p>  </p>
4039  </blockquote>  </blockquote>
4040    
4041  <a name="rfc.section.5.5.2"></a><h4><a name="UNSUBSCRIBE">5.5.2</a>&nbsp;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>&nbsp;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:
# Line 3985  Intellectual Property and Copyright Stat Line 4090  Intellectual Property and Copyright Stat
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>&nbsp;Enable or disable echo of commands</h4>  <a name="rfc.section.6.5.3"></a><h4><a name="SET ECHO">6.5.3</a>&nbsp;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>
# Line 4031  Intellectual Property and Copyright Stat Line 4136  Intellectual Property and Copyright Stat
4136  </p>  </p>
4137  </blockquote>  </blockquote>
4138    
4139  <a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a>&nbsp;Close client connection</h4>  <a name="rfc.section.6.5.4"></a><h4><a name="QUIT">6.5.4</a>&nbsp;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>
# Line 4044  Intellectual Property and Copyright Stat Line 4149  Intellectual Property and Copyright Stat
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>&nbsp;Global commands</h4>  <a name="rfc.section.6.6"></a><h4><a name="anchor13">6.6</a>&nbsp;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>&nbsp;Reset sampler</h4>  <a name="rfc.section.6.6.1"></a><h4><a name="RESET">6.6.1</a>&nbsp;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>
# Line 4079  Intellectual Property and Copyright Stat Line 4184  Intellectual Property and Copyright Stat
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>&nbsp;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 &lt;CRLF&gt; separated list.
4203                                   Each answer line begins with the information category name
4204                                   followed by a colon and then a space character &lt;SP&gt; 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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
4242  <a name="rfc.section.6"></a><h3>6.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
4752  <a name="rfc.section.7"></a><h3>7.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;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>&nbsp;Number of sampler channels changed</h4>  <a name="rfc.section.8.1"></a><h4><a name="SUBSCRIBE CHANNEL">8.1</a>&nbsp;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:
# Line 4115  Intellectual Property and Copyright Stat Line 4775  Intellectual Property and Copyright Stat
4775  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; 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>&nbsp;Number of active voices changed</h4>  <a name="rfc.section.8.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;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:
# Line 4138  Intellectual Property and Copyright Stat Line 4798  Intellectual Property and Copyright Stat
4798                  voice count change occurred and &lt;voices&gt; by the new number of                  voice count change occurred and &lt;voices&gt; 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>&nbsp;Number of active disk streams changed</h4>  <a name="rfc.section.8.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;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
# Line 4161  Intellectual Property and Copyright Stat Line 4821  Intellectual Property and Copyright Stat
4821                  stream count change occurred and &lt;streams&gt; by the new number of                  stream count change occurred and &lt;streams&gt; 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>&nbsp;Disk stream buffer fill state changed</h4>  <a name="rfc.section.8.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;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:
# Line 4182  Intellectual Property and Copyright Stat Line 4842  Intellectual Property and Copyright Stat
4842    
4843  <p>where &lt;sampler-channel&gt; will be replaced by the sampler channel the  <p>where &lt;sampler-channel&gt; will be replaced by the sampler channel the
4844                  buffer fill state change occurred on and &lt;fill-data&gt; will be replaced by the                  buffer fill state change occurred on and &lt;fill-data&gt; 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>&nbsp;Channel information changed</h4>  <a name="rfc.section.8.5"></a><h4><a name="SUBSCRIBE INFO">8.5</a>&nbsp;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:
# Line 4211  Intellectual Property and Copyright Stat Line 4871  Intellectual Property and Copyright Stat
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>&nbsp;Miscellaneous and debugging events</h4>  <a name="rfc.section.8.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;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:
# Line 4234  Intellectual Property and Copyright Stat Line 4894  Intellectual Property and Copyright Stat
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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
4899  <a name="rfc.section.8"></a><h3>8.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
4908  <a name="rfc.section.9"></a><h3>9.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;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
# Line 4265  Intellectual Property and Copyright Stat Line 4925  Intellectual Property and Copyright Stat
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">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>
4928  <h3>10&nbsp;References</h3>  <h3>11&nbsp;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 />

Legend:
Removed from v.561  
changed lines
  Added in v.575

  ViewVC Help
Powered by ViewVC