/[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 542 by senoner, Sun May 15 15:31:45 2005 UTC revision 1110 by iliev, Thu Mar 22 21:12:10 2007 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.25 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'>  <style type='text/css'><!--
8  <!--          body {
9      body {                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10          font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-size: small; color: #000; background-color: #FFF;
11          margin: 2em;                  margin: 2em;
12          font-size: small ; color: #000000 ; background-color: #ffffff ; }          }
13      .title { color: #990000; font-size: x-large ;          h1, h2, h3, h4, h5, h6 {
14          font-weight: bold; text-align: right;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15          font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-weight: bold; font-style: normal;
16          background-color: transparent; }          }
17      .filename { color: #666666; font-size: 18px; line-height: 28px;          h1 { color: #900; background-color: transparent; text-align: right; }
18          font-weight: bold; text-align: right;          h3 { color: #333; background-color: transparent; }
19          font-family: helvetica, arial, sans-serif;  
20          background-color: transparent; }          td.RFCbug {
21      td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;                  font-size: x-small; text-decoration: none;
22          text-align: justify; vertical-align: middle ; padding-top: 2px ; }                  width: 30px; height: 30px; padding-top: 2px;
23      td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;                  text-align: justify; vertical-align: middle;
24          background-color: #000000 ;                  background-color: #000;
25          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
26          font-size: x-small ; }          td.RFCbug span.RFC {
27      td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28          text-align: center ;                  font-weight: bold; color: #666;
29          font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
30          font-size: x-small ; background-color: #000000; }          td.RFCbug span.hotText {
31  /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32      div#counter{margin-top: 100px}                  font-weight: normal; text-align: center; color: #FFF;
33            }
     a.info{  
         position:relative; /*this is the key*/  
         z-index:24;  
         text-decoration:none}  
   
     a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}  
   
     a.info span{display: none}  
   
     a.info:hover span{ /*the span will display just on :hover state*/  
         display:block;  
         position:absolute;  
         font-size: smaller ;  
         top:2em; left:2em; width:15em;  
         padding: 2px ;  
         border:1px solid #333333;  
         background-color:#eeeeee; color:#990000;  
         text-align: left ;}  
   
      A { font-weight: bold; }  
      A:link { color: #990000; background-color: transparent ; }  
      A:visited { color: #333333; background-color: transparent ; }  
      A:active { color: #333333; background-color: transparent ; }  
   
     p { margin-left: 2em; margin-right: 2em; }  
     p.copyright { font-size: x-small ; }  
     p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb { font-family: "Courier New", Courier, monospace ; }  
   
     ol.text { margin-left: 2em; margin-right: 2em; }  
     ul.text { margin-left: 2em; margin-right: 2em; }  
     li { margin-left: 3em;  }  
34    
35      pre { margin-left: 3em; color: #333333;  background-color: transparent;          table.TOCbug { width: 30px; height: 15px; }
36          font-family: "Courier New", Courier, monospace ; font-size: small ;          td.TOCbug {
37                    text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39            }
40            td.TOCbug a {
41                    font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43                    color: #FFF; background-color: transparent;
44            }
45    
46            td.header {
47                    font-family: arial, helvetica, sans-serif; font-size: x-small;
48                    vertical-align: top; width: 33%;
49                    color: #FFF; background-color: #666;
50            }
51            td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53    
54            /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55            a.info {
56                    /* This is the key. */
57                    position: relative;
58                    z-index: 24;
59                    text-decoration: none;
60            }
61            a.info:hover {
62                    z-index: 25;
63                    color: #FFF; background-color: #900;
64            }
65            a.info span { display: none; }
66            a.info:hover span.info {
67                    /* The span will display just on :hover state. */
68                    display: block;
69                    position: absolute;
70                    font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72                    padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74                    text-align: left;
75            }
76    
77            a { font-weight: bold; }
78            a:link    { color: #900; background-color: transparent; }
79            a:visited { color: #633; background-color: transparent; }
80            a:active  { color: #633; background-color: transparent; }
81    
82            p { margin-left: 2em; margin-right: 2em; }
83            p.copyright { font-size: x-small; }
84            p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85            table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86            td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88            ol.text { margin-left: 2em; margin-right: 2em; }
89            ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91    
92            /* RFC-2629 <spanx>s and <artwork>s. */
93            em     { font-style: italic; }
94            strong { font-weight: bold; }
95            dfn    { font-weight: bold; font-style: normal; }
96            cite   { font-weight: normal; font-style: normal; }
97            tt     { color: #036; }
98            tt, pre, pre dfn, pre em, pre cite, pre span {
99                    font-family: "Courier New", Courier, monospace; font-size: small;
100            }
101            pre {
102                    text-align: left; padding: 4px;
103                    color: #000; background-color: #CCC;
104            }
105            pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107            pre .key { color: #33C; font-weight: bold; }
108            pre .id  { color: #900; }
109            pre .str { color: #000; background-color: #CFF; }
110            pre .val { color: #066; }
111            pre .rep { color: #909; }
112            pre .oth { color: #000; background-color: #FCF; }
113            pre .err { background-color: #FCC; }
114    
115            /* RFC-2629 <texttable>s. */
116            table.all, table.full, table.headers, table.none {
117                    font-size: small; text-align: center; border-width: 2px;
118                    vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132          }          }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135      h3 { color: #333333; font-size: medium ;          hr { height: 1px; }
136          font-family: helvetica, arial, sans-serif ;          hr.insert {
137          background-color: transparent; }                  width: 80%; border-style: none; border-width: 0;
138      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #CCC; background-color: #CCC;
139            }
140      table.bug { width: 30px ; height: 15px ; }  --></style>
     td.bug { color: #ffffff ; background-color: #990000 ;  
         text-align: center ; width: 30px ; height: 15px ;  
          }  
     td.bug A.link2 { color: #ffffff ; font-weight: bold;  
         text-decoration: none;  
         font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;  
         font-size: x-small ; background-color: transparent }  
   
     td.header { color: #ffffff; font-size: x-small ;  
         font-family: arial, helvetica, sans-serif; vertical-align: top;  
         background-color: #666666 ; width: 33% ; }  
     td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }  
     td.author-text { font-size: x-small; }  
     table.data { vertical-align: top ; border-collapse: collapse ;  
         border-style: solid solid solid solid ;  
         border-color: black black black black ;  
         font-size: small ; text-align: center ; }  
     table.data th { font-weight: bold ;  
         border-style: solid solid solid solid ;  
         border-color: black black black black ; }  
     table.data td {  
         border-style: solid solid solid solid ;  
         border-color: #333333 #333333 #333333 #333333 ; }  
   
     hr { height: 1px }  
 -->  
 </style>  
141  </head>  </head>
142  <body>  <body>
143  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <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">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: November 7, 2005</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">&nbsp;</td><td class="header">May 9, 2005</td></tr>  <tr><td class="header">Expires: September 23, 2007</td><td class="header">March 22, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>
 <div align="right"><span class="title"><br />lscp.txt</span></div>  
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
154  This document is an Internet-Draft and is  By submitting this Internet-Draft,
155  in full conformance with all provisions of Section 10 of RFC2026.</p>  each author represents that any applicable patent or other IPR claims of which
156    he or she is aware have been or will be disclosed,
157    and any of which he or she becomes aware will be disclosed,
158    in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
159  <p>  <p>
160  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
161  Task Force (IETF), its areas, and its working groups.  Task Force (IETF), its areas, and its working groups.
# Line 129  Internet-Drafts.</p> Line 165  Internet-Drafts.</p>
165  Internet-Drafts are draft documents valid for a maximum of six months  Internet-Drafts are draft documents valid for a maximum of six months
166  and may be updated, replaced, or obsoleted by other documents at any time.  and may be updated, replaced, or obsoleted by other documents at any time.
167  It is inappropriate to use Internet-Drafts as reference material or to cite  It is inappropriate to use Internet-Drafts as reference material or to cite
168  them other than as "work in progress."</p>  them other than as &ldquo;work in progress.&rdquo;</p>
169  <p>  <p>
170  The list of current Internet-Drafts can be accessed at  The list of current Internet-Drafts can be accessed at
171  <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>  <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>
# Line 137  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on November 7, 2005.</p>  This Internet-Draft will expire on September 23, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2007).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
184  <p>The LinuxSampler Control Protocol (LSCP) is an  <p>The LinuxSampler Control Protocol (LSCP) is an
185              application-level protocol primarily intended for local and              application-level protocol primarily intended for local and
186              remote controlling the LinuxSampler main application, which is a              remote controlling the LinuxSampler backend application, which is a
187              sophisticated console application essentially playing back audio              sophisticated server-like console application essentially playing
188              samples and manipulating the samples in real time to certain              back audio samples and manipulating the samples in real time to
189              extent.              certain extent.
190  </p><a name="toc"></a><br /><hr />  </p><a name="toc"></a><br /><hr />
191  <h3>Table of Contents</h3>  <h3>Table of Contents</h3>
192  <p class="toc">  <p class="toc">
193  <a href="#anchor1">1.</a>&nbsp;  <a href="#anchor1">1.</a>&nbsp;
194  Requirements notation<br />  Requirements notation<br />
195  <a href="#anchor2">2.</a>&nbsp;  <a href="#LSCP versioning">2.</a>&nbsp;
196    Versioning of this specification<br />
197    <a href="#anchor2">3.</a>&nbsp;
198  Introduction<br />  Introduction<br />
199  <a href="#anchor3">3.</a>&nbsp;  <a href="#anchor3">4.</a>&nbsp;
200  Focus of this protocol<br />  Focus of this protocol<br />
201  <a href="#anchor4">4.</a>&nbsp;  <a href="#anchor4">5.</a>&nbsp;
202  Communication Overview<br />  Communication Overview<br />
203  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.1.</a>&nbsp;
204  Request/response communication method<br />  Request/response communication method<br />
205  &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;
206  Result format<br />  Result format<br />
207  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">5.2.</a>&nbsp;
208  Subscribe/notify communication method<br />  Subscribe/notify communication method<br />
209  <a href="#anchor8">5.</a>&nbsp;  <a href="#control_commands">6.</a>&nbsp;
210  Description for control commands<br />  Description for control commands<br />
211  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">6.1.</a>&nbsp;
212  Ignored lines and comments<br />  Ignored lines and comments<br />
213  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">6.2.</a>&nbsp;
214  Configuring audio drivers<br />  Configuring audio drivers<br />
215  &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;
216  Getting amount of available audio output drivers<br />  Getting amount of available audio output drivers<br />
217  &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;
218  Getting all available audio output drivers<br />  Getting all available audio output drivers<br />
219  &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;
220  Getting information about a specific audio  Getting information about a specific audio
221                  output driver<br />                  output driver<br />
222  &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;
223  Getting information about specific audio  Getting information about specific audio
224                  output driver parameter<br />                  output driver parameter<br />
225  &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;
226  Creating an audio output device<br />  Creating an audio output device<br />
227  &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;
228  Destroying an audio output device<br />  Destroying an audio output device<br />
229  &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;
230  Getting all created audio output device count<br />  Getting all created audio output device count<br />
231  &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;
232  Getting all created audio output device list<br />  Getting all created audio output device list<br />
233  &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;
234  Getting current settings of an audio output device<br />  Getting current settings of an audio output device<br />
235  &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;
236  Changing settings of audio output devices<br />  Changing settings of audio output devices<br />
237  &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;
238  Getting information about an audio channel<br />  Getting information about an audio channel<br />
239  &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;
240  Getting information about specific audio channel parameter<br />  Getting information about specific audio channel parameter<br />
241  &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;
242  Changing settings of audio output channels<br />  Changing settings of audio output channels<br />
243  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">6.3.</a>&nbsp;
244  Configuring MIDI input drivers<br />  Configuring MIDI input drivers<br />
245  &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;
246  Getting amount of available MIDI input drivers<br />  Getting amount of available MIDI input drivers<br />
247  &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;
248  Getting all available MIDI input drivers<br />  Getting all available MIDI input drivers<br />
249  &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;
250  Getting information about a specific MIDI input driver<br />  Getting information about a specific MIDI input driver<br />
251  &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;
252  Getting information about specific MIDI input driver parameter<br />  Getting information about specific MIDI input driver parameter<br />
253  &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;
254  Creating a MIDI input device<br />  Creating a MIDI input device<br />
255  &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;
256  Destroying a MIDI input device<br />  Destroying a MIDI input device<br />
257  &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;
258  Getting all created MIDI input device count<br />  Getting all created MIDI input device count<br />
259  &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;
260  Getting all created MIDI input device list<br />  Getting all created MIDI input device list<br />
261  &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;
262  Getting current settings of a MIDI input device<br />  Getting current settings of a MIDI input device<br />
263  &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;
264  Changing settings of MIDI input devices<br />  Changing settings of MIDI input devices<br />
265  &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;
266  Getting information about a MIDI port<br />  Getting information about a MIDI port<br />
267  &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;
268  Getting information about specific MIDI port parameter<br />  Getting information about specific MIDI port parameter<br />
269  &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;
270  Changing settings of MIDI input ports<br />  Changing settings of MIDI input ports<br />
271  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">6.4.</a>&nbsp;
272  Configuring sampler channels<br />  Configuring sampler channels<br />
273  &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;
274  Loading an instrument<br />  Loading an instrument<br />
275  &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;
276  Loading a sampler engine<br />  Loading a sampler engine<br />
277  &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;
278  Getting all created sampler channel count<br />  Getting all created sampler channel count<br />
279  &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;
280  Getting all created sampler channel list<br />  Getting all created sampler channel list<br />
281  &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;
282  Adding a new sampler channel<br />  Adding a new sampler channel<br />
283  &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;
284  Removing a sampler channel<br />  Removing a sampler channel<br />
285  &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;
286  Getting amount of available engines<br />  Getting amount of available engines<br />
287  &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;
288  Getting all available engines<br />  Getting all available engines<br />
289  &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;
290  Getting information about an engine<br />  Getting information about an engine<br />
291  &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;
292  Getting sampler channel information<br />  Getting sampler channel information<br />
293  &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;
294  Current number of active voices<br />  Current number of active voices<br />
295  &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;
296  Current number of active disk streams<br />  Current number of active disk streams<br />
297  &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;
298  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
299  &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;
300  Setting audio output device<br />  Setting audio output device<br />
301  &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_TYPE">6.4.15.</a>&nbsp;
302  Setting audio output type<br />  Setting audio output type<br />
303  &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;
304  Setting audio output channel<br />  Setting audio output channel<br />
305  &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;
306  Setting MIDI input device<br />  Setting MIDI input device<br />
307  &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;
308  Setting MIDI input type<br />  Setting MIDI input type<br />
309  &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;
310  Setting MIDI input port<br />  Setting MIDI input port<br />
311  &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;
312  Setting MIDI input channel<br />  Setting MIDI input channel<br />
313  &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;
314  Setting channel volume<br />  Setting channel volume<br />
315  &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="#SET CHANNEL MUTE">6.4.22.</a>&nbsp;
316    Muting a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
318    Soloing a sampler channel<br />
319    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
320    Assigning a MIDI instrument map to a sampler channel<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
322    Adding an effect send to a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
324    Removing an effect send from a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
326    Getting amount of effect sends on a sampler channel<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
328    Listing all effect sends on a sampler channel<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330    Getting effect send information<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;
332    Altering effect send's audio routing<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.31.</a>&nbsp;
334    Altering effect send's MIDI controller<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.32.</a>&nbsp;
336    Altering effect send's send level<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.33.</a>&nbsp;
338  Resetting a sampler channel<br />  Resetting a sampler channel<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">5.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
340  Controlling connection<br />  Controlling connection<br />
341  &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;
342  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
343  &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;
344  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
345  &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;
346  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
347  &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;
348  Close client connection<br />  Close client connection<br />
349  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">5.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
350  Global commands<br />  Global commands<br />
351  &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="#GET TOTAL_VOICE_COUNT">6.6.1.</a>&nbsp;
352    Current number of active voices<br />
353    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
354    Maximum amount of active voices<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.3.</a>&nbsp;
356  Reset sampler<br />  Reset sampler<br />
357  <a href="#command_syntax">6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;
358    General sampler informations<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;
360    Getting global volume attenuation<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;
362    Setting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
364    MIDI Instrument Mapping<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;
366    Create a new MIDI instrument map<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
368    Delete one particular or all MIDI instrument maps<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
370    Get amount of existing MIDI instrument maps<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
372    Getting all created MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
374    Getting MIDI instrument map information<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
376    Renaming a MIDI instrument map<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
378    Create or replace a MIDI instrument map entry<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
380    Getting ammount of MIDI instrument map entries<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
382    Getting indeces of all entries of a MIDI instrument map<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
384    Remove an entry from the MIDI instrument map<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
386    Get current settings of MIDI instrument map entry<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
388    Clear MIDI instrument map<br />
389    <a href="#command_syntax">7.</a>&nbsp;
390  Command Syntax<br />  Command Syntax<br />
391  <a href="#events">7.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
392  Events<br />  Events<br />
393  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">7.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
394    Number of audio output devices changed<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
396    Audio output device's settings changed<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
398    Number of MIDI input devices changed<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
400    MIDI input device's settings changed<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
402  Number of sampler channels changed<br />  Number of sampler channels changed<br />
403  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">7.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;
404  Number of active voices changed<br />  Number of active voices changed<br />
405  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;
406  Number of active disk streams changed<br />  Number of active disk streams changed<br />
407  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;
408  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
409  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">7.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
410  Channel information changed<br />  Channel information changed<br />
411  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;
412    Number of effect sends changed<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
414    Effect send information changed<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
416    Total number of active voices changed<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;
418    Number of MIDI instrument maps changed<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
420    MIDI instrument map information changed<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
422    Number of MIDI instruments changed<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
424    MIDI instrument information changed<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
426    Global settings changed<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.18.</a>&nbsp;
428  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
429  <a href="#anchor15">8.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
430  Security Considerations<br />  Security Considerations<br />
431  <a href="#anchor16">9.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
432  Acknowledgments<br />  Acknowledgments<br />
433  <a href="#rfc.references1">10.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
434  References<br />  References<br />
435  <a href="#rfc.authors">&#167;</a>&nbsp;  <a href="#rfc.authors">&#167;</a>&nbsp;
436  Author's Address<br />  Author's Address<br />
# Line 320  Intellectual Property and Copyright Stat Line 440  Intellectual Property and Copyright Stat
440  <br clear="all" />  <br clear="all" />
441    
442  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
443  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
444  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
445    Requirements notation</h3>
446    
447  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
448              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
449              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
450              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> (</span><span class='info'>Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; 1997.</span><span>)</span></a>.
451  </p>  </p>
452  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
453              claimed the opposite.              claimed the opposite.
# Line 338  Intellectual Property and Copyright Stat Line 459  Intellectual Property and Copyright Stat
459              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard), thus the following
460              example:              example:
461  </p>  </p>
462  <p></p>  <p>
463                    </p>
464  <blockquote class="text">  <blockquote class="text">
465  <p>C: "some line"  <p>C: "some line"
466  </p>  </p>
467  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
468  </p>  </p>
469  </blockquote>  </blockquote><p>
470                
471    </p>
472  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
473              message:              message:
474  </p>  </p>
475  <p></p>  <p>
476                    </p>
477  <blockquote class="text">  <blockquote class="text">
478  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
479                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
480  </p>  </p>
481  </blockquote>  </blockquote><p>
482                
483    </p>
484  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
485              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
486              standard.              standard.
# Line 363  Intellectual Property and Copyright Stat Line 488  Intellectual Property and Copyright Stat
488  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
489              fragmented, means the following example:              fragmented, means the following example:
490  </p>  </p>
491  <p></p>  <p>
492                    </p>
493  <blockquote class="text">  <blockquote class="text">
494  <p>S: "abcd"  <p>S: "abcd"
495  </p>  </p>
496  </blockquote>  </blockquote><p>
497                
498    </p>
499  <p>could also happen to be sent in three messages like in the  <p>could also happen to be sent in three messages like in the
500              following sequence scenario:              following sequence scenario:
501  </p>  </p>
502  <p></p>  <p>
503                    </p>
504  <ul class="text">  <ul class="text">
505  <li>server sending message "a"  <li>server sending message "a"
506  </li>  </li>
# Line 388  Intellectual Property and Copyright Stat Line 516  Intellectual Property and Copyright Stat
516  <li>followed by server sending the message  <li>followed by server sending the message
517                      "&lt;LF&gt;"                      "&lt;LF&gt;"
518  </li>  </li>
519  </ul>  </ul><p>
520                
521    </p>
522  <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
523              return and line feed characters respectively.              return and line feed characters respectively.
524  </p>  </p>
525    <a name="LSCP versioning"></a><br /><hr />
526    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
527    <a name="rfc.section.2"></a><h3>2.&nbsp;
528    Versioning of this specification</h3>
529    
530    <p>LSCP will certainly be extended and enhanced by-and-by. Each official
531                release of the LSCP specification will be tagged with a unique version
532                tuple. The version tuple consists at least of a major and minor version
533                number like:
534                
535    </p>
536    <p>
537                    </p>
538    <blockquote class="text">
539    <p>"1.2"
540    </p>
541    </blockquote><p>
542                
543    </p>
544    <p>
545                In this example the major version number would be "1" and the minor
546                version number would be "2". Note that the version tuple might also
547                have more than two elements. The major version number defines a
548                group of backward compatible versions. That means a frontend is
549                compatible to the connected sampler if and only if the LSCP versions
550                to which each of the two parties complies to, match both of the
551                following rules:
552                
553    </p>
554    <p>Compatibility:
555    </p>
556    <p>
557                    </p>
558    <ol class="text">
559    <li>The frontend's LSCP major version and the sampler's LSCP
560                        major version are exactly equal.
561    </li>
562    <li>The frontend's LSCP minor version is less or equal than
563                        the sampler's LSCP minor version.
564    </li>
565    </ol><p>
566                
567    </p>
568    <p>
569                Compatibility can only be claimed if both rules are true.
570                The frontend can use the
571                <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
572                get the version of the LSCP specification the sampler complies with.
573                
574    </p>
575  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
576  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
577  <a name="rfc.section.2"></a><h3>2.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
578    Introduction</h3>
579    
580  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
581              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 588  Intellectual Property and Copyright Stat
588              arbitrary MIDI input method and arbitrary MIDI channel (e.g.              arbitrary MIDI input method and arbitrary MIDI channel (e.g.
589              sampler channel 17 could be connected to an ALSA sequencer              sampler channel 17 could be connected to an ALSA sequencer
590              device 64:0 and listening to MIDI channel 1 there). Each sampler              device 64:0 and listening to MIDI channel 1 there). Each sampler
591              engine will be assigned an own instance of one of the available              channel will be associated with an instance of one of the available
592              sampler engines (e.g. GigEngine, DLSEngine). The audio output of              sampler engines (e.g. GigEngine, DLSEngine). The audio output of
593              each sampler channel can be routed to an arbitrary audio output              each sampler channel can be routed to an arbitrary audio output
594              method (ALSA / JACK) and an arbitrary audio output channel              method (ALSA / JACK) and an arbitrary audio output channel
595              there.              there.
596  </p>  </p>
597  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
598  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
599  <a name="rfc.section.3"></a><h3>3.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
600    Focus of this protocol</h3>
601    
602  <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
603              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 427  Intellectual Property and Copyright Stat Line 608  Intellectual Property and Copyright Stat
608              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
609  </p>  </p>
610  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
611  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
612  <a name="rfc.section.4"></a><h3>4.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
613    Communication Overview</h3>
614    
615  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
616              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 623  Intellectual Property and Copyright Stat
623              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
624              methods will be described next.              methods will be described next.
625  </p>  </p>
626  <a name="rfc.section.4.1"></a><h4><a name="anchor5">4.1</a>&nbsp;Request/response communication method</h4>  <a name="anchor5"></a><br /><hr />
627    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
628    <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
629    Request/response communication method</h3>
630    
631  <p>This simple communication method is based on TCP. The  <p>This simple communication method is based on
632                    <a class='info' href='#RFC793'>TCP<span> (</span><span class='info'>Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The
633                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
634                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
635                  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 669  Intellectual Property and Copyright Stat
669                  processed in the order they were received and result sets                  processed in the order they were received and result sets
670                  MUST be sent back in the same order.                  MUST be sent back in the same order.
671  </p>  </p>
672  <a name="rfc.section.4.1.1"></a><h4><a name="anchor6">4.1.1</a>&nbsp;Result format</h4>  <a name="anchor6"></a><br /><hr />
673    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
674    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
675    Result format</h3>
676    
677  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
678  </p>  </p>
679  <p></p>  <p>
680                            </p>
681  <ol class="text">  <ol class="text">
682  <li>Normal  <li>Normal
683  </li>  </li>
# Line 495  Intellectual Property and Copyright Stat Line 685  Intellectual Property and Copyright Stat
685  </li>  </li>
686  <li>Error  <li>Error
687  </li>  </li>
688  </ol>  </ol><p>
689                        
690    </p>
691  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
692                      have the following format:                      have the following format:
693  </p>  </p>
694  <p></p>  <p>
695                            </p>
696  <ul class="text">  <ul class="text">
697  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
698  </li>  </li>
699  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
700  </li>  </li>
701  </ul>  </ul><p>
702                        
703    </p>
704  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
705                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
706                      &lt;warning-message&gt; and &lt;error-message&gt; are                      &lt;warning-message&gt; and &lt;error-message&gt; are
# Line 516  Intellectual Property and Copyright Stat Line 709  Intellectual Property and Copyright Stat
709  </p>  </p>
710  <p>Examples:  <p>Examples:
711  </p>  </p>
712  <p></p>  <p>
713                            </p>
714  <blockquote class="text">  <blockquote class="text">
715  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
716  </p>  </p>
717  <p>S: "WRN:32:This is a 24 bit patch which is not supported natively yet."  <p>S: "WRN:32:This is a 24 bit patch which is not supported natively yet."
718  </p>  </p>
719  </blockquote>  </blockquote><p>
720                        
721  <p></p>  </p>
722    <p>
723                            </p>
724  <blockquote class="text">  <blockquote class="text">
725  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
726  </p>  </p>
727  <p>S: "ERR:3456:Audio output driver 'ALSA' does not have a parameter 'EAR'."  <p>S: "ERR:3456:Audio output driver 'ALSA' does not have a parameter 'EAR'."
728  </p>  </p>
729  </blockquote>  </blockquote><p>
730                        
731  <p></p>  </p>
732    <p>
733                            </p>
734  <blockquote class="text">  <blockquote class="text">
735  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
736  </p>  </p>
737  <p>S: "ERR:9:There is no audio output device with index 123456."  <p>S: "ERR:9:There is no audio output device with index 123456."
738  </p>  </p>
739  </blockquote>  </blockquote><p>
740                        
741    </p>
742  <p>Normal result sets could be:  <p>Normal result sets could be:
743  </p>  </p>
744  <p></p>  <p>
745                            </p>
746  <ol class="text">  <ol class="text">
747  <li>Empty  <li>Empty
748  </li>  </li>
# Line 550  Intellectual Property and Copyright Stat Line 750  Intellectual Property and Copyright Stat
750  </li>  </li>
751  <li>Multi-line  <li>Multi-line
752  </li>  </li>
753  </ol>  </ol><p>
754                        
755    </p>
756  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
757                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
758                      received and it was processed successfully and no                      received and it was processed successfully and no
759                      additional information is available. This result set has                      additional information is available. This result set has
760                      the following format:                      the following format:
761  </p>  </p>
762  <p></p>  <p>
763                            </p>
764  <blockquote class="text">  <blockquote class="text">
765  <p>"OK"  <p>"OK"
766  </p>  </p>
767  </blockquote>  </blockquote><p>
768                        
769    </p>
770  <p>Example:  <p>Example:
771  </p>  </p>
772  <p></p>  <p>
773                            </p>
774  <blockquote class="text">  <blockquote class="text">
775  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
776  </p>  </p>
777  <p>S: "OK"  <p>S: "OK"
778  </p>  </p>
779  </blockquote>  </blockquote><p>
780                        
781    </p>
782  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
783                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
784                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
785                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
786                      always end with the following line:                      always end with the following line:
787  </p>  </p>
788  <p></p>  <p>
789                            </p>
790  <blockquote class="text">  <blockquote class="text">
791  <p>"."  <p>"."
792  </p>  </p>
793  </blockquote>  </blockquote><p>
794                        
795    </p>
796  <p>Example:  <p>Example:
797  </p>  </p>
798  <p></p>  <p>
799                            </p>
800  <blockquote class="text">  <blockquote class="text">
801  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
802  </p>  </p>
# Line 608  Intellectual Property and Copyright Stat Line 816  Intellectual Property and Copyright Stat
816  </p>  </p>
817  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
818  </p>  </p>
819  </blockquote>  </blockquote><p>
820                        
821    </p>
822  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
823                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
824                      have the following formats respectively:                      have the following formats respectively:
825  </p>  </p>
826  <p></p>  <p>
827                            </p>
828  <ul class="text">  <ul class="text">
829  <li>"WRN[&lt;index&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN[&lt;index&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;"
830  </li>  </li>
831  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
832  </li>  </li>
833  </ul>  </ul><p>
834                        
835    </p>
836  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
837                      to indicate channel number that the result set was                      to indicate channel number that the result set was
838                      related to or other integer value.                      related to or other integer value.
# Line 631  Intellectual Property and Copyright Stat Line 842  Intellectual Property and Copyright Stat
842  </p>  </p>
843  <p>Examples:  <p>Examples:
844  </p>  </p>
845  <p></p>  <p>
846                            </p>
847  <blockquote class="text">  <blockquote class="text">
848  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
849  </p>  </p>
850  <p>S: "OK[12]"  <p>S: "OK[12]"
851  </p>  </p>
852  </blockquote>  </blockquote><p>
853                        
854  <p></p>  </p>
855    <p>
856                            </p>
857  <blockquote class="text">  <blockquote class="text">
858  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
859  </p>  </p>
860  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
861  </p>  </p>
862  </blockquote>  </blockquote><p>
863                        
864  <a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
865    <a name="anchor7"></a><br /><hr />
866    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
867    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
868    Subscribe/notify communication method</h3>
869    
870  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
871                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 659  Intellectual Property and Copyright Stat Line 877  Intellectual Property and Copyright Stat
877                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
878                  following syntax:                  following syntax:
879  </p>  </p>
880  <p></p>  <p>
881                        </p>
882  <blockquote class="text">  <blockquote class="text">
883  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
884  </p>  </p>
885  </blockquote>  </blockquote><p>
886                    
887    </p>
888  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
889                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
890                  request, server SHOULD respond with OK and start sending                  request, server SHOULD respond with OK and start sending
# Line 674  Intellectual Property and Copyright Stat Line 894  Intellectual Property and Copyright Stat
894                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
895                  following format:                  following format:
896  </p>  </p>
897  <p></p>  <p>
898                        </p>
899  <blockquote class="text">  <blockquote class="text">
900  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
901  </p>  </p>
902  </blockquote>  </blockquote><p>
903                    
904    </p>
905  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
906                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
907                  specific.                  specific.
# Line 687  Intellectual Property and Copyright Stat Line 909  Intellectual Property and Copyright Stat
909  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
910                  generating events:                  generating events:
911  </p>  </p>
912  <p></p>  <p>
913                        </p>
914  <ol class="text">  <ol class="text">
915  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
916                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 702  Intellectual Property and Copyright Stat Line 925  Intellectual Property and Copyright Stat
925                          middle of the event message as well as any other                          middle of the event message as well as any other
926                          response.                          response.
927  </li>  </li>
928  </ol>  </ol><p>
929                    
930    </p>
931  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
932                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
933                  syntax:                  syntax:
934  </p>  </p>
935  <p></p>  <p>
936                        </p>
937  <blockquote class="text">  <blockquote class="text">
938  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
939  </p>  </p>
940  </blockquote>  </blockquote><p>
941                    
942    </p>
943  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
944                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
945                  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&nbsp;8<span> (</span><span class='info'>Events</span><span>)</span></a>.
946  </p>  </p>
947  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
948                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
949                  will react by sending the following message to all clients                  will react by sending the following message to all clients
950                  who subscribed to this event:                  who subscribed to this event:
951  </p>  </p>
952  <p></p>  <p>
953                        </p>
954  <blockquote class="text">  <blockquote class="text">
955  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
956  </p>  </p>
957  </blockquote>  </blockquote><p>
958                    
959    </p>
960  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
961                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
962                  by 62%, stream with ID 33 is filled by 80% and stream with                  by 62%, stream with ID 33 is filled by 80% and stream with
# Line 759  Intellectual Property and Copyright Stat Line 987  Intellectual Property and Copyright Stat
987                  If client reconnects it MUST resubscribe to all events that                  If client reconnects it MUST resubscribe to all events that
988                  it wants to receive.                  it wants to receive.
989  </p>  </p>
990  <a name="anchor8"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
991  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
992  <a name="rfc.section.5"></a><h3>5.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
993    Description for control commands</h3>
994    
995  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
996              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
997              commands (e.g. <a class="info" href="#GET CHANNEL INFO">"GET CHANNEL INFO"<span>Getting sampler channel information</span></a>              commands (e.g. <a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
998              or <a class="info" href="#GET ENGINE INFO">"GET ENGINE INFO"<span>Getting information about an engine</span></a>) lead to              or <a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>) lead to
999              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1000              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1001  </p>  </p>
1002  <a name="rfc.section.5.1"></a><h4><a name="anchor9">5.1</a>&nbsp;Ignored lines and comments</h4>  <a name="anchor8"></a><br /><hr />
1003    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1004    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1005    Ignored lines and comments</h3>
1006    
1007  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1008                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 778  Intellectual Property and Copyright Stat Line 1010  Intellectual Property and Copyright Stat
1010                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1011                  file.                  file.
1012  </p>  </p>
1013  <a name="rfc.section.5.2"></a><h4><a name="anchor10">5.2</a>&nbsp;Configuring audio drivers</h4>  <a name="anchor9"></a><br /><hr />
1014    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1015    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1016    Configuring audio drivers</h3>
1017    
1018  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1019                  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 1046  Intellectual Property and Copyright Stat
1046                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1047                  possible values, etc.                  possible values, etc.
1048  </p>  </p>
1049  <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="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1050    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1051    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1052    Getting amount of available audio output drivers</h3>
1053    
1054  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1055                      audio output drivers currently available for the                      audio output drivers currently available for the
1056                      LinuxSampler instance:                      LinuxSampler instance:
1057  </p>  </p>
1058  <p></p>  <p>
1059                            </p>
1060  <blockquote class="text">  <blockquote class="text">
1061  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1062  </p>  </p>
1063  </blockquote>  </blockquote><p>
1064                        
1065    </p>
1066  <p>Possible Answers:  <p>Possible Answers:
1067  </p>  </p>
1068  <p></p>  <p>
1069                            </p>
1070  <blockquote class="text">  <blockquote class="text">
1071  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1072                              number of audio output drivers.                              number of audio output drivers.
1073  </p>  </p>
1074  </blockquote>  </blockquote><p>
1075                        
1076    </p>
1077  <p>Example:  <p>Example:
1078  </p>  </p>
1079  <p></p>  <p>
1080                            </p>
1081  <blockquote class="text">  <blockquote class="text">
1082  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1083  </p>  </p>
1084  <p>S: "2"  <p>S: "2"
1085  </p>  </p>
1086  </blockquote>  </blockquote><p>
1087                        
1088  <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>  </p>
1089    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1090    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1091    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1092    Getting all available audio output drivers</h3>
1093    
1094  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1095                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1096                      instance:                      instance:
1097  </p>  </p>
1098  <p></p>  <p>
1099                            </p>
1100  <blockquote class="text">  <blockquote class="text">
1101  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1102  </p>  </p>
1103  </blockquote>  </blockquote><p>
1104                        
1105    </p>
1106  <p>Possible Answers:  <p>Possible Answers:
1107  </p>  </p>
1108  <p></p>  <p>
1109                            </p>
1110  <blockquote class="text">  <blockquote class="text">
1111  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1112                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1113                              audio output driver.                              audio output driver.
1114  </p>  </p>
1115  </blockquote>  </blockquote><p>
1116                        
1117    </p>
1118  <p>Example:  <p>Example:
1119  </p>  </p>
1120  <p></p>  <p>
1121                            </p>
1122  <blockquote class="text">  <blockquote class="text">
1123  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1124  </p>  </p>
1125  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1126  </p>  </p>
1127  </blockquote>  </blockquote><p>
1128                        
1129  <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  </p>
1130                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1131    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1132    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1133    Getting information about a specific audio
1134                    output driver</h3>
1135    
1136  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1137                      about a specific audio output driver:                      about a specific audio output driver:
1138  </p>  </p>
1139  <p></p>  <p>
1140                            </p>
1141  <blockquote class="text">  <blockquote class="text">
1142  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1143                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1144  </p>  </p>
1145  </blockquote>  </blockquote><p>
1146                        
1147    </p>
1148  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1149                      audio output driver, returned by the                      audio output driver, returned by the
1150                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span>Getting all available audio output drivers</span></a> command.                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a> command.
1151  </p>  </p>
1152  <p>Possible Answers:  <p>Possible Answers:
1153  </p>  </p>
1154  <p></p>  <p>
1155                            </p>
1156  <blockquote class="text">  <blockquote class="text">
1157  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1158                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 904  Intellectual Property and Copyright Stat Line 1163  Intellectual Property and Copyright Stat
1163                              following information categories are                              following information categories are
1164                              defined:                              defined:
1165  </p>  </p>
1166  <p></p>  <p>
1167                                  </p>
1168  <blockquote class="text">  <blockquote class="text">
1169  <p>DESCRIPTION -  <p>DESCRIPTION -
1170                                      </p>                                      </p>
# Line 913  Intellectual Property and Copyright Stat Line 1173  Intellectual Property and Copyright Stat
1173                                        audio output driver                                        audio output driver
1174  </p>  </p>
1175  </blockquote>  </blockquote>
1176                                      
1177    
1178  <p>VERSION -  <p>VERSION -
1179                                      </p>                                      </p>
# Line 921  Intellectual Property and Copyright Stat Line 1182  Intellectual Property and Copyright Stat
1182                                        driver's version                                        driver's version
1183  </p>  </p>
1184  </blockquote>  </blockquote>
1185                                      
1186    
1187  <p>PARAMETERS -  <p>PARAMETERS -
1188                                      </p>                                      </p>
# Line 933  Intellectual Property and Copyright Stat Line 1195  Intellectual Property and Copyright Stat
1195                                        output drivers                                        output drivers
1196  </p>  </p>
1197  </blockquote>  </blockquote>
1198                                      
1199    
1200  </blockquote>  </blockquote>
1201                                
1202    
1203  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1204                              in particular order.                              in particular order.
1205  </p>  </p>
1206  </blockquote>  </blockquote><p>
1207                        
1208    </p>
1209  <p>Example:  <p>Example:
1210  </p>  </p>
1211  <p></p>  <p>
1212                          </p>
1213  <blockquote class="text">  <blockquote class="text">
1214  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1215  </p>  </p>
# Line 958  Intellectual Property and Copyright Stat Line 1224  Intellectual Property and Copyright Stat
1224  </p>  </p>
1225  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1226  </p>  </p>
1227  </blockquote>  </blockquote><p>
1228                        
1229  <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  </p>
1230                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1231    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1232    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1233    Getting information about specific audio
1234                    output driver parameter</h3>
1235    
1236  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1237                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1238  </p>  </p>
1239  <p></p>  <p>
1240                            </p>
1241  <blockquote class="text">  <blockquote class="text">
1242  <p>GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO &lt;audio&gt; &lt;prm&gt; [&lt;deplist&gt;]  <p>GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO &lt;audio&gt; &lt;prm&gt; [&lt;deplist&gt;]
1243  </p>  </p>
1244  </blockquote>  </blockquote><p>
1245                        
1246    </p>
1247  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1248                      driver as returned by the <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span>Getting all available audio output drivers</span></a> command,                      driver as returned by the <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a> command,
1249                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1250                      obtained (as returned by the                      obtained (as returned by the
1251                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">"GET AUDIO_OUTPUT_DRIVER INFO"<span>Getting information about a specific audio                 output driver</span></a> command) and                      <a class='info' href='#GET AUDIO_OUTPUT_DRIVER INFO'>"GET AUDIO_OUTPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a> command) and
1252                      &lt;deplist&gt; is an optional list of parameters on which the sought                      &lt;deplist&gt; is an optional list of parameters on which the sought
1253                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value
1254                      pairs in form of "key1=val1 key2=val2 ...", where character string values                      pairs in form of "key1=val1 key2=val2 ...", where character string values
# Line 987  Intellectual Property and Copyright Stat Line 1259  Intellectual Property and Copyright Stat
1259  </p>  </p>
1260  <p>Possible Answers:  <p>Possible Answers:
1261  </p>  </p>
1262  <p></p>  <p>
1263                            </p>
1264  <blockquote class="text">  <blockquote class="text">
1265  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1266                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1000  Intellectual Property and Copyright Stat Line 1273  Intellectual Property and Copyright Stat
1273                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1274                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1275  </p>  </p>
1276  </blockquote>  </blockquote><p>
1277                        
1278  <p></p>  </p>
1279    <p>
1280                            </p>
1281  <blockquote class="text">  <blockquote class="text">
1282  <p>TYPE -  <p>TYPE -
1283                                </p>                                </p>
# Line 1014  Intellectual Property and Copyright Stat Line 1289  Intellectual Property and Copyright Stat
1289                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1290  </p>  </p>
1291  </blockquote>  </blockquote>
1292                                
1293    
1294  <p>DESCRIPTION -  <p>DESCRIPTION -
1295                                </p>                                </p>
# Line 1022  Intellectual Property and Copyright Stat Line 1298  Intellectual Property and Copyright Stat
1298                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1299  </p>  </p>
1300  </blockquote>  </blockquote>
1301                                
1302    
1303  <p>MANDATORY -  <p>MANDATORY -
1304                                </p>                                </p>
1305  <blockquote class="text">  <blockquote class="text">
1306  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1307                                  given when the device is to be created with the                                  given when the device is to be created with the
1308                                  <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span>Creating an audio output device</span></a>                                  <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1309                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1310  </p>  </p>
1311  </blockquote>  </blockquote>
1312                                
1313    
1314  <p>FIX -  <p>FIX -
1315                                </p>                                </p>
1316  <blockquote class="text">  <blockquote class="text">
1317  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1318                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1319                                  the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span>Creating an audio output device</span></a>                                  the <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1320                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1321  </p>  </p>
1322  </blockquote>  </blockquote>
1323                                
1324    
1325  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1326                                </p>                                </p>
# Line 1052  Intellectual Property and Copyright Stat Line 1331  Intellectual Property and Copyright Stat
1331                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1332  </p>  </p>
1333  </blockquote>  </blockquote>
1334                                
1335    
1336  <p>DEPENDS -  <p>DEPENDS -
1337                                </p>                                </p>
1338  <blockquote class="text">  <blockquote class="text">
1339  <p>comma separated list of paramters this parameter depends  <p>comma separated list of parameters this parameter depends
1340                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',
1341                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these
1342                                  listed parameters, for example assuming that an audio                                  listed parameters, for example assuming that an audio
# Line 1068  Intellectual Property and Copyright Stat Line 1348  Intellectual Property and Copyright Stat
1348                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1349  </p>  </p>
1350  </blockquote>  </blockquote>
1351                                
1352    
1353  <p>DEFAULT -  <p>DEFAULT -
1354                                </p>                                </p>
1355  <blockquote class="text">  <blockquote class="text">
1356  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1357                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1358                                  given with the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span>Creating an audio output device</span></a> command,                                  given with the <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a> command,
1359                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1360                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1361                                  apostrophes (')                                  apostrophes (')
1362                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1363  </p>  </p>
1364  </blockquote>  </blockquote>
1365                                
1366    
1367  <p>RANGE_MIN -  <p>RANGE_MIN -
1368                                </p>                                </p>
# Line 1092  Intellectual Property and Copyright Stat Line 1374  Intellectual Property and Copyright Stat
1374                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1375  </p>  </p>
1376  </blockquote>  </blockquote>
1377                                
1378    
1379  <p>RANGE_MAX -  <p>RANGE_MAX -
1380                                </p>                                </p>
# Line 1103  Intellectual Property and Copyright Stat Line 1386  Intellectual Property and Copyright Stat
1386                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1387  </p>  </p>
1388  </blockquote>  </blockquote>
1389                                
1390    
1391  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1392                                </p>                                </p>
# Line 1113  Intellectual Property and Copyright Stat Line 1397  Intellectual Property and Copyright Stat
1397                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1398  </p>  </p>
1399  </blockquote>  </blockquote>
1400                                
1401    
1402  </blockquote>  </blockquote><p>
1403                        
1404    </p>
1405  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
1406  </p>  </p>
1407  <p>Examples:  <p>Examples:
1408  </p>  </p>
1409  <p></p>  <p>
1410                            </p>
1411  <blockquote class="text">  <blockquote class="text">
1412  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1413  </p>  </p>
# Line 1140  Intellectual Property and Copyright Stat Line 1427  Intellectual Property and Copyright Stat
1427  </p>  </p>
1428  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1429  </p>  </p>
1430  </blockquote>  </blockquote><p>
1431                        
1432  <p></p>  </p>
1433    <p>
1434                            </p>
1435  <blockquote class="text">  <blockquote class="text">
1436  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1437  </p>  </p>
# Line 1162  Intellectual Property and Copyright Stat Line 1451  Intellectual Property and Copyright Stat
1451  </p>  </p>
1452  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1453  </p>  </p>
1454  </blockquote>  </blockquote><p>
1455                        
1456  <p></p>  </p>
1457    <p>
1458                            </p>
1459  <blockquote class="text">  <blockquote class="text">
1460  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE CARD='0,0'"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE CARD='0,0'"
1461  </p>  </p>
# Line 1188  Intellectual Property and Copyright Stat Line 1479  Intellectual Property and Copyright Stat
1479  </p>  </p>
1480  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1481  </p>  </p>
1482  </blockquote>  </blockquote><p>
1483                        
1484  <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>  </p>
1485    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1486    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1487    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1488    Creating an audio output device</h3>
1489    
1490  <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:
1491  </p>  </p>
1492  <p></p>  <p>
1493                            </p>
1494  <blockquote class="text">  <blockquote class="text">
1495  <p>CREATE AUDIO_OUTPUT_DEVICE &lt;audio-output-driver&gt; [&lt;param-list&gt;]  <p>CREATE AUDIO_OUTPUT_DEVICE &lt;audio-output-driver&gt; [&lt;param-list&gt;]
1496  </p>  </p>
1497  </blockquote>  </blockquote><p>
1498                        
1499    </p>
1500  <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
1501                      output system and &lt;param-list&gt; by an optional list of driver                      output system as returned by the
1502                        <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a>
1503                        command and &lt;param-list&gt; by an optional list of driver
1504                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1505                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
1506                      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 1210  Intellectual Property and Copyright Stat Line 1509  Intellectual Property and Copyright Stat
1509  </p>  </p>
1510  <p>Possible Answers:  <p>Possible Answers:
1511  </p>  </p>
1512  <p></p>  <p>
1513                            </p>
1514  <blockquote class="text">  <blockquote class="text">
1515  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1516                                  </p>                                  </p>
# Line 1219  Intellectual Property and Copyright Stat Line 1519  Intellectual Property and Copyright Stat
1519                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1520  </p>  </p>
1521  </blockquote>  </blockquote>
1522                                
1523    
1524  <p>"WRN[&lt;device-id&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN[&lt;device-id&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1525                                  </p>                                  </p>
# Line 1231  Intellectual Property and Copyright Stat Line 1532  Intellectual Property and Copyright Stat
1532                                      warning message                                      warning message
1533  </p>  </p>
1534  </blockquote>  </blockquote>
1535                                
1536    
1537  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1538                                  </p>                                  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1540  Intellectual Property and Copyright Stat
1540  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
1541  </p>  </p>
1542  </blockquote>  </blockquote>
1543                                
1544    
1545  </blockquote>  </blockquote><p>
1546                        
1547    </p>
1548  <p>Examples:  <p>Examples:
1549  </p>  </p>
1550  <p></p>  <p>
1551                            </p>
1552  <blockquote class="text">  <blockquote class="text">
1553  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1554  </p>  </p>
1555  <p>S: "OK[0]"  <p>S: "OK[0]"
1556  </p>  </p>
1557  </blockquote>  </blockquote><p>
1558                        
1559  <p></p>  </p>
1560    <p>
1561                            </p>
1562  <blockquote class="text">  <blockquote class="text">
1563  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1564  </p>  </p>
1565  <p>S: "OK[1]"  <p>S: "OK[1]"
1566  </p>  </p>
1567  </blockquote>  </blockquote><p>
1568                        
1569  <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>  </p>
1570    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1571    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1572    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1573    Destroying an audio output device</h3>
1574    
1575  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1576  </p>  </p>
1577  <p></p>  <p>
1578                            </p>
1579  <blockquote class="text">  <blockquote class="text">
1580  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1581  </p>  </p>
1582  </blockquote>  </blockquote><p>
1583                        
1584    </p>
1585  <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
1586                      audio output device as given by the                      audio output device as given by the
1587                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span>Creating an audio output device</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1588                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1589                      command.                      command.
1590  </p>  </p>
1591  <p>Possible Answers:  <p>Possible Answers:
1592  </p>  </p>
1593  <p></p>  <p>
1594                            </p>
1595  <blockquote class="text">  <blockquote class="text">
1596  <p>"OK" -  <p>"OK" -
1597                                  </p>                                  </p>
# Line 1285  Intellectual Property and Copyright Stat Line 1599  Intellectual Property and Copyright Stat
1599  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1600  </p>  </p>
1601  </blockquote>  </blockquote>
1602                                
1603    
1604  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1605                                  </p>                                  </p>
# Line 1296  Intellectual Property and Copyright Stat Line 1611  Intellectual Property and Copyright Stat
1611                                      warning code and warning message                                      warning code and warning message
1612  </p>  </p>
1613  </blockquote>  </blockquote>
1614                                
1615    
1616  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1617                                  </p>                                  </p>
# Line 1304  Intellectual Property and Copyright Stat Line 1620  Intellectual Property and Copyright Stat
1620                                      error message                                      error message
1621  </p>  </p>
1622  </blockquote>  </blockquote>
1623                                
1624    
1625  </blockquote>  </blockquote><p>
1626                        
1627    </p>
1628  <p>Example:  <p>Example:
1629  </p>  </p>
1630  <p></p>  <p>
1631                            </p>
1632  <blockquote class="text">  <blockquote class="text">
1633  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1634  </p>  </p>
1635  <p>S: "OK"  <p>S: "OK"
1636  </p>  </p>
1637  </blockquote>  </blockquote><p>
1638                        
1639  <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>  </p>
1640    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1641    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1642    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1643    Getting all created audio output device count</h3>
1644    
1645  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1646  </p>  </p>
1647  <p></p>  <p>
1648                            </p>
1649  <blockquote class="text">  <blockquote class="text">
1650  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1651  </p>  </p>
1652  </blockquote>  </blockquote><p>
1653                        
1654    </p>
1655  <p>Possible Answers:  <p>Possible Answers:
1656  </p>  </p>
1657  <p></p>  <p>
1658                            </p>
1659  <blockquote class="text">  <blockquote class="text">
1660  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1661                              audio output devices.                              audio output devices.
1662  </p>  </p>
1663  </blockquote>  </blockquote><p>
1664                        
1665    </p>
1666  <p>Example:  <p>Example:
1667  </p>  </p>
1668  <p></p>  <p>
1669                            </p>
1670  <blockquote class="text">  <blockquote class="text">
1671  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1672  </p>  </p>
1673  <p>S: "4"  <p>S: "4"
1674  </p>  </p>
1675  </blockquote>  </blockquote><p>
1676                        
1677  <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>  </p>
1678    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1679    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1680    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1681    Getting all created audio output device list</h3>
1682    
1683  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1684  </p>  </p>
1685  <p></p>  <p>
1686                            </p>
1687  <blockquote class="text">  <blockquote class="text">
1688  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1689  </p>  </p>
1690  </blockquote>  </blockquote><p>
1691                        
1692    </p>
1693  <p>Possible Answers:  <p>Possible Answers:
1694  </p>  </p>
1695  <p></p>  <p>
1696                            </p>
1697  <blockquote class="text">  <blockquote class="text">
1698  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1699                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1700  </p>  </p>
1701  </blockquote>  </blockquote><p>
1702                        
1703    </p>
1704  <p>Example:  <p>Example:
1705  </p>  </p>
1706  <p></p>  <p>
1707                            </p>
1708  <blockquote class="text">  <blockquote class="text">
1709  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1710  </p>  </p>
1711  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1712  </p>  </p>
1713  </blockquote>  </blockquote><p>
1714                        
1715  <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>  </p>
1716    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1717    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1718    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1719    Getting current settings of an audio output device</h3>
1720    
1721  <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:
1722  </p>  </p>
1723  <p></p>  <p>
1724                            </p>
1725  <blockquote class="text">  <blockquote class="text">
1726  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1727  </p>  </p>
1728  </blockquote>  </blockquote><p>
1729                        
1730    </p>
1731  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1732                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1733                      <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a> command.                      <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a> command.
1734  </p>  </p>
1735  <p>Possible Answers:  <p>Possible Answers:
1736  </p>  </p>
# Line 1399  Intellectual Property and Copyright Stat Line 1742  Intellectual Property and Copyright Stat
1742                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1743                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1744  </p>  </p>
1745  <p></p>  <p>
1746                            </p>
1747  <blockquote class="text">  <blockquote class="text">
1748  <p>DRIVER -  <p>DRIVER -
1749                                  </p>                                  </p>
1750  <blockquote class="text">  <blockquote class="text">
1751  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1752                                      returned by the                                      returned by the
1753                                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span>Getting all available audio output drivers</span></a>                                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a>
1754                                      command                                      command
1755  </p>  </p>
1756  </blockquote>  </blockquote>
1757                                
1758    
1759  <p>CHANNELS -  <p>CHANNELS -
1760                                  </p>                                  </p>
# Line 1418  Intellectual Property and Copyright Stat Line 1763  Intellectual Property and Copyright Stat
1763                                      offers                                      offers
1764  </p>  </p>
1765  </blockquote>  </blockquote>
1766                                
1767    
1768  <p>SAMPLERATE -  <p>SAMPLERATE -
1769                                  </p>                                  </p>
# Line 1425  Intellectual Property and Copyright Stat Line 1771  Intellectual Property and Copyright Stat
1771  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1772  </p>  </p>
1773  </blockquote>  </blockquote>
1774                                
1775    
1776  <p>ACTIVE -  <p>ACTIVE -
1777                                  </p>                                  </p>
# Line 1435  Intellectual Property and Copyright Stat Line 1782  Intellectual Property and Copyright Stat
1782                                      any audio                                      any audio
1783  </p>  </p>
1784  </blockquote>  </blockquote>
1785                                
1786    
1787  </blockquote>  </blockquote><p>
1788                        
1789    </p>
1790  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1791                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1792                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1793                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1794                      <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&nbsp;6.2.3<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a>)
1795                      which are also returned by this command.                      which are also returned by this command.
1796  </p>  </p>
1797  <p>Example:  <p>Example:
1798  </p>  </p>
1799  <p></p>  <p>
1800                            </p>
1801  <blockquote class="text">  <blockquote class="text">
1802  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1803  </p>  </p>
# Line 1467  Intellectual Property and Copyright Stat Line 1817  Intellectual Property and Copyright Stat
1817  </p>  </p>
1818  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1819  </p>  </p>
1820  </blockquote>  </blockquote><p>
1821                        
1822  <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>  </p>
1823    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1824    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1825    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1826    Changing settings of audio output devices</h3>
1827    
1828  <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:
1829  </p>  </p>
1830  <p></p>  <p>
1831                            </p>
1832  <blockquote class="text">  <blockquote class="text">
1833  <p>SET AUDIO_OUTPUT_DEVICE_PARAMETER &lt;device-id&gt; &lt;key&gt;=&lt;value&gt;  <p>SET AUDIO_OUTPUT_DEVICE_PARAMETER &lt;device-id&gt; &lt;key&gt;=&lt;value&gt;
1834  </p>  </p>
1835  </blockquote>  </blockquote><p>
1836                        
1837    </p>
1838  <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
1839                      audio output device, &lt;key&gt; by the name of the parameter to change                      audio output device as given by the
1840                        <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1841                        or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1842                        command, &lt;key&gt; by the name of the parameter to change
1843                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1844  </p>  </p>
1845  <p>Possible Answers:  <p>Possible Answers:
1846  </p>  </p>
1847  <p></p>  <p>
1848                            </p>
1849  <blockquote class="text">  <blockquote class="text">
1850  <p>"OK" -  <p>"OK" -
1851                                  </p>                                  </p>
# Line 1493  Intellectual Property and Copyright Stat Line 1853  Intellectual Property and Copyright Stat
1853  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1854  </p>  </p>
1855  </blockquote>  </blockquote>
1856                                
1857    
1858  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1859                                  </p>                                  </p>
# Line 1502  Intellectual Property and Copyright Stat Line 1863  Intellectual Property and Copyright Stat
1863                                      warning code and warning message                                      warning code and warning message
1864  </p>  </p>
1865  </blockquote>  </blockquote>
1866                                
1867    
1868  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1869                                  </p>                                  </p>
# Line 1510  Intellectual Property and Copyright Stat Line 1872  Intellectual Property and Copyright Stat
1872                                      error message                                      error message
1873  </p>  </p>
1874  </blockquote>  </blockquote>
1875                                
1876    
1877  </blockquote>  </blockquote><p>
1878                        
1879    </p>
1880  <p>Example:  <p>Example:
1881  </p>  </p>
1882  <p></p>  <p>
1883                            </p>
1884  <blockquote class="text">  <blockquote class="text">
1885  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
1886  </p>  </p>
1887  <p>S: "OK"  <p>S: "OK"
1888  </p>  </p>
1889  </blockquote>  </blockquote><p>
1890                        
1891  <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>  </p>
1892    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1893    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1894    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1895    Getting information about an audio channel</h3>
1896    
1897  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1898  </p>  </p>
1899  <p></p>  <p>
1900                            </p>
1901  <blockquote class="text">  <blockquote class="text">
1902  <p>GET AUDIO_OUTPUT_CHANNEL INFO &lt;device-id&gt; &lt;audio-chan&gt;  <p>GET AUDIO_OUTPUT_CHANNEL INFO &lt;device-id&gt; &lt;audio-chan&gt;
1903  </p>  </p>
1904  </blockquote>  </blockquote><p>
1905                        
1906  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device  </p>
1907                      and &lt;audio-chan&gt; the audio channel number.  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
1908                        <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1909                        or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1910                        command and &lt;audio-chan&gt; the audio channel number.
1911  </p>  </p>
1912  <p>Possible Answers:  <p>Possible Answers:
1913  </p>  </p>
1914  <p></p>  <p>
1915                            </p>
1916  <blockquote class="text">  <blockquote class="text">
1917  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
1918                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1546  Intellectual Property and Copyright Stat Line 1920  Intellectual Property and Copyright Stat
1920                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
1921                              the following information categories are defined:                              the following information categories are defined:
1922  </p>  </p>
1923  <p></p>  <p>
1924                                    </p>
1925  <blockquote class="text">  <blockquote class="text">
1926  <p>NAME -  <p>NAME -
1927                                          </p>                                          </p>
# Line 1555  Intellectual Property and Copyright Stat Line 1930  Intellectual Property and Copyright Stat
1930                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
1931  </p>  </p>
1932  </blockquote>  </blockquote>
1933                                        
1934    
1935  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
1936                                          </p>                                          </p>
# Line 1567  Intellectual Property and Copyright Stat Line 1943  Intellectual Property and Copyright Stat
1943                                              (always returned by all audio channels)                                              (always returned by all audio channels)
1944  </p>  </p>
1945  </blockquote>  </blockquote>
1946                                        
1947    
1948  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
1949                                          </p>                                          </p>
# Line 1578  Intellectual Property and Copyright Stat Line 1955  Intellectual Property and Copyright Stat
1955                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
1956  </p>  </p>
1957  </blockquote>  </blockquote>
1958                                        
1959    
1960  </blockquote>  </blockquote>
1961                                
1962    
1963  </blockquote>  </blockquote><p>
1964                        
1965    </p>
1966  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1967                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1968                      generally returned for the described cases by all audio                      generally returned for the described cases by all audio
# Line 1592  Intellectual Property and Copyright Stat Line 1972  Intellectual Property and Copyright Stat
1972  </p>  </p>
1973  <p>Examples:  <p>Examples:
1974  </p>  </p>
1975  <p></p>  <p>
1976                            </p>
1977  <blockquote class="text">  <blockquote class="text">
1978  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
1979  </p>  </p>
# Line 1602  Intellectual Property and Copyright Stat Line 1983  Intellectual Property and Copyright Stat
1983  </p>  </p>
1984  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1985  </p>  </p>
1986  </blockquote>  </blockquote><p>
1987                        
1988  <p></p>  </p>
1989    <p>
1990                            </p>
1991  <blockquote class="text">  <blockquote class="text">
1992  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
1993  </p>  </p>
# Line 1614  Intellectual Property and Copyright Stat Line 1997  Intellectual Property and Copyright Stat
1997  </p>  </p>
1998  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1999  </p>  </p>
2000  </blockquote>  </blockquote><p>
2001                        
2002  <p></p>  </p>
2003    <p>
2004                            </p>
2005  <blockquote class="text">  <blockquote class="text">
2006  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2007  </p>  </p>
# Line 1628  Intellectual Property and Copyright Stat Line 2013  Intellectual Property and Copyright Stat
2013  </p>  </p>
2014  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2015  </p>  </p>
2016  </blockquote>  </blockquote><p>
2017                        
2018  <p></p>  </p>
2019    <p>
2020                            </p>
2021  <blockquote class="text">  <blockquote class="text">
2022  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2023  </p>  </p>
# Line 1642  Intellectual Property and Copyright Stat Line 2029  Intellectual Property and Copyright Stat
2029  </p>  </p>
2030  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2031  </p>  </p>
2032  </blockquote>  </blockquote><p>
2033                        
2034  <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>  </p>
2035    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2036    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2037    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2038    Getting information about specific audio channel parameter</h3>
2039    
2040  <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:
2041  </p>  </p>
2042  <p></p>  <p>
2043                            </p>
2044  <blockquote class="text">  <blockquote class="text">
2045  <p>GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO &lt;dev-id&gt; &lt;chan&gt; &lt;param&gt;  <p>GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO &lt;dev-id&gt; &lt;chan&gt; &lt;param&gt;
2046  </p>  </p>
2047  </blockquote>  </blockquote><p>
2048                        
2049  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned  </p>
2050                      by the <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a>  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
2051                        <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2052                        or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2053                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2054                      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
2055                      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> (</span><span class='info'>Getting information about an audio channel</span><span>)</span></a> command).
2056  </p>  </p>
2057  <p>Possible Answers:  <p>Possible Answers:
2058  </p>  </p>
2059  <p></p>  <p>
2060                            </p>
2061  <blockquote class="text">  <blockquote class="text">
2062  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2063                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1673  Intellectual Property and Copyright Stat Line 2068  Intellectual Property and Copyright Stat
2068                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2069                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2070  </p>  </p>
2071  <p></p>  <p>
2072                                    </p>
2073  <blockquote class="text">  <blockquote class="text">
2074  <p>TYPE -  <p>TYPE -
2075                                          </p>                                          </p>
# Line 1684  Intellectual Property and Copyright Stat Line 2080  Intellectual Property and Copyright Stat
2080                                              (always returned)                                              (always returned)
2081  </p>  </p>
2082  </blockquote>  </blockquote>
2083                                        
2084    
2085  <p>DESCRIPTION -  <p>DESCRIPTION -
2086                                          </p>                                          </p>
# Line 1691  Intellectual Property and Copyright Stat Line 2088  Intellectual Property and Copyright Stat
2088  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2089  </p>  </p>
2090  </blockquote>  </blockquote>
2091                                        
2092    
2093  <p>FIX -  <p>FIX -
2094                                          </p>                                          </p>
# Line 1700  Intellectual Property and Copyright Stat Line 2098  Intellectual Property and Copyright Stat
2098                                              (always returned)                                              (always returned)
2099  </p>  </p>
2100  </blockquote>  </blockquote>
2101                                        
2102    
2103  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2104                                          </p>                                          </p>
# Line 1710  Intellectual Property and Copyright Stat Line 2109  Intellectual Property and Copyright Stat
2109                                              (always returned)                                              (always returned)
2110  </p>  </p>
2111  </blockquote>  </blockquote>
2112                                        
2113    
2114  <p>RANGE_MIN -  <p>RANGE_MIN -
2115                                          </p>                                          </p>
# Line 1722  Intellectual Property and Copyright Stat Line 2122  Intellectual Property and Copyright Stat
2122                                              parameter)                                              parameter)
2123  </p>  </p>
2124  </blockquote>  </blockquote>
2125                                        
2126    
2127  <p>RANGE_MAX -  <p>RANGE_MAX -
2128                                          </p>                                          </p>
# Line 1734  Intellectual Property and Copyright Stat Line 2135  Intellectual Property and Copyright Stat
2135                                              parameter)                                              parameter)
2136  </p>  </p>
2137  </blockquote>  </blockquote>
2138                                        
2139    
2140  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2141                                          </p>                                          </p>
# Line 1745  Intellectual Property and Copyright Stat Line 2147  Intellectual Property and Copyright Stat
2147                                              parameter)                                              parameter)
2148  </p>  </p>
2149  </blockquote>  </blockquote>
2150                                        
2151    
2152  </blockquote>  </blockquote>
2153                                
2154    
2155  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
2156  </p>  </p>
2157  </blockquote>  </blockquote><p>
2158                        
2159    </p>
2160  <p>Example:  <p>Example:
2161  </p>  </p>
2162  <p></p>  <p>
2163                            </p>
2164  <blockquote class="text">  <blockquote class="text">
2165  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2166  </p>  </p>
# Line 1770  Intellectual Property and Copyright Stat Line 2176  Intellectual Property and Copyright Stat
2176  </p>  </p>
2177  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2178  </p>  </p>
2179  </blockquote>  </blockquote><p>
2180                        
2181  <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>  </p>
2182    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2183    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2184    <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2185    Changing settings of audio output channels</h3>
2186    
2187  <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:
2188  </p>  </p>
2189  <p></p>  <p>
2190                            </p>
2191  <blockquote class="text">  <blockquote class="text">
2192  <p>SET AUDIO_OUTPUT_CHANNEL_PARAMETER &lt;dev-id&gt; &lt;chn&gt; &lt;key&gt;=&lt;value&gt;  <p>SET AUDIO_OUTPUT_CHANNEL_PARAMETER &lt;dev-id&gt; &lt;chn&gt; &lt;key&gt;=&lt;value&gt;
2193  </p>  </p>
2194  </blockquote>  </blockquote><p>
2195                        
2196  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio  </p>
2197                      device, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
2198                        <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2199                        or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2200                        command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2201                      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.
2202  </p>  </p>
2203  <p>Possible Answers:  <p>Possible Answers:
2204  </p>  </p>
2205  <p></p>  <p>
2206                            </p>
2207  <blockquote class="text">  <blockquote class="text">
2208  <p>"OK" -  <p>"OK" -
2209                                  </p>                                  </p>
# Line 1796  Intellectual Property and Copyright Stat Line 2211  Intellectual Property and Copyright Stat
2211  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2212  </p>  </p>
2213  </blockquote>  </blockquote>
2214                                
2215    
2216  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2217                                  </p>                                  </p>
# Line 1805  Intellectual Property and Copyright Stat Line 2221  Intellectual Property and Copyright Stat
2221                                     warning code and warning message                                     warning code and warning message
2222  </p>  </p>
2223  </blockquote>  </blockquote>
2224                                
2225    
2226  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2227                                  </p>                                  </p>
# Line 1813  Intellectual Property and Copyright Stat Line 2230  Intellectual Property and Copyright Stat
2230                                     error message                                     error message
2231  </p>  </p>
2232  </blockquote>  </blockquote>
2233                                
2234    
2235  </blockquote>  </blockquote><p>
2236                        
2237    </p>
2238  <p>Example:  <p>Example:
2239  </p>  </p>
2240  <p></p>  <p>
2241                            </p>
2242  <blockquote class="text">  <blockquote class="text">
2243  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 JACK_BINDINGS='PCM:0'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 JACK_BINDINGS='PCM:0'"
2244  </p>  </p>
2245  <p>S: "OK"  <p>S: "OK"
2246  </p>  </p>
2247  </blockquote>  </blockquote><p>
2248                        
2249  <p></p>  </p>
2250    <p>
2251                            </p>
2252  <blockquote class="text">  <blockquote class="text">
2253  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2254  </p>  </p>
2255  <p>S: "OK"  <p>S: "OK"
2256  </p>  </p>
2257  </blockquote>  </blockquote><p>
2258                        
2259  <a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2260    <a name="anchor10"></a><br /><hr />
2261    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2262    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2263    Configuring MIDI input drivers</h3>
2264    
2265  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2266                  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 2288  Intellectual Property and Copyright Stat
2288                  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
2289                  possible values, etc.                  possible values, etc.
2290  </p>  </p>
2291  <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="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2292    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2293    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2294    Getting amount of available MIDI input drivers</h3>
2295    
2296  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2297                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2298                      LinuxSampler instance:                      LinuxSampler instance:
2299  </p>  </p>
2300  <p></p>  <p>
2301                            </p>
2302  <blockquote class="text">  <blockquote class="text">
2303  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2304  </p>  </p>
2305  </blockquote>  </blockquote><p>
2306                        
2307    </p>
2308  <p>Possible Answers:  <p>Possible Answers:
2309  </p>  </p>
2310  <p></p>  <p>
2311                            </p>
2312  <blockquote class="text">  <blockquote class="text">
2313  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2314                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2315  </p>  </p>
2316  </blockquote>  </blockquote><p>
2317                        
2318    </p>
2319  <p>Example:  <p>Example:
2320  </p>  </p>
2321  <p></p>  <p>
2322                            </p>
2323  <blockquote class="text">  <blockquote class="text">
2324  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2325  </p>  </p>
2326  <p>S: "2"  <p>S: "2"
2327  </p>  </p>
2328  </blockquote>  </blockquote><p>
2329                        
2330  <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>  </p>
2331    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2332    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2333    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2334    Getting all available MIDI input drivers</h3>
2335    
2336  <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
2337                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2338  </p>  </p>
2339  <p></p>  <p>
2340                            </p>
2341  <blockquote class="text">  <blockquote class="text">
2342  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2343  </p>  </p>
2344  </blockquote>  </blockquote><p>
2345                        
2346    </p>
2347  <p>Possible Answers:  <p>Possible Answers:
2348  </p>  </p>
2349  <p></p>  <p>
2350                            </p>
2351  <blockquote class="text">  <blockquote class="text">
2352  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2353                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2354  </p>  </p>
2355  </blockquote>  </blockquote><p>
2356                        
2357    </p>
2358  <p>Example:  <p>Example:
2359  </p>  </p>
2360  <p></p>  <p>
2361                            </p>
2362  <blockquote class="text">  <blockquote class="text">
2363  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2364  </p>  </p>
2365  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2366  </p>  </p>
2367  </blockquote>  </blockquote><p>
2368                        
2369  <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>  </p>
2370    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2371    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2372    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2373    Getting information about a specific MIDI input driver</h3>
2374    
2375  <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:
2376  </p>  </p>
2377  <p></p>  <p>
2378                            </p>
2379  <blockquote class="text">  <blockquote class="text">
2380  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2381  </p>  </p>
2382  </blockquote>  </blockquote><p>
2383                        
2384  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.  </p>
2385    <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2386                        by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command.
2387  </p>  </p>
2388  <p>Possible Answers:  <p>Possible Answers:
2389  </p>  </p>
2390  <p></p>  <p>
2391                            </p>
2392  <blockquote class="text">  <blockquote class="text">
2393  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2394                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1945  Intellectual Property and Copyright Stat Line 2396  Intellectual Property and Copyright Stat
2396                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2397                              the following information categories are defined:                              the following information categories are defined:
2398  </p>  </p>
2399  <p></p>  <p>
2400                                    </p>
2401  <blockquote class="text">  <blockquote class="text">
2402  <p>DESCRIPTION -  <p>DESCRIPTION -
2403                                          </p>                                          </p>
# Line 1953  Intellectual Property and Copyright Stat Line 2405  Intellectual Property and Copyright Stat
2405  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2406  </p>  </p>
2407  </blockquote>  </blockquote>
2408                                        
2409    
2410  <p>VERSION -  <p>VERSION -
2411                                          </p>                                          </p>
# Line 1960  Intellectual Property and Copyright Stat Line 2413  Intellectual Property and Copyright Stat
2413  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2414  </p>  </p>
2415  </blockquote>  </blockquote>
2416                                        
2417    
2418  <p>PARAMETERS -  <p>PARAMETERS -
2419                                          </p>                                          </p>
# Line 1967  Intellectual Property and Copyright Stat Line 2421  Intellectual Property and Copyright Stat
2421  <p>comma separated list of all parameters available for the given MIDI input driver  <p>comma separated list of all parameters available for the given MIDI input driver
2422  </p>  </p>
2423  </blockquote>  </blockquote>
2424                                        
2425    
2426  </blockquote>  </blockquote>
2427                                
2428    
2429  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
2430  </p>  </p>
2431  </blockquote>  </blockquote><p>
2432                        
2433    </p>
2434  <p>Example:  <p>Example:
2435  </p>  </p>
2436  <p></p>  <p>
2437                            </p>
2438  <blockquote class="text">  <blockquote class="text">
2439  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2440  </p>  </p>
# Line 1988  Intellectual Property and Copyright Stat Line 2446  Intellectual Property and Copyright Stat
2446  </p>  </p>
2447  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2448  </p>  </p>
2449  </blockquote>  </blockquote><p>
2450                        
2451  <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>  </p>
2452    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2453    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2454    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2455    Getting information about specific MIDI input driver parameter</h3>
2456    
2457  <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:
2458  </p>  </p>
2459  <p></p>  <p>
2460                            </p>
2461  <blockquote class="text">  <blockquote class="text">
2462  <p>GET MIDI_INPUT_DRIVER_PARAMETER INFO &lt;midit&gt; &lt;param&gt; [&lt;deplist&gt;]  <p>GET MIDI_INPUT_DRIVER_PARAMETER INFO &lt;midit&gt; &lt;param&gt; [&lt;deplist&gt;]
2463  </p>  </p>
2464  </blockquote>  </blockquote><p>
2465                        
2466  <p>Where &lt;midi-t&gt; is the name of the MIDI input driver as returned  </p>
2467                      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, &lt;param&gt; a specific  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned
2468                        by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific
2469                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2470                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span>Getting information about a specific MIDI input driver</span></a> command) and &lt;deplist&gt; is an optional list                      <a class='info' href='#GET MIDI_INPUT_DRIVER INFO'>"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific MIDI input driver</span><span>)</span></a> command) and &lt;deplist&gt; is an optional list
2471                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2472                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",
2473                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2022  Intellectual Property and Copyright Stat Line 2486  Intellectual Property and Copyright Stat
2486                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2487                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2488  </p>  </p>
2489  <p></p>  <p>
2490                            </p>
2491  <blockquote class="text">  <blockquote class="text">
2492  <p>TYPE -  <p>TYPE -
2493                                </p>                                </p>
# Line 2033  Intellectual Property and Copyright Stat Line 2498  Intellectual Property and Copyright Stat
2498                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2499  </p>  </p>
2500  </blockquote>  </blockquote>
2501                                
2502    
2503  <p>DESCRIPTION -  <p>DESCRIPTION -
2504                                </p>                                </p>
# Line 2041  Intellectual Property and Copyright Stat Line 2507  Intellectual Property and Copyright Stat
2507                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2508  </p>  </p>
2509  </blockquote>  </blockquote>
2510                                
2511    
2512  <p>MANDATORY -  <p>MANDATORY -
2513                                </p>                                </p>
2514  <blockquote class="text">  <blockquote class="text">
2515  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2516                                  given when the device is to be created with the                                  given when the device is to be created with the
2517                                  <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span>Creating a MIDI input device</span></a> command                                  <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command
2518                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2519  </p>  </p>
2520  </blockquote>  </blockquote>
2521                                
2522    
2523  <p>FIX -  <p>FIX -
2524                                </p>                                </p>
2525  <blockquote class="text">  <blockquote class="text">
2526  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2527                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2528                                  the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span>Creating a MIDI input device</span></a> command                                  the <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command
2529                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2530  </p>  </p>
2531  </blockquote>  </blockquote>
2532                                
2533    
2534  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2535                                </p>                                </p>
# Line 2071  Intellectual Property and Copyright Stat Line 2540  Intellectual Property and Copyright Stat
2540                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2541  </p>  </p>
2542  </blockquote>  </blockquote>
2543                                
2544    
2545  <p>DEPENDS -  <p>DEPENDS -
2546                                </p>                                </p>
2547  <blockquote class="text">  <blockquote class="text">
2548  <p>comma separated list of paramters this parameter depends  <p>comma separated list of parameters this parameter depends
2549                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',
2550                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these
2551                                  listed parameters, for example assuming that an audio                                  listed parameters, for example assuming that an audio
# Line 2087  Intellectual Property and Copyright Stat Line 2557  Intellectual Property and Copyright Stat
2557                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2558  </p>  </p>
2559  </blockquote>  </blockquote>
2560                                
2561    
2562  <p>DEFAULT -  <p>DEFAULT -
2563                                </p>                                </p>
2564  <blockquote class="text">  <blockquote class="text">
2565  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2566                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2567                                  given with the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span>Creating a MIDI input device</span></a> command,                                  given with the <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command,
2568                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2569                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2570                                  apostrophes (')                                  apostrophes (')
2571                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2572  </p>  </p>
2573  </blockquote>  </blockquote>
2574                                
2575    
2576  <p>RANGE_MIN -  <p>RANGE_MIN -
2577                                </p>                                </p>
# Line 2111  Intellectual Property and Copyright Stat Line 2583  Intellectual Property and Copyright Stat
2583                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2584  </p>  </p>
2585  </blockquote>  </blockquote>
2586                                
2587    
2588  <p>RANGE_MAX -  <p>RANGE_MAX -
2589                                </p>                                </p>
# Line 2122  Intellectual Property and Copyright Stat Line 2595  Intellectual Property and Copyright Stat
2595                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2596  </p>  </p>
2597  </blockquote>  </blockquote>
2598                                
2599    
2600  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2601                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2606  Intellectual Property and Copyright Stat
2606                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2607  </p>  </p>
2608  </blockquote>  </blockquote>
2609                                
2610    
2611  </blockquote>  </blockquote><p>
2612                        
2613    </p>
2614  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
2615  </p>  </p>
2616  <p>Example:  <p>Example:
2617  </p>  </p>
2618  <p></p>  <p>
2619                            </p>
2620  <blockquote class="text">  <blockquote class="text">
2621  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2622  </p>  </p>
# Line 2157  Intellectual Property and Copyright Stat Line 2634  Intellectual Property and Copyright Stat
2634  </p>  </p>
2635  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2636  </p>  </p>
2637  </blockquote>  </blockquote><p>
2638                        
2639  <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>  </p>
2640    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2641    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2642    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2643    Creating a MIDI input device</h3>
2644    
2645  <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:
2646  </p>  </p>
2647  <p></p>  <p>
2648                            </p>
2649  <blockquote class="text">  <blockquote class="text">
2650  <p>CREATE MIDI_INPUT_DEVICE &lt;midi-input-driver&gt; [&lt;param-list&gt;]  <p>CREATE MIDI_INPUT_DEVICE &lt;midi-input-driver&gt; [&lt;param-list&gt;]
2651  </p>  </p>
2652  </blockquote>  </blockquote><p>
2653                        
2654  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an  </p>
2655    <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2656                        by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an
2657                      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
2658                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2659                      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 2178  Intellectual Property and Copyright Stat Line 2662  Intellectual Property and Copyright Stat
2662  </p>  </p>
2663  <p>Possible Answers:  <p>Possible Answers:
2664  </p>  </p>
2665  <p></p>  <p>
2666                            </p>
2667  <blockquote class="text">  <blockquote class="text">
2668  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2669                                  </p>                                  </p>
# Line 2187  Intellectual Property and Copyright Stat Line 2672  Intellectual Property and Copyright Stat
2672                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2673  </p>  </p>
2674  </blockquote>  </blockquote>
2675                                
2676    
2677  <p>"WRN[&lt;device-id&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN[&lt;device-id&gt;]:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2678                                  </p>                                  </p>
# Line 2197  Intellectual Property and Copyright Stat Line 2683  Intellectual Property and Copyright Stat
2683                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2684  </p>  </p>
2685  </blockquote>  </blockquote>
2686                                
2687    
2688  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2689                                  </p>                                  </p>
# Line 2204  Intellectual Property and Copyright Stat Line 2691  Intellectual Property and Copyright Stat
2691  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
2692  </p>  </p>
2693  </blockquote>  </blockquote>
2694                                
2695    
2696  </blockquote>  </blockquote><p>
2697                        
2698    </p>
2699  <p>Example:  <p>Example:
2700  </p>  </p>
2701  <p></p>  <p>
2702                            </p>
2703  <blockquote class="text">  <blockquote class="text">
2704  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2705  </p>  </p>
2706  <p>S: "OK[0]"  <p>S: "OK[0]"
2707  </p>  </p>
2708  </blockquote>  </blockquote><p>
2709                        
2710  <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>  </p>
2711    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2712    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2713    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2714    Destroying a MIDI input device</h3>
2715    
2716  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2717  </p>  </p>
2718  <p></p>  <p>
2719                            </p>
2720  <blockquote class="text">  <blockquote class="text">
2721  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2722  </p>  </p>
2723  </blockquote>  </blockquote><p>
2724                        
2725  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID.  </p>
2726    <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2727                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2728                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2729                        command.
2730  </p>  </p>
2731  <p>Possible Answers:  <p>Possible Answers:
2732  </p>  </p>
2733  <p></p>  <p>
2734                            </p>
2735  <blockquote class="text">  <blockquote class="text">
2736  <p>"OK" -  <p>"OK" -
2737                                  </p>                                  </p>
# Line 2239  Intellectual Property and Copyright Stat Line 2739  Intellectual Property and Copyright Stat
2739  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2740  </p>  </p>
2741  </blockquote>  </blockquote>
2742                                
2743    
2744  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2745                                  </p>                                  </p>
# Line 2248  Intellectual Property and Copyright Stat Line 2749  Intellectual Property and Copyright Stat
2749                                      warning message                                      warning message
2750  </p>  </p>
2751  </blockquote>  </blockquote>
2752                                
2753    
2754  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2755                                  </p>                                  </p>
# Line 2255  Intellectual Property and Copyright Stat Line 2757  Intellectual Property and Copyright Stat
2757  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
2758  </p>  </p>
2759  </blockquote>  </blockquote>
2760                                
2761    
2762  </blockquote>  </blockquote><p>
2763                        
2764    </p>
2765  <p>Example:  <p>Example:
2766  </p>  </p>
2767  <p></p>  <p>
2768                            </p>
2769  <blockquote class="text">  <blockquote class="text">
2770  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2771  </p>  </p>
2772  <p>S: "OK"  <p>S: "OK"
2773  </p>  </p>
2774  </blockquote>  </blockquote><p>
2775                        
2776  <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>  </p>
2777    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2778    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2779    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2780    Getting all created MIDI input device count</h3>
2781    
2782  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2783  </p>  </p>
2784  <p></p>  <p>
2785                            </p>
2786  <blockquote class="text">  <blockquote class="text">
2787  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2788  </p>  </p>
2789  </blockquote>  </blockquote><p>
2790                        
2791    </p>
2792  <p>Possible Answers:  <p>Possible Answers:
2793  </p>  </p>
2794  <p></p>  <p>
2795                            </p>
2796  <blockquote class="text">  <blockquote class="text">
2797  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2798                              MIDI input devices.                              MIDI input devices.
2799  </p>  </p>
2800  </blockquote>  </blockquote><p>
2801                        
2802    </p>
2803  <p>Example:  <p>Example:
2804  </p>  </p>
2805  <p></p>  <p>
2806                            </p>
2807  <blockquote class="text">  <blockquote class="text">
2808  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2809  </p>  </p>
2810  <p>S: "3"  <p>S: "3"
2811  </p>  </p>
2812  </blockquote>  </blockquote><p>
2813                        
2814  <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>  </p>
2815    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2816    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2817    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2818    Getting all created MIDI input device list</h3>
2819    
2820  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2821  </p>  </p>
2822  <p></p>  <p>
2823                            </p>
2824  <blockquote class="text">  <blockquote class="text">
2825  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2826  </p>  </p>
2827  </blockquote>  </blockquote><p>
2828                        
2829    </p>
2830  <p>Possible Answers:  <p>Possible Answers:
2831  </p>  </p>
2832  <p></p>  <p>
2833                            </p>
2834  <blockquote class="text">  <blockquote class="text">
2835  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2836                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2837  </p>  </p>
2838  </blockquote>  </blockquote><p>
2839                        
2840    </p>
2841  <p>Examples:  <p>Examples:
2842  </p>  </p>
2843  <p></p>  <p>
2844                            </p>
2845  <blockquote class="text">  <blockquote class="text">
2846  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2847  </p>  </p>
2848  <p>S: "0,1,2"  <p>S: "0,1,2"
2849  </p>  </p>
2850  </blockquote>  </blockquote><p>
2851                        
2852  <p></p>  </p>
2853    <p>
2854                            </p>
2855  <blockquote class="text">  <blockquote class="text">
2856  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2857  </p>  </p>
2858  <p>S: "1,3"  <p>S: "1,3"
2859  </p>  </p>
2860  </blockquote>  </blockquote><p>
2861                        
2862  <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>  </p>
2863    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2864    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2865    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2866    Getting current settings of a MIDI input device</h3>
2867    
2868  <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:
2869  </p>  </p>
2870  <p></p>  <p>
2871                            </p>
2872  <blockquote class="text">  <blockquote class="text">
2873  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
2874  </p>  </p>
2875  </blockquote>  </blockquote><p>
2876                        
2877  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.  </p>
2878    <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2879                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2880                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2881                        command.
2882  </p>  </p>
2883  <p>Possible Answers:  <p>Possible Answers:
2884  </p>  </p>
2885  <p></p>  <p>
2886                            </p>
2887  <blockquote class="text">  <blockquote class="text">
2888  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2889                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2358  Intellectual Property and Copyright Stat Line 2893  Intellectual Property and Copyright Stat
2893                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
2894                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
2895  </p>  </p>
2896  <p></p>  <p>
2897                                    </p>
2898  <blockquote class="text">  <blockquote class="text">
2899  <p>DRIVER -  <p>DRIVER -
2900                                          </p>                                          </p>
2901  <blockquote class="text">  <blockquote class="text">
2902  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2903                                              returned 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>                                              returned by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a>
2904                                              command                                              command
2905  </p>  </p>
2906  </blockquote>  </blockquote>
2907                                        
2908    
2909  </blockquote>  </blockquote>
2910                                    
2911  <blockquote class="text">  <blockquote class="text">
2912  <p><p>ACTIVE -  <p>ACTIVE -
2913                                          </p>                                          </p>
2914  <blockquote class="text">  <blockquote class="text">
2915  <p>either true or false, if false then the MIDI device is  <p>either true or false, if false then the MIDI device is
# Line 2380  Intellectual Property and Copyright Stat Line 2918  Intellectual Property and Copyright Stat
2918                                              channels                                              channels
2919  </p>  </p>
2920  </blockquote>  </blockquote>
2921                                        
2922    
2923  </blockquote>  </blockquote>
2924                                
2925    
2926  </blockquote>  </blockquote><p>
2927                        
2928    </p>
2929  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2930                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2931                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
2932                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
2933                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span>Getting information about a specific MIDI input driver</span></a> command) which are also returned                      <a class='info' href='#GET MIDI_INPUT_DRIVER INFO'>"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific MIDI input driver</span><span>)</span></a> command) which are also returned
2934                      by this command.                      by this command.
2935  </p>  </p>
2936  <p>Example:  <p>Example:
2937  </p>  </p>
2938  <p></p>  <p>
2939                            </p>
2940  <blockquote class="text">  <blockquote class="text">
2941  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
2942  </p>  </p>
# Line 2404  Intellectual Property and Copyright Stat Line 2946  Intellectual Property and Copyright Stat
2946  </p>  </p>
2947  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2948  </p>  </p>
2949  </blockquote>  </blockquote><p>
2950                        
2951  <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>  </p>
2952    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
2953    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2954    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
2955    Changing settings of MIDI input devices</h3>
2956    
2957  <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:
2958  </p>  </p>
2959  <p></p>  <p>
2960                            </p>
2961  <blockquote class="text">  <blockquote class="text">
2962  <p>SET MIDI_INPUT_DEVICE_PARAMETER &lt;device-id&gt; &lt;key&gt;=&lt;value&gt;  <p>SET MIDI_INPUT_DEVICE_PARAMETER &lt;device-id&gt; &lt;key&gt;=&lt;value&gt;
2963  </p>  </p>
2964  </blockquote>  </blockquote><p>
2965                        
2966    </p>
2967  <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
2968                      MIDI input device, &lt;key&gt; by the name of the parameter to change and                      MIDI input device as returned by the
2969                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2970                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2971                        command, &lt;key&gt; by the name of the parameter to change and
2972                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
2973  </p>  </p>
2974  <p>Possible Answers:  <p>Possible Answers:
2975  </p>  </p>
2976  <p></p>  <p>
2977                            </p>
2978  <blockquote class="text">  <blockquote class="text">
2979  <p>"OK" -  <p>"OK" -
2980                                  </p>                                  </p>
# Line 2430  Intellectual Property and Copyright Stat Line 2982  Intellectual Property and Copyright Stat
2982  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2983  </p>  </p>
2984  </blockquote>  </blockquote>
2985                                
2986    
2987  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2988                                  </p>                                  </p>
# Line 2439  Intellectual Property and Copyright Stat Line 2992  Intellectual Property and Copyright Stat
2992                                      warning code and warning message                                      warning code and warning message
2993  </p>  </p>
2994  </blockquote>  </blockquote>
2995                                
2996    
2997  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2998                                  </p>                                  </p>
# Line 2446  Intellectual Property and Copyright Stat Line 3000  Intellectual Property and Copyright Stat
3000  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
3001  </p>  </p>
3002  </blockquote>  </blockquote>
3003                                
3004    
3005  </blockquote>  </blockquote><p>
3006                        
3007    </p>
3008  <p>Example:  <p>Example:
3009  </p>  </p>
3010  <p></p>  <p>
3011                            </p>
3012  <blockquote class="text">  <blockquote class="text">
3013  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3014  </p>  </p>
3015  <p>S: "OK"  <p>S: "OK"
3016  </p>  </p>
3017  </blockquote>  </blockquote><p>
3018                        
3019  <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>  </p>
3020    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3021    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3022    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3023    Getting information about a MIDI port</h3>
3024    
3025  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3026  </p>  </p>
3027  <p></p>  <p>
3028                            </p>
3029  <blockquote class="text">  <blockquote class="text">
3030  <p>GET MIDI_INPUT_PORT INFO &lt;device-id&gt; &lt;midi-port&gt;  <p>GET MIDI_INPUT_PORT INFO &lt;device-id&gt; &lt;midi-port&gt;
3031  </p>  </p>
3032  </blockquote>  </blockquote><p>
3033                        
3034  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device  </p>
3035                      and &lt;midi-port&gt; the MIDI input port number.  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3036                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3037                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3038                        command and &lt;midi-port&gt; the MIDI input port number.
3039  </p>  </p>
3040  <p>Possible Answers:  <p>Possible Answers:
3041  </p>  </p>
3042  <p></p>  <p>
3043                            </p>
3044  <blockquote class="text">  <blockquote class="text">
3045  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3046                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2488  Intellectual Property and Copyright Stat Line 3054  Intellectual Property and Copyright Stat
3054  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3055  </p>  </p>
3056  </blockquote>  </blockquote>
3057                                
3058    
3059  </blockquote>  </blockquote><p>
3060                        
3061    </p>
3062  <p>The field above is only the one which is returned by all MIDI  <p>The field above is only the one which is returned by all MIDI
3063                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3064                      might have its own, additional driver and port specific                      might have its own, additional driver and port specific
# Line 2498  Intellectual Property and Copyright Stat Line 3066  Intellectual Property and Copyright Stat
3066  </p>  </p>
3067  <p>Example:  <p>Example:
3068  </p>  </p>
3069  <p></p>  <p>
3070                            </p>
3071  <blockquote class="text">  <blockquote class="text">
3072  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3073  </p>  </p>
# Line 2508  Intellectual Property and Copyright Stat Line 3077  Intellectual Property and Copyright Stat
3077  </p>  </p>
3078  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3079  </p>  </p>
3080  </blockquote>  </blockquote><p>
3081                        
3082  <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>  </p>
3083    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3084    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3085    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3086    Getting information about specific MIDI port parameter</h3>
3087    
3088  <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:
3089  </p>  </p>
3090  <p></p>  <p>
3091                            </p>
3092  <blockquote class="text">  <blockquote class="text">
3093  <p>GET MIDI_INPUT_PORT_PARAMETER INFO &lt;dev-id&gt; &lt;port&gt; &lt;param&gt;  <p>GET MIDI_INPUT_PORT_PARAMETER INFO &lt;dev-id&gt; &lt;port&gt; &lt;param&gt;
3094  </p>  </p>
3095  </blockquote>  </blockquote><p>
3096                        
3097  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned  </p>
3098                      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  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
3099                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3100                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3101                        command, &lt;port&gt; the MIDI port number and
3102                      &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
3103                      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> (</span><span class='info'>Getting information about a MIDI port</span><span>)</span></a> command).
3104  </p>  </p>
3105  <p>Possible Answers:  <p>Possible Answers:
3106  </p>  </p>
3107  <p></p>  <p>
3108                            </p>
3109  <blockquote class="text">  <blockquote class="text">
3110  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3111                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2547  Intellectual Property and Copyright Stat Line 3125  Intellectual Property and Copyright Stat
3125                                      (always returned)                                      (always returned)
3126  </p>  </p>
3127  </blockquote>  </blockquote>
3128                                
3129    
3130  <p>DESCRIPTION -  <p>DESCRIPTION -
3131                                  </p>                                  </p>
# Line 2555  Intellectual Property and Copyright Stat Line 3134  Intellectual Property and Copyright Stat
3134                                      (always returned)                                      (always returned)
3135  </p>  </p>
3136  </blockquote>  </blockquote>
3137                                
3138    
3139  <p>FIX -  <p>FIX -
3140                                  </p>                                  </p>
# Line 2564  Intellectual Property and Copyright Stat Line 3144  Intellectual Property and Copyright Stat
3144                                      (always returned)                                      (always returned)
3145  </p>  </p>
3146  </blockquote>  </blockquote>
3147                                
3148    
3149  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3150                                  </p>                                  </p>
# Line 2574  Intellectual Property and Copyright Stat Line 3155  Intellectual Property and Copyright Stat
3155                                      (always returned)                                      (always returned)
3156  </p>  </p>
3157  </blockquote>  </blockquote>
3158                                
3159    
3160  <p>RANGE_MIN -  <p>RANGE_MIN -
3161                                  </p>                                  </p>
# Line 2586  Intellectual Property and Copyright Stat Line 3168  Intellectual Property and Copyright Stat
3168                                      parameter)                                      parameter)
3169  </p>  </p>
3170  </blockquote>  </blockquote>
3171                                
3172    
3173  <p>RANGE_MAX -  <p>RANGE_MAX -
3174                                  </p>                                  </p>
# Line 2598  Intellectual Property and Copyright Stat Line 3181  Intellectual Property and Copyright Stat
3181                                      parameter)                                      parameter)
3182  </p>  </p>
3183  </blockquote>  </blockquote>
3184                                
3185    
3186  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3187                                  </p>                                  </p>
# Line 2609  Intellectual Property and Copyright Stat Line 3193  Intellectual Property and Copyright Stat
3193                                      parameter)                                      parameter)
3194  </p>  </p>
3195  </blockquote>  </blockquote>
3196                                
3197    
3198  </blockquote>  </blockquote><p>
3199                        
3200    </p>
3201  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
3202  </p>  </p>
3203  <p>Example:  <p>Example:
3204  </p>  </p>
3205  <p></p>  <p>
3206                            </p>
3207  <blockquote class="text">  <blockquote class="text">
3208  <p>C: "GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS"  <p>C: "GET MIDI_INPUT_PORT_PARAMETER INFO 0 0 ALSA_SEQ_BINDINGS"
3209  </p>  </p>
# Line 2632  Intellectual Property and Copyright Stat Line 3219  Intellectual Property and Copyright Stat
3219  </p>  </p>
3220  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3221  </p>  </p>
3222  </blockquote>  </blockquote><p>
3223                        
3224  <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>  </p>
3225    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3226    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3227    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3228    Changing settings of MIDI input ports</h3>
3229    
3230  <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:
3231  </p>  </p>
3232  <p></p>  <p>
3233                            </p>
3234  <blockquote class="text">  <blockquote class="text">
3235  <p>SET MIDI_INPUT_PORT_PARAMETER &lt;device-id&gt; &lt;port&gt; &lt;key&gt;=&lt;value&gt;  <p>SET MIDI_INPUT_PORT_PARAMETER &lt;device-id&gt; &lt;port&gt; &lt;key&gt;=&lt;value&gt;
3236  </p>  </p>
3237  </blockquote>  </blockquote><p>
3238                        
3239    </p>
3240  <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
3241                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      MIDI device as returned by the
3242                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3243                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3244                        command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3245                      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
3246                      parameter.                      parameter.
3247  </p>  </p>
3248  <p>Possible Answers:  <p>Possible Answers:
3249  </p>  </p>
3250  <p></p>  <p>
3251                            </p>
3252  <blockquote class="text">  <blockquote class="text">
3253  <p>"OK" -  <p>"OK" -
3254                                  </p>                                  </p>
# Line 2659  Intellectual Property and Copyright Stat Line 3256  Intellectual Property and Copyright Stat
3256  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3257  </p>  </p>
3258  </blockquote>  </blockquote>
3259                                
3260    
3261  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3262                                  </p>                                  </p>
# Line 2668  Intellectual Property and Copyright Stat Line 3266  Intellectual Property and Copyright Stat
3266                                      warning code and warning message                                      warning code and warning message
3267  </p>  </p>
3268  </blockquote>  </blockquote>
3269                                
3270    
3271  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3272                                  </p>                                  </p>
# Line 2675  Intellectual Property and Copyright Stat Line 3274  Intellectual Property and Copyright Stat
3274  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
3275  </p>  </p>
3276  </blockquote>  </blockquote>
3277                                
3278    
3279  </blockquote>  </blockquote><p>
3280                        
3281    </p>
3282  <p>Example:  <p>Example:
3283  </p>  </p>
3284  <p></p>  <p>
3285                            </p>
3286  <blockquote class="text">  <blockquote class="text">
3287  <p>  <p>
3288  </p>  </p>
3289  </blockquote>  </blockquote><p>
3290                        
 <a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a>&nbsp;Configuring sampler channels</h4>  
   
 <p>The following commands describe how to add and remove sampler channels, deploy  
                 sampler engines, load instruments and connect sampler channels to MIDI and audio devices.  
3291  </p>  </p>
3292  <a name="rfc.section.5.4.1"></a><h4><a name="LOAD INSTRUMENT">5.4.1</a>&nbsp;Loading an instrument</h4>  <a name="anchor11"></a><br /><hr />
3293    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3294    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3295    Configuring sampler channels</h3>
3296    
3297    <p>The following commands describe how to add and remove sampler channels, associate a
3298                    sampler channel with a sampler engine, load instruments and connect sampler channels to
3299                    MIDI and audio devices.
3300    </p>
3301    <a name="LOAD INSTRUMENT"></a><br /><hr />
3302    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3303    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3304    Loading an instrument</h3>
3305    
3306  <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:
3307  </p>  </p>
3308  <p></p>  <p>
3309                            </p>
3310  <blockquote class="text">  <blockquote class="text">
3311  <p>LOAD INSTRUMENT [NON_MODAL] '&lt;filename&gt;' &lt;instr-index&gt; &lt;sampler-channel&gt;  <p>LOAD INSTRUMENT [NON_MODAL] '&lt;filename&gt;' &lt;instr-index&gt; &lt;sampler-channel&gt;
3312  </p>  </p>
3313  </blockquote>  </blockquote><p>
3314                        
3315    </p>
3316  <p>Where &lt;filename&gt; is the name of the instrument file on the  <p>Where &lt;filename&gt; is the name of the instrument file on the
3317                      LinuxSampler instance's host system, &lt;instr-index&gt; the index of the                      LinuxSampler instance's host system, &lt;instr-index&gt; the index of the
3318                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
# Line 2711  Intellectual Property and Copyright Stat Line 3323  Intellectual Property and Copyright Stat
3323                      is that the regular command returns OK only after the instrument has been                      is that the regular command returns OK only after the instrument has been
3324                      fully loaded and the channel is ready to be used while NON_MODAL version                      fully loaded and the channel is ready to be used while NON_MODAL version
3325                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3326                      on the channel. The <a class="info" href="#GET CHANNEL INFO">GET CHANNEL INFO<span>Getting sampler channel information</span></a>                      on the channel. The <a class='info' href='#GET CHANNEL INFO'>GET CHANNEL INFO<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
3327                      command can be used to obtain loading                      command can be used to obtain loading
3328                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3329                      such as making sure that the file could be read and it is of a proper format                      such as making sure that the file could be read and it is of a proper format
# Line 2720  Intellectual Property and Copyright Stat Line 3332  Intellectual Property and Copyright Stat
3332  </p>  </p>
3333  <p>Possible Answers:  <p>Possible Answers:
3334  </p>  </p>
3335  <p></p>  <p>
3336                            </p>
3337  <blockquote class="text">  <blockquote class="text">
3338  <p>"OK" -  <p>"OK" -
3339                                  </p>                                  </p>
# Line 2728  Intellectual Property and Copyright Stat Line 3341  Intellectual Property and Copyright Stat
3341  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3342  </p>  </p>
3343  </blockquote>  </blockquote>
3344                                
3345    
3346  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3347                                  </p>                                  </p>
# Line 2739  Intellectual Property and Copyright Stat Line 3353  Intellectual Property and Copyright Stat
3353                                      warning message                                      warning message
3354  </p>  </p>
3355  </blockquote>  </blockquote>
3356                                
3357    
3358  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3359                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3361  Intellectual Property and Copyright Stat
3361  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
3362  </p>  </p>
3363  </blockquote>  </blockquote>
3364                                
3365    
3366  </blockquote>  </blockquote><p>
3367                        
3368    </p>
3369  <p>Example:  <p>Example:
3370  </p>  </p>
3371  <p></p>  <p>
3372                            </p>
3373  <blockquote class="text">  <blockquote class="text">
3374  <p>  <p>
3375  </p>  </p>
3376  </blockquote>  </blockquote><p>
3377                        
3378  <a name="rfc.section.5.4.2"></a><h4><a name="LOAD ENGINE">5.4.2</a>&nbsp;Loading a sampler engine</h4>  </p>
3379    <a name="LOAD ENGINE"></a><br /><hr />
3380    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3381    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3382    Loading a sampler engine</h3>
3383    
3384  <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
3385                      channel by the following command:                      channel by the following command:
3386  </p>  </p>
3387  <p></p>  <p>
3388                            </p>
3389  <blockquote class="text">  <blockquote class="text">
3390  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3391  </p>  </p>
3392  </blockquote>  </blockquote><p>
3393                        
3394    </p>
3395  <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
3396                      <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> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command and &lt;sampler-channel&gt;
3397                      deployed engine should be assigned to. Even if the respective                      the sampler channel as returned by the
3398                      sampler channel has already a deployed engine with that engine                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> or
3399                      name, a new engine instance will be assigned to the sampler channel.                      <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command where
3400                        the engine type should be assigned to. This command should be issued
3401                        after adding a new sampler channel and before any other control
3402                        commands on the new sampler channel. It can also be used to change
3403                        the engine type of a sampler channel. This command has (currently) no
3404                        way to define or force if a new engine instance should be created and
3405                        assigned to the given sampler channel or if an already existing
3406                        instance of that engine type, shared with other sampler channels,
3407                        should be used.
3408  </p>  </p>
3409  <p>Possible Answers:  <p>Possible Answers:
3410  </p>  </p>
3411  <p></p>  <p>
3412                            </p>
3413  <blockquote class="text">  <blockquote class="text">
3414  <p>"OK" -  <p>"OK" -
3415                                  </p>                                  </p>
# Line 2784  Intellectual Property and Copyright Stat Line 3417  Intellectual Property and Copyright Stat
3417  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3418  </p>  </p>
3419  </blockquote>  </blockquote>
3420                                
3421    
3422  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3423                                  </p>                                  </p>
# Line 2793  Intellectual Property and Copyright Stat Line 3427  Intellectual Property and Copyright Stat
3427                                      warning code and warning message                                      warning code and warning message
3428  </p>  </p>
3429  </blockquote>  </blockquote>
3430                                
3431    
3432  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3433                                  </p>                                  </p>
# Line 2801  Intellectual Property and Copyright Stat Line 3436  Intellectual Property and Copyright Stat
3436                                      error message                                      error message
3437  </p>  </p>
3438  </blockquote>  </blockquote>
3439                                
3440    
3441  </blockquote>  </blockquote><p>
3442                        
3443    </p>
3444  <p>Example:  <p>Example:
3445  </p>  </p>
3446  <p></p>  <p>
3447                            </p>
3448  <blockquote class="text">  <blockquote class="text">
3449  <p>  <p>
3450  </p>  </p>
3451  </blockquote>  </blockquote><p>
3452                        
3453  <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>  </p>
3454    <a name="GET CHANNELS"></a><br /><hr />
3455    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3456    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3457    Getting all created sampler channel count</h3>
3458    
3459  <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
3460                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3461                      following command:                      following command:
3462  </p>  </p>
3463  <p></p>  <p>
3464                            </p>
3465  <blockquote class="text">  <blockquote class="text">
3466  <p>GET CHANNELS  <p>GET CHANNELS
3467  </p>  </p>
3468  </blockquote>  </blockquote><p>
3469                        
3470    </p>
3471  <p>Possible Answers:  <p>Possible Answers:
3472  </p>  </p>
3473  <p></p>  <p>
3474                            </p>
3475  <blockquote class="text">  <blockquote class="text">
3476  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3477  </p>  </p>
3478  </blockquote>  </blockquote><p>
3479                        
3480    </p>
3481  <p>Example:  <p>Example:
3482  </p>  </p>
3483  <p></p>  <p>
3484                            </p>
3485  <blockquote class="text">  <blockquote class="text">
3486  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3487  </p>  </p>
3488  <p>S: "12"  <p>S: "12"
3489  </p>  </p>
3490  </blockquote>  </blockquote><p>
3491                        
3492  <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>  </p>
3493    <a name="LIST CHANNELS"></a><br /><hr />
3494    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3495    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3496    Getting all created sampler channel list</h3>
3497    
3498  <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
3499                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3500                      following command:                      following command:
3501  </p>  </p>
3502  <p></p>  <p>
3503                            </p>
3504  <blockquote class="text">  <blockquote class="text">
3505  <p>LIST CHANNELS  <p>LIST CHANNELS
3506  </p>  </p>
3507  </blockquote>  </blockquote><p>
3508                        
3509    </p>
3510  <p>Possible Answers:  <p>Possible Answers:
3511  </p>  </p>
3512  <p></p>  <p>
3513                            </p>
3514  <blockquote class="text">  <blockquote class="text">
3515  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3516                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3517  </p>  </p>
3518  </blockquote>  </blockquote><p>
3519                        
3520    </p>
3521  <p>Example:  <p>Example:
3522  </p>  </p>
3523  <p></p>  <p>
3524                            </p>
3525  <blockquote class="text">  <blockquote class="text">
3526  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3527  </p>  </p>
3528  <p>S: "0,1,2,3,4,5,6,9,10,11,15,20"  <p>S: "0,1,2,3,4,5,6,9,10,11,15,20"
3529  </p>  </p>
3530  </blockquote>  </blockquote><p>
3531                        
3532  <a name="rfc.section.5.4.5"></a><h4><a name="ADD CHANNEL">5.4.5</a>&nbsp;Adding a new sampler channel</h4>  </p>
3533    <a name="ADD CHANNEL"></a><br /><hr />
3534    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3535    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3536    Adding a new sampler channel</h3>
3537    
3538  <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
3539                      channel list by sending the following command:                      channel list by sending the following command:
3540  </p>  </p>
3541  <p></p>  <p>
3542                            </p>
3543  <blockquote class="text">  <blockquote class="text">
3544  <p>ADD CHANNEL  <p>ADD CHANNEL
3545  </p>  </p>
3546  </blockquote>  </blockquote><p>
3547                        
3548    </p>
3549  <p>This will increment the sampler channel count by one and the new  <p>This will increment the sampler channel count by one and the new
3550                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3551                      list. The front-end should send the respective, related commands                      list. The front-end should send the respective, related commands
# Line 2896  Intellectual Property and Copyright Stat Line 3558  Intellectual Property and Copyright Stat
3558  </p>  </p>
3559  <p>Possible Answers:  <p>Possible Answers:
3560  </p>  </p>
3561  <p></p>  <p>
3562                            </p>
3563  <blockquote class="text">  <blockquote class="text">
3564  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3565                                  </p>                                  </p>
3566  <blockquote class="text">  <blockquote class="text">
3567  <p>in case a new sampler channel could be added, where  <p>in case a new sampler channel could be added, where
3568                                      &lt;sampler-channel&gt; reflects the channel number of the new                                      &lt;sampler-channel&gt; reflects the channel number of the new
3569                                      created sampler channel which should the be used to set up                                      created sampler channel which should be used to set up
3570                                      the sampler channel by sending subsequent intialization                                      the sampler channel by sending subsequent initialization
3571                                      commands                                      commands
3572  </p>  </p>
3573  </blockquote>  </blockquote>
3574                                
3575    
3576  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3577                                  </p>                                  </p>
# Line 2917  Intellectual Property and Copyright Stat Line 3581  Intellectual Property and Copyright Stat
3581                                      warning code and warning message                                      warning code and warning message
3582  </p>  </p>
3583  </blockquote>  </blockquote>
3584                                
3585    
3586  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3587                                  </p>                                  </p>
# Line 2925  Intellectual Property and Copyright Stat Line 3590  Intellectual Property and Copyright Stat
3590                                      error message                                      error message
3591  </p>  </p>
3592  </blockquote>  </blockquote>
3593                                
3594    
3595  </blockquote>  </blockquote><p>
3596                        
3597    </p>
3598  <p>Example:  <p>Example:
3599  </p>  </p>
3600  <p></p>  <p>
3601                            </p>
3602  <blockquote class="text">  <blockquote class="text">
3603  <p>  <p>
3604  </p>  </p>
3605  </blockquote>  </blockquote><p>
3606                        
3607  <a name="rfc.section.5.4.6"></a><h4><a name="REMOVE CHANNEL">5.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3608    <a name="REMOVE CHANNEL"></a><br /><hr />
3609    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3610    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3611    Removing a sampler channel</h3>
3612    
3613  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3614  </p>  </p>
3615  <p></p>  <p>
3616                            </p>
3617  <blockquote class="text">  <blockquote class="text">
3618  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3619  </p>  </p>
3620  </blockquote>  </blockquote><p>
3621                        
3622  <p>This will decrement the sampler channel count by one and also  </p>
3623                      decrement the channel numbers of all subsequent sampler channels by  <p>Where &lt;sampler-channel&gt; should be replaced by the
3624                      one.                      number of the sampler channel as given by the
3625                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3626                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3627                        command. The channel numbers of all subsequent sampler channels
3628                        remain the same.
3629  </p>  </p>
3630  <p>Possible Answers:  <p>Possible Answers:
3631  </p>  </p>
3632  <p></p>  <p>
3633                            </p>
3634  <blockquote class="text">  <blockquote class="text">
3635  <p>"OK" -  <p>"OK" -
3636                                  </p>                                  </p>
# Line 2960  Intellectual Property and Copyright Stat Line 3638  Intellectual Property and Copyright Stat
3638  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3639  </p>  </p>
3640  </blockquote>  </blockquote>
3641                                
3642    
3643  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3644                                  </p>                                  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3648  Intellectual Property and Copyright Stat
3648                                      warning code and warning message                                      warning code and warning message
3649  </p>  </p>
3650  </blockquote>  </blockquote>
3651                                
3652    
3653  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3654                                  </p>                                  </p>
# Line 2977  Intellectual Property and Copyright Stat Line 3657  Intellectual Property and Copyright Stat
3657                                      error message                                      error message
3658  </p>  </p>
3659  </blockquote>  </blockquote>
3660                                
3661    
3662  </blockquote>  </blockquote><p>
3663                        
3664    </p>
3665  <p>Example:  <p>Example:
3666  </p>  </p>
3667  <p></p>  <p>
3668                            </p>
3669  <blockquote class="text">  <blockquote class="text">
3670  <p>  <p>
3671  </p>  </p>
3672  </blockquote>  </blockquote><p>
3673                        
3674  <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>  </p>
3675    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3676    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3677    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3678    Getting amount of available engines</h3>
3679    
3680  <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:
3681  </p>  </p>
3682  <p></p>  <p>
3683                            </p>
3684  <blockquote class="text">  <blockquote class="text">
3685  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3686  </p>  </p>
3687  </blockquote>  </blockquote><p>
3688                        
3689    </p>
3690  <p>Possible Answers:  <p>Possible Answers:
3691  </p>  </p>
3692  <p></p>  <p>
3693                            </p>
3694  <blockquote class="text">  <blockquote class="text">
3695  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3696  </p>  </p>
3697  </blockquote>  </blockquote><p>
3698                        
3699    </p>
3700  <p>Example:  <p>Example:
3701  </p>  </p>
3702  <p></p>  <p>
3703                            </p>
3704  <blockquote class="text">  <blockquote class="text">
3705  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3706  </p>  </p>
3707  <p>S: "4"  <p>S: "4"
3708  </p>  </p>
3709  </blockquote>  </blockquote><p>
3710                        
3711  <a name="rfc.section.5.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">5.4.8</a>&nbsp;Getting all available engines</h4>  </p>
3712    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3713    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3714    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3715    Getting all available engines</h3>
3716    
3717  <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:
3718  </p>  </p>
3719  <p></p>  <p>
3720                            </p>
3721  <blockquote class="text">  <blockquote class="text">
3722  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3723  </p>  </p>
3724  </blockquote>  </blockquote><p>
3725                        
3726    </p>
3727  <p>Possible Answers:  <p>Possible Answers:
3728  </p>  </p>
3729  <p></p>  <p>
3730                            </p>
3731  <blockquote class="text">  <blockquote class="text">
3732  <p>LinuxSampler will answer by sending a comma separated character  <p>LinuxSampler will answer by sending a comma separated list
3733                              string of the engines' names. Engine names can consist of lower and                              of the engines' names encapsulated into apostrophes (').
3734                              upper cases, digits and underlines ("_" character).                              Engine names can consist of lower and upper cases,
3735                                digits and underlines ("_" character).
3736    </p>
3737    </blockquote><p>
3738                        
3739  </p>  </p>
 </blockquote>  
   
3740  <p>Example:  <p>Example:
3741  </p>  </p>
3742  <p></p>  <p>
3743                            </p>
3744  <blockquote class="text">  <blockquote class="text">
3745  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3746  </p>  </p>
3747  <p>S: "GigEngine,AkaiEngine,DLSEngine,JoesCustomEngine"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3748  </p>  </p>
3749  </blockquote>  </blockquote><p>
3750                        
3751  <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>  </p>
3752    <a name="GET ENGINE INFO"></a><br /><hr />
3753    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3754    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3755    Getting information about an engine</h3>
3756    
3757  <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
3758                      sending the following command:                      sending the following command:
3759  </p>  </p>
3760  <p></p>  <p>
3761                            </p>
3762  <blockquote class="text">  <blockquote class="text">
3763  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3764  </p>  </p>
3765  </blockquote>  </blockquote><p>
3766                        
3767    </p>
3768  <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
3769                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command.                      <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command.
3770  </p>  </p>
3771  <p>Possible Answers:  <p>Possible Answers:
3772  </p>  </p>
3773  <p></p>  <p>
3774                            </p>
3775  <blockquote class="text">  <blockquote class="text">
3776  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3777                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 3070  Intellectual Property and Copyright Stat Line 3779  Intellectual Property and Copyright Stat
3779                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3780                              the following categories are defined:                              the following categories are defined:
3781  </p>  </p>
3782  <p></p>  <p>
3783                                    </p>
3784  <blockquote class="text">  <blockquote class="text">
3785  <p>DESCRIPTION -  <p>DESCRIPTION -
3786                                          </p>                                          </p>
# Line 3078  Intellectual Property and Copyright Stat Line 3788  Intellectual Property and Copyright Stat
3788  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3789  </p>  </p>
3790  </blockquote>  </blockquote>
3791                                        
3792    
3793  <p>VERSION -  <p>VERSION -
3794                                          </p>                                          </p>
# Line 3085  Intellectual Property and Copyright Stat Line 3796  Intellectual Property and Copyright Stat
3796  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3797  </p>  </p>
3798  </blockquote>  </blockquote>
3799                                        
3800    
3801  </blockquote>  </blockquote>
3802                                
3803    
3804  </blockquote>  </blockquote><p>
3805                        
3806    </p>
3807  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
3808  </p>  </p>
3809  <p>Example:  <p>Example:
3810  </p>  </p>
3811  <p></p>  <p>
3812                            </p>
3813  <blockquote class="text">  <blockquote class="text">
3814  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3815  </p>  </p>
# Line 3104  Intellectual Property and Copyright Stat Line 3819  Intellectual Property and Copyright Stat
3819  </p>  </p>
3820  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3821  </p>  </p>
3822  </blockquote>  </blockquote><p>
3823                        
3824  <a name="rfc.section.5.4.10"></a><h4><a name="GET CHANNEL INFO">5.4.10</a>&nbsp;Getting sampler channel information</h4>  </p>
3825    <a name="GET CHANNEL INFO"></a><br /><hr />
3826    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3827    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3828    Getting sampler channel information</h3>
3829    
3830  <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
3831                      by sending the following command:                      by sending the following command:
3832  </p>  </p>
3833  <p></p>  <p>
3834                            </p>
3835  <blockquote class="text">  <blockquote class="text">
3836  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
3837  </p>  </p>
3838  </blockquote>  </blockquote><p>
3839                        
3840  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
3841    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
3842                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3843                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
3844  </p>  </p>
3845  <p>Possible Answers:  <p>Possible Answers:
3846  </p>  </p>
3847  <p></p>  <p>
3848                            </p>
3849  <blockquote class="text">  <blockquote class="text">
3850  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3851                              Each answer line begins with the settings category name                              Each answer line begins with the settings category name
# Line 3129  Intellectual Property and Copyright Stat Line 3853  Intellectual Property and Copyright Stat
3853                              the info character string to that setting category. At the                              the info character string to that setting category. At the
3854                              moment the following categories are defined:                              moment the following categories are defined:
3855  </p>  </p>
3856  <p></p>  <p>
3857                                    </p>
3858  <blockquote class="text">  <blockquote class="text">
3859  <p>ENGINE_NAME -  <p>ENGINE_NAME -
3860                                          </p>                                          </p>
3861  <blockquote class="text">  <blockquote class="text">
3862  <p>name of the engine that is deployed on the sampler  <p>name of the engine that is associated with the sampler
3863                                              channel, "NONE" if there's no engine deployed yet for                                              channel, "NONE" if there's no engine associated yet for
3864                                              this sampler channel                                              this sampler channel
3865  </p>  </p>
3866  </blockquote>  </blockquote>
3867                                        
3868    
3869  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
3870                                          </p>                                          </p>
# Line 3149  Intellectual Property and Copyright Stat Line 3875  Intellectual Property and Copyright Stat
3875                                              connected to this sampler channel                                              connected to this sampler channel
3876  </p>  </p>
3877  </blockquote>  </blockquote>
3878                                        
3879    
3880  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
3881                                          </p>                                          </p>
# Line 3157  Intellectual Property and Copyright Stat Line 3884  Intellectual Property and Copyright Stat
3884                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
3885  </p>  </p>
3886  </blockquote>  </blockquote>
3887                                        
3888    
3889  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
3890                                          </p>                                          </p>
# Line 3170  Intellectual Property and Copyright Stat Line 3898  Intellectual Property and Copyright Stat
3898                                              output device                                              output device
3899  </p>  </p>
3900  </blockquote>  </blockquote>
3901                                        
3902    
3903  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
3904                                          </p>                                          </p>
# Line 3179  Intellectual Property and Copyright Stat Line 3908  Intellectual Property and Copyright Stat
3908                                              channel                                              channel
3909  </p>  </p>
3910  </blockquote>  </blockquote>
3911                                        
3912    
3913  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
3914                                          </p>                                          </p>
# Line 3186  Intellectual Property and Copyright Stat Line 3916  Intellectual Property and Copyright Stat
3916  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument
3917  </p>  </p>
3918  </blockquote>  </blockquote>
3919                                        
3920    
3921  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
3922                                          </p>                                          </p>
# Line 3193  Intellectual Property and Copyright Stat Line 3924  Intellectual Property and Copyright Stat
3924  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
3925  </p>  </p>
3926  </blockquote>  </blockquote>
3927                                        
3928    
3929  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
3930                                          </p>                                          </p>
# Line 3202  Intellectual Property and Copyright Stat Line 3934  Intellectual Property and Copyright Stat
3934                                              loaded.                                              loaded.
3935  </p>  </p>
3936  </blockquote>  </blockquote>
3937                                        
3938    
3939  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
3940                                          </p>                                          </p>
# Line 3212  Intellectual Property and Copyright Stat Line 3945  Intellectual Property and Copyright Stat
3945                                              connected to this sampler channel                                              connected to this sampler channel
3946  </p>  </p>
3947  </blockquote>  </blockquote>
3948                                        
3949    
3950  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
3951                                          </p>                                          </p>
# Line 3219  Intellectual Property and Copyright Stat Line 3953  Intellectual Property and Copyright Stat
3953  <p>port number of the MIDI input device  <p>port number of the MIDI input device
3954  </p>  </p>
3955  </blockquote>  </blockquote>
3956                                        
3957    
3958  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
3959                                          </p>                                          </p>
# Line 3227  Intellectual Property and Copyright Stat Line 3962  Intellectual Property and Copyright Stat
3962                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
3963  </p>  </p>
3964  </blockquote>  </blockquote>
3965                                        
3966    
3967  <p>VOLUME -  <p>VOLUME -
3968                                          </p>                                          </p>
3969  <blockquote class="text">  <blockquote class="text">
3970  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
3971                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
3972                                              1.0 means amplification)                                              1.0 means amplification)
3973  </p>  </p>
3974  </blockquote>  </blockquote>
3975                                        
3976    
3977    <p>MUTE -
3978                                            </p>
3979    <blockquote class="text">
3980    <p>Determines whether the channel is muted, "true" if the
3981                                                channel is muted, "false" if the channel is not muted, and
3982                                                "MUTED_BY_SOLO" if the channel is muted because of the
3983                                                presence of a solo channel and will be unmuted when
3984                                                there are no solo channels left
3985    </p>
3986  </blockquote>  </blockquote>
3987                                        
3988    
3989    <p>SOLO -
3990                                            </p>
3991    <blockquote class="text">
3992    <p>Determines whether this is a solo channel, "true" if
3993                                                the channel is a solo channel; "false" otherwise
3994    </p>
3995  </blockquote>  </blockquote>
3996                                        
3997    
3998    <p>MIDI_INSTRUMENT_MAP -
3999                                            </p>
4000    <blockquote class="text">
4001    <p>Determines to which MIDI instrument map this sampler
4002                                                channel is assigned to. Read chapter
4003                                                <a class='info' href='#SET CHANNEL MIDI_INSTRUMENT_MAP'>"SET CHANNEL MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Assigning a MIDI instrument map to a sampler channel</span><span>)</span></a>
4004                                                for a list of possible values.
4005    </p>
4006    </blockquote>
4007                                        
4008    
4009    </blockquote>
4010                                
4011    
4012    </blockquote><p>
4013                        
4014    </p>
4015  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
4016  </p>  </p>
4017  <p>Example:  <p>Example:
4018  </p>  </p>
4019  <p></p>  <p>
4020                            </p>
4021  <blockquote class="text">  <blockquote class="text">
4022  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4023  </p>  </p>
# Line 3273  Intellectual Property and Copyright Stat Line 4045  Intellectual Property and Copyright Stat
4045  </p>  </p>
4046  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4047  </p>  </p>
4048    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4049    </p>
4050    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4051    </p>
4052    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4053    </p>
4054    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4055    </p>
4056  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4057  </p>  </p>
4058  </blockquote>  </blockquote><p>
4059                        
4060  <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>  </p>
4061    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4062    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4063    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4064    Current number of active voices</h3>
4065    
4066  <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
4067                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4068  </p>  </p>
4069  <p></p>  <p>
4070                            </p>
4071  <blockquote class="text">  <blockquote class="text">
4072  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4073  </p>  </p>
4074  </blockquote>  </blockquote><p>
4075                        
4076  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4077    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4078                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4079                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4080  </p>  </p>
4081  <p>Possible Answers:  <p>Possible Answers:
4082  </p>  </p>
4083  <p></p>  <p>
4084                            </p>
4085  <blockquote class="text">  <blockquote class="text">
4086  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4087                              voices on that channel.                              voices on that channel.
4088  </p>  </p>
4089  </blockquote>  </blockquote><p>
4090                        
4091    </p>
4092  <p>Example:  <p>Example:
4093  </p>  </p>
4094  <p></p>  <p>
4095                            </p>
4096  <blockquote class="text">  <blockquote class="text">
4097  <p>  <p>
4098  </p>  </p>
4099  </blockquote>  </blockquote><p>
4100                        
4101  <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>  </p>
4102    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4103    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4104    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4105    Current number of active disk streams</h3>
4106    
4107  <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
4108                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4109  </p>  </p>
4110  <p></p>  <p>
4111                            </p>
4112  <blockquote class="text">  <blockquote class="text">
4113  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4114  </p>  </p>
4115  </blockquote>  </blockquote><p>
4116                        
4117  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4118    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4119                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4120                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4121  </p>  </p>
4122  <p>Possible Answers:  <p>Possible Answers:
4123  </p>  </p>
4124  <p></p>  <p>
4125                            </p>
4126  <blockquote class="text">  <blockquote class="text">
4127  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4128                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4129                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4130                              return "NA" for not available.                              return "NA" for not available.
4131  </p>  </p>
4132  </blockquote>  </blockquote><p>
4133                        
4134    </p>
4135  <p>Example:  <p>Example:
4136  </p>  </p>
4137  <p></p>  <p>
4138                            </p>
4139  <blockquote class="text">  <blockquote class="text">
4140  <p>  <p>
4141  </p>  </p>
4142  </blockquote>  </blockquote><p>
4143                        
4144  <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>  </p>
4145    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4146    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4147    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4148    Current fill state of disk stream buffers</h3>
4149    
4150  <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
4151                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4152  </p>  </p>
4153  <p></p>  <p>
4154                            </p>
4155  <blockquote class="text">  <blockquote class="text">
4156  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4157  </p>  </p>
4158  </blockquote>  </blockquote><p>
4159                        
4160    </p>
4161  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4162  </p>  </p>
4163  <p></p>  <p>
4164                            </p>
4165  <blockquote class="text">  <blockquote class="text">
4166  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4167  </p>  </p>
4168  </blockquote>  </blockquote><p>
4169                        
4170    </p>
4171  <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
4172                      sampler channel number the front-end is interested in.                      sampler channel number the front-end is interested in
4173                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4174                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4175  </p>  </p>
4176  <p>Possible Answers:  <p>Possible Answers:
4177  </p>  </p>
4178  <p></p>  <p>
4179                            </p>
4180  <blockquote class="text">  <blockquote class="text">
4181  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4182                              string with the fill state of all disk stream buffers on that                              string with the fill state of all disk stream buffers on that
# Line 3376  Intellectual Property and Copyright Stat Line 4189  Intellectual Property and Copyright Stat
4189                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4190                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4191  </p>  </p>
4192  </blockquote>  </blockquote><p>
4193                        
4194    </p>
4195  <p>Examples:  <p>Examples:
4196  </p>  </p>
4197  <p></p>  <p>
4198                            </p>
4199  <blockquote class="text">  <blockquote class="text">
4200  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4201  </p>  </p>
4202  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
4203  </p>  </p>
4204  </blockquote>  </blockquote><p>
4205    
4206                            </p>
4207  <blockquote class="text">  <blockquote class="text">
4208  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4209  </p>  </p>
4210  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4211  </p>  </p>
4212  </blockquote>  </blockquote><p>
4213    
4214                            </p>
4215  <blockquote class="text">  <blockquote class="text">
4216  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4217  </p>  </p>
4218  <p>S: ""  <p>S: ""
4219  </p>  </p>
4220  </blockquote>  </blockquote><p>
4221                        
4222  <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>  </p>
4223    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4224    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4225    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4226    Setting audio output device</h3>
4227    
4228  <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
4229                      channel by sending the following command:                      channel by sending the following command:
4230  </p>  </p>
4231  <p></p>  <p>
4232                            </p>
4233  <blockquote class="text">  <blockquote class="text">
4234  <p>SET CHANNEL AUDIO_OUTPUT_DEVICE &lt;sampler-channel&gt; &lt;audio-device-id&gt;  <p>SET CHANNEL AUDIO_OUTPUT_DEVICE &lt;sampler-channel&gt; &lt;audio-device-id&gt;
4235  </p>  </p>
4236  </blockquote>  </blockquote><p>
4237                        
4238  <p>Where &lt;audio-device-id&gt; is the numerical ID of the audio output  </p>
4239                      device and &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4240                      number.                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4241                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4242                        &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4243                        <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
4244                        or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
4245                        command.
4246  </p>  </p>
4247  <p>Possible Answers:  <p>Possible Answers:
4248  </p>  </p>
4249  <p></p>  <p>
4250                            </p>
4251  <blockquote class="text">  <blockquote class="text">
4252  <p>"OK" -  <p>"OK" -
4253                                  </p>                                  </p>
# Line 3425  Intellectual Property and Copyright Stat Line 4255  Intellectual Property and Copyright Stat
4255  <p>on success  <p>on success
4256  </p>  </p>
4257  </blockquote>  </blockquote>
4258                                
4259    
4260  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4261                                  </p>                                  </p>
# Line 3434  Intellectual Property and Copyright Stat Line 4265  Intellectual Property and Copyright Stat
4265                                      warning message                                      warning message
4266  </p>  </p>
4267  </blockquote>  </blockquote>
4268                                
4269    
4270  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4271                                  </p>                                  </p>
# Line 3441  Intellectual Property and Copyright Stat Line 4273  Intellectual Property and Copyright Stat
4273  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4274  </p>  </p>
4275  </blockquote>  </blockquote>
4276                                
4277    
4278  </blockquote>  </blockquote><p>
4279                        
4280    </p>
4281  <p>Examples:  <p>Examples:
4282  </p>  </p>
4283  <p></p>  <p>
4284                            </p>
4285  <blockquote class="text">  <blockquote class="text">
4286  <p>  <p>
4287  </p>  </p>
4288  </blockquote>  </blockquote><p>
4289                        
4290  <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>  </p>
4291    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4292    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4293    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4294    Setting audio output type</h3>
4295    
4296  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4297  </p>  </p>
4298  <p>The front-end can alter the audio output type on a specific sampler  <p>The front-end can alter the audio output type on a specific sampler
4299                      channel by sending the following command:                      channel by sending the following command:
4300  </p>  </p>
4301  <p></p>  <p>
4302                            </p>
4303  <blockquote class="text">  <blockquote class="text">
4304  <p>SET CHANNEL AUDIO_OUTPUT_TYPE &lt;sampler-channel&gt; &lt;audio-output-type&gt;  <p>SET CHANNEL AUDIO_OUTPUT_TYPE &lt;sampler-channel&gt; &lt;audio-output-type&gt;
4305  </p>  </p>
4306  </blockquote>  </blockquote><p>
4307                        
4308    </p>
4309  <p>Where &lt;audio-output-type&gt; is currently either "ALSA" or "JACK" and  <p>Where &lt;audio-output-type&gt; is currently either "ALSA" or "JACK" and
4310                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4311  </p>  </p>
4312  <p>Possible Answers:  <p>Possible Answers:
4313  </p>  </p>
4314  <p></p>  <p>
4315                            </p>
4316  <blockquote class="text">  <blockquote class="text">
4317  <p>"OK" -  <p>"OK" -
4318                                  </p>                                  </p>
# Line 3478  Intellectual Property and Copyright Stat Line 4320  Intellectual Property and Copyright Stat
4320  <p>on success  <p>on success
4321  </p>  </p>
4322  </blockquote>  </blockquote>
4323                                
4324    
4325  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4326                                  </p>                                  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 4330  Intellectual Property and Copyright Stat
4330                                      warning message                                      warning message
4331  </p>  </p>
4332  </blockquote>  </blockquote>
4333                                
4334    
4335  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4336                                  </p>                                  </p>
# Line 3494  Intellectual Property and Copyright Stat Line 4338  Intellectual Property and Copyright Stat
4338  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4339  </p>  </p>
4340  </blockquote>  </blockquote>
4341                                
4342    
4343  </blockquote>  </blockquote><p>
4344                        
4345    </p>
4346  <p>Examples:  <p>Examples:
4347  </p>  </p>
4348  <p></p>  <p>
4349                            </p>
4350  <blockquote class="text">  <blockquote class="text">
4351  <p>  <p>
4352  </p>  </p>
4353  </blockquote>  </blockquote><p>
4354                        
4355  <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>  </p>
4356    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4357    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4358    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4359    Setting audio output channel</h3>
4360    
4361  <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
4362                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4363  </p>  </p>
4364  <p></p>  <p>
4365                            </p>
4366  <blockquote class="text">  <blockquote class="text">
4367  <p>SET CHANNEL AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;audio-out&gt; &lt;audio-in&gt;  <p>SET CHANNEL AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;audio-out&gt; &lt;audio-in&gt;
4368  </p>  </p>
4369  </blockquote>  </blockquote><p>
4370                        
4371  <p>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the  </p>
4372    <p>Where &lt;sampler-chan&gt; is the sampler channel number
4373                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4374                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the
4375                      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
4376                      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
4377                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4378  </p>  </p>
4379  <p>Possible Answers:  <p>Possible Answers:
4380  </p>  </p>
4381  <p></p>  <p>
4382                            </p>
4383  <blockquote class="text">  <blockquote class="text">
4384  <p>"OK" -  <p>"OK" -
4385                                  </p>                                  </p>
# Line 3531  Intellectual Property and Copyright Stat Line 4387  Intellectual Property and Copyright Stat
4387  <p>on success  <p>on success
4388  </p>  </p>
4389  </blockquote>  </blockquote>
4390                                
4391    
4392  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4393                                  </p>                                  </p>
# Line 3540  Intellectual Property and Copyright Stat Line 4397  Intellectual Property and Copyright Stat
4397                                      warning message                                      warning message
4398  </p>  </p>
4399  </blockquote>  </blockquote>
4400                                
4401    
4402  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4403                                  </p>                                  </p>
# Line 3547  Intellectual Property and Copyright Stat Line 4405  Intellectual Property and Copyright Stat
4405  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4406  </p>  </p>
4407  </blockquote>  </blockquote>
4408                                
4409    
4410  </blockquote>  </blockquote><p>
4411                        
4412    </p>
4413  <p>Examples:  <p>Examples:
4414  </p>  </p>
4415  <p></p>  <p>
4416                            </p>
4417  <blockquote class="text">  <blockquote class="text">
4418  <p>  <p>
4419  </p>  </p>
4420  </blockquote>  </blockquote><p>
4421                        
4422  <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>  </p>
4423    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4424    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4425    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4426    Setting MIDI input device</h3>
4427    
4428  <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
4429                      channel by sending the following command:                      channel by sending the following command:
4430  </p>  </p>
4431  <p></p>  <p>
4432                            </p>
4433  <blockquote class="text">  <blockquote class="text">
4434  <p>SET CHANNEL MIDI_INPUT_DEVICE &lt;sampler-channel&gt; &lt;midi-device-id&gt;  <p>SET CHANNEL MIDI_INPUT_DEVICE &lt;sampler-channel&gt; &lt;midi-device-id&gt;
4435  </p>  </p>
4436  </blockquote>  </blockquote><p>
4437                        
4438  <p>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the  </p>
4439                      the numerical ID of the MIDI input device.  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4440                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4441                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command
4442                        and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4443                        <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
4444                        or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a> command.
4445  </p>  </p>
4446  <p>Possible Answers:  <p>Possible Answers:
4447  </p>  </p>
4448  <p></p>  <p>
4449                            </p>
4450  <blockquote class="text">  <blockquote class="text">
4451  <p>"OK" -  <p>"OK" -
4452                                  </p>                                  </p>
# Line 3582  Intellectual Property and Copyright Stat Line 4454  Intellectual Property and Copyright Stat
4454  <p>on success  <p>on success
4455  </p>  </p>
4456  </blockquote>  </blockquote>
4457                                
4458    
4459  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4460                                  </p>                                  </p>
# Line 3591  Intellectual Property and Copyright Stat Line 4464  Intellectual Property and Copyright Stat
4464                                      warning message                                      warning message
4465  </p>  </p>
4466  </blockquote>  </blockquote>
4467                                
4468    
4469  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4470                                  </p>                                  </p>
# Line 3598  Intellectual Property and Copyright Stat Line 4472  Intellectual Property and Copyright Stat
4472  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4473  </p>  </p>
4474  </blockquote>  </blockquote>
4475                                
4476    
4477  </blockquote>  </blockquote><p>
4478                        
4479    </p>
4480  <p>Examples:  <p>Examples:
4481  </p>  </p>
4482  <p></p>  <p>
4483                            </p>
4484  <blockquote class="text">  <blockquote class="text">
4485  <p>  <p>
4486  </p>  </p>
4487  </blockquote>  </blockquote><p>
4488                        
4489  <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>  </p>
4490    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4491    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4492    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4493    Setting MIDI input type</h3>
4494    
4495  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4496  </p>  </p>
4497  <p>The front-end can alter the MIDI input type on a specific sampler  <p>The front-end can alter the MIDI input type on a specific sampler
4498                      channel by sending the following command:                      channel by sending the following command:
4499  </p>  </p>
4500  <p></p>  <p>
4501                            </p>
4502  <blockquote class="text">  <blockquote class="text">
4503  <p>SET CHANNEL MIDI_INPUT_TYPE &lt;sampler-channel&gt; &lt;midi-input-type&gt;  <p>SET CHANNEL MIDI_INPUT_TYPE &lt;sampler-channel&gt; &lt;midi-input-type&gt;
4504  </p>  </p>
4505  </blockquote>  </blockquote><p>
4506                        
4507    </p>
4508  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4509                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4510  </p>  </p>
4511  <p>Possible Answers:  <p>Possible Answers:
4512  </p>  </p>
4513  <p></p>  <p>
4514                            </p>
4515  <blockquote class="text">  <blockquote class="text">
4516  <p>"OK" -  <p>"OK" -
4517                                  </p>                                  </p>
# Line 3635  Intellectual Property and Copyright Stat Line 4519  Intellectual Property and Copyright Stat
4519  <p>on success  <p>on success
4520  </p>  </p>
4521  </blockquote>  </blockquote>
4522                                
4523    
4524  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4525                                  </p>                                  </p>
# Line 3644  Intellectual Property and Copyright Stat Line 4529  Intellectual Property and Copyright Stat
4529                                      warning message                                      warning message
4530  </p>  </p>
4531  </blockquote>  </blockquote>
4532                                
4533    
4534  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4535                                  </p>                                  </p>
# Line 3651  Intellectual Property and Copyright Stat Line 4537  Intellectual Property and Copyright Stat
4537  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4538  </p>  </p>
4539  </blockquote>  </blockquote>
4540                                
4541    
4542  </blockquote>  </blockquote><p>
4543                        
4544    </p>
4545  <p>Examples:  <p>Examples:
4546  </p>  </p>
4547  <p></p>  <p>
4548                            </p>
4549  <blockquote class="text">  <blockquote class="text">
4550  <p>  <p>
4551  </p>  </p>
4552  </blockquote>  </blockquote><p>
4553                        
4554  <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>  </p>
4555    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4556    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4557    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4558    Setting MIDI input port</h3>
4559    
4560  <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
4561                      channel by sending the following command:                      channel by sending the following command:
4562  </p>  </p>
4563  <p></p>  <p>
4564                            </p>
4565  <blockquote class="text">  <blockquote class="text">
4566  <p>SET CHANNEL MIDI_INPUT_PORT &lt;sampler-channel&gt; &lt;midi-input-port&gt;  <p>SET CHANNEL MIDI_INPUT_PORT &lt;sampler-channel&gt; &lt;midi-input-port&gt;
4567  </p>  </p>
4568  </blockquote>  </blockquote><p>
4569                        
4570    </p>
4571  <p>Where &lt;midi-input-port&gt; is a MIDI input port number of the  <p>Where &lt;midi-input-port&gt; is a MIDI input port number of the
4572                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4573                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4574  </p>  </p>
4575  <p>Possible Answers:  <p>Possible Answers:
4576  </p>  </p>
4577  <p></p>  <p>
4578                            </p>
4579  <blockquote class="text">  <blockquote class="text">
4580  <p>"OK" -  <p>"OK" -
4581                                  </p>                                  </p>
# Line 3687  Intellectual Property and Copyright Stat Line 4583  Intellectual Property and Copyright Stat
4583  <p>on success  <p>on success
4584  </p>  </p>
4585  </blockquote>  </blockquote>
4586                                
4587    
4588  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4589                                  </p>                                  </p>
# Line 3696  Intellectual Property and Copyright Stat Line 4593  Intellectual Property and Copyright Stat
4593                                      warning message                                      warning message
4594  </p>  </p>
4595  </blockquote>  </blockquote>
4596                                
4597    
4598  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4599                                  </p>                                  </p>
4600  <blockquote class="text">  <blockquote class="text">
4601  <p>in case it failed, providing an appropriate error code and error messag  <p>in case it failed, providing an appropriate error code and error message
4602  </p>  </p>
4603  </blockquote>  </blockquote>
4604                                
4605    
4606  </blockquote>  </blockquote><p>
4607                        
4608    </p>
4609  <p>Examples:  <p>Examples:
4610  </p>  </p>
4611  <p></p>  <p>
4612                            </p>
4613  <blockquote class="text">  <blockquote class="text">
4614  <p>  <p>
4615  </p>  </p>
4616  </blockquote>  </blockquote><p>
4617                        
4618  <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>  </p>
4619    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4620    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4621    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4622    Setting MIDI input channel</h3>
4623    
4624  <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
4625                      listen to by sending the following command:                      listen to by sending the following command:
4626  </p>  </p>
4627  <p></p>  <p>
4628                            </p>
4629  <blockquote class="text">  <blockquote class="text">
4630  <p>SET CHANNEL MIDI_INPUT_CHANNEL &lt;sampler-channel&gt; &lt;midi-input-chan&gt;  <p>SET CHANNEL MIDI_INPUT_CHANNEL &lt;sampler-channel&gt; &lt;midi-input-chan&gt;
4631  </p>  </p>
4632  </blockquote>  </blockquote><p>
4633                        
4634    </p>
4635  <p>Where &lt;midi-input-chan&gt; is the number of the new MIDI input channel where  <p>Where &lt;midi-input-chan&gt; is the number of the new MIDI input channel where
4636                      &lt;sampler-channel&gt; should listen to or "ALL" to listen on all 16 MIDI                      &lt;sampler-channel&gt; should listen to or "ALL" to listen on all 16 MIDI
4637                      channels.                      channels.
4638  </p>  </p>
4639  <p>Possible Answers:  <p>Possible Answers:
4640  </p>  </p>
4641  <p></p>  <p>
4642                            </p>
4643  <blockquote class="text">  <blockquote class="text">
4644  <p>"OK" -  <p>"OK" -
4645                                  </p>                                  </p>
# Line 3739  Intellectual Property and Copyright Stat Line 4647  Intellectual Property and Copyright Stat
4647  <p>on success  <p>on success
4648  </p>  </p>
4649  </blockquote>  </blockquote>
4650                                
4651    
4652  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4653                                  </p>                                  </p>
# Line 3748  Intellectual Property and Copyright Stat Line 4657  Intellectual Property and Copyright Stat
4657                                      warning message                                      warning message
4658  </p>  </p>
4659  </blockquote>  </blockquote>
4660                                
4661    
4662  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4663                                  </p>                                  </p>
# Line 3755  Intellectual Property and Copyright Stat Line 4665  Intellectual Property and Copyright Stat
4665  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4666  </p>  </p>
4667  </blockquote>  </blockquote>
4668                                
4669    
4670  </blockquote>  </blockquote><p>
4671                        
4672    </p>
4673  <p>Examples:  <p>Examples:
4674  </p>  </p>
4675  <p></p>  <p>
4676                            </p>
4677  <blockquote class="text">  <blockquote class="text">
4678  <p>  <p>
4679  </p>  </p>
4680  </blockquote>  </blockquote><p>
4681                        
4682  <a name="rfc.section.5.4.21"></a><h4><a name="SET CHANNEL VOLUME">5.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4683    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4684    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4685    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4686    Setting channel volume</h3>
4687    
4688  <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
4689                      the following command:                      the following command:
4690  </p>  </p>
4691  <p></p>  <p>
4692                            </p>
4693  <blockquote class="text">  <blockquote class="text">
4694  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4695  </p>  </p>
4696  </blockquote>  </blockquote><p>
4697                        
4698    </p>
4699  <p>Where &lt;volume&gt; is an optionally dotted positive number (a value  <p>Where &lt;volume&gt; is an optionally dotted positive number (a value
4700                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4701                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler
# Line 3784  Intellectual Property and Copyright Stat Line 4703  Intellectual Property and Copyright Stat
4703  </p>  </p>
4704  <p>Possible Answers:  <p>Possible Answers:
4705  </p>  </p>
4706  <p></p>  <p>
4707                            </p>
4708  <blockquote class="text">  <blockquote class="text">
4709  <p>"OK" -  <p>"OK" -
4710                                  </p>                                  </p>
# Line 3792  Intellectual Property and Copyright Stat Line 4712  Intellectual Property and Copyright Stat
4712  <p>on success  <p>on success
4713  </p>  </p>
4714  </blockquote>  </blockquote>
4715                                
4716    
4717  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4718                                  </p>                                  </p>
# Line 3801  Intellectual Property and Copyright Stat Line 4722  Intellectual Property and Copyright Stat
4722                                      warning message                                      warning message
4723  </p>  </p>
4724  </blockquote>  </blockquote>
4725                                
4726    
4727  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4728                                  </p>                                  </p>
# Line 3808  Intellectual Property and Copyright Stat Line 4730  Intellectual Property and Copyright Stat
4730  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
4731  </p>  </p>
4732  </blockquote>  </blockquote>
4733                                
4734    
4735    </blockquote><p>
4736                        
4737    </p>
4738    <p>Examples:
4739    </p>
4740    <p>
4741                            </p>
4742    <blockquote class="text">
4743    <p>
4744    </p>
4745    </blockquote><p>
4746                        
4747    </p>
4748    <a name="SET CHANNEL MUTE"></a><br /><hr />
4749    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4750    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4751    Muting a sampler channel</h3>
4752    
4753    <p>The front-end can mute/unmute a specific sampler
4754                        channel by sending the following command:
4755    </p>
4756    <p>
4757                            </p>
4758    <blockquote class="text">
4759    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4760    </p>
4761    </blockquote><p>
4762                        
4763    </p>
4764    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4765                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4766                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4767                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4768                        to unmute the channel.
4769    </p>
4770    <p>Possible Answers:
4771    </p>
4772    <p>
4773                            </p>
4774    <blockquote class="text">
4775    <p>"OK" -
4776                                    </p>
4777    <blockquote class="text">
4778    <p>on success
4779    </p>
4780  </blockquote>  </blockquote>
4781                                
4782    
4783    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4784                                    </p>
4785    <blockquote class="text">
4786    <p>if the channel was muted/unmuted, but there are noteworthy
4787                                        issue(s) related, providing an appropriate warning code and
4788                                        warning message
4789    </p>
4790    </blockquote>
4791                                
4792    
4793    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4794                                    </p>
4795    <blockquote class="text">
4796    <p>in case it failed, providing an appropriate error code and error message
4797    </p>
4798    </blockquote>
4799                                
4800    
4801    </blockquote><p>
4802                        
4803    </p>
4804  <p>Examples:  <p>Examples:
4805  </p>  </p>
4806  <p></p>  <p>
4807                            </p>
4808  <blockquote class="text">  <blockquote class="text">
4809  <p>  <p>
4810  </p>  </p>
4811    </blockquote><p>
4812                        
4813    </p>
4814    <a name="SET CHANNEL SOLO"></a><br /><hr />
4815    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4816    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4817    Soloing a sampler channel</h3>
4818    
4819    <p>The front-end can solo/unsolo a specific sampler channel
4820                        by sending the following command:
4821    </p>
4822    <p>
4823                            </p>
4824    <blockquote class="text">
4825    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4826    </p>
4827    </blockquote><p>
4828                        
4829    </p>
4830    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4831                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4832                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4833                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4834                        to unsolo the channel.
4835    </p>
4836    <p>Possible Answers:
4837    </p>
4838    <p>
4839                            </p>
4840    <blockquote class="text">
4841    <p>"OK" -
4842                                    </p>
4843    <blockquote class="text">
4844    <p>on success
4845    </p>
4846  </blockquote>  </blockquote>
4847                                
4848    
4849  <a name="rfc.section.5.4.22"></a><h4><a name="RESET CHANNEL">5.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4850                                    </p>
4851    <blockquote class="text">
4852    <p>if the channel was soloed/unsoloed, but there are noteworthy
4853                                        issue(s) related, providing an appropriate warning code and
4854                                        warning message
4855    </p>
4856    </blockquote>
4857                                
4858    
4859  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4860                                    </p>
4861    <blockquote class="text">
4862    <p>in case it failed, providing an appropriate error code and error message
4863    </p>
4864    </blockquote>
4865                                
4866    
4867    </blockquote><p>
4868                        
4869  </p>  </p>
4870  <p></p>  <p>Examples:
4871    </p>
4872    <p>
4873                            </p>
4874  <blockquote class="text">  <blockquote class="text">
4875  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>
4876    </p>
4877    </blockquote><p>
4878                        
4879    </p>
4880    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4881    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4882    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4883    Assigning a MIDI instrument map to a sampler channel</h3>
4884    
4885    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
4886                        by sending the following command:
4887    </p>
4888    <p>
4889                            </p>
4890    <blockquote class="text">
4891    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
4892    </p>
4893    </blockquote><p>
4894                        
4895    </p>
4896    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4897                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4898                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4899                        &lt;map&gt; can have the following possibilites:
4900    </p>
4901    <p>
4902                            </p>
4903    <blockquote class="text">
4904    <p>"NONE" -
4905                                    </p>
4906    <blockquote class="text">
4907    <p>This is the default setting. In this case
4908                                        the sampler channel is not assigned any MIDI
4909                                        instrument map and thus will ignore all MIDI
4910                                        program change messages.
4911    </p>
4912    </blockquote>
4913                                
4914    
4915    <p>"DEFAULT" -
4916                                    </p>
4917    <blockquote class="text">
4918    <p>The sampler channel will always use the
4919                                        default MIDI instrument map to handle MIDI
4920                                        program change messages.
4921    </p>
4922    </blockquote>
4923                                
4924    
4925    <p>numeric ID -
4926                                    </p>
4927    <blockquote class="text">
4928    <p>You can assign a specific MIDI instrument map
4929                                        by replacing &lt;map&gt; with the respective numeric
4930                                        ID of the MIDI instrument map as returned by the
4931                                        <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
4932                                        command. Once that map will be deleted, the sampler
4933                                        channel would fall back to "NONE".
4934    </p>
4935    </blockquote>
4936                                
4937    
4938    </blockquote><p>
4939                        
4940    </p>
4941    <p>Read chapter <a class='info' href='#MIDI Instrument Mapping'>"MIDI Instrument Mapping"<span> (</span><span class='info'>MIDI Instrument Mapping</span><span>)</span></a>
4942                        for details regarding MIDI instrument mapping.
4943    </p>
4944    <p>Possible Answers:
4945    </p>
4946    <p>
4947                            </p>
4948    <blockquote class="text">
4949    <p>"OK" -
4950                                    </p>
4951    <blockquote class="text">
4952    <p>on success
4953    </p>
4954    </blockquote>
4955                                
4956    
4957    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4958                                    </p>
4959    <blockquote class="text">
4960    <p>in case it failed, providing an appropriate error code and error message
4961    </p>
4962    </blockquote>
4963                                
4964    
4965    </blockquote><p>
4966                        
4967    </p>
4968    <p>Examples:
4969    </p>
4970    <p>
4971                            </p>
4972    <blockquote class="text">
4973    <p>
4974    </p>
4975    </blockquote><p>
4976                        
4977    </p>
4978    <a name="CREATE FX_SEND"></a><br /><hr />
4979    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4980    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
4981    Adding an effect send to a sampler channel</h3>
4982    
4983    <p>The front-end can create an additional effect send on a specific sampler channel
4984                        by sending the following command:
4985    </p>
4986    <p>
4987                            </p>
4988    <blockquote class="text">
4989    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
4990    </p>
4991    </blockquote><p>
4992                        
4993    </p>
4994    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4995                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4996                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, that is the
4997                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
4998                        is a number between 0..127 defining the MIDI controller which can alter the
4999                        effect send level and &lt;name&gt; is an optional argument defining a name
5000                        for the effect send entity. The name does not have to be unique.
5001    </p>
5002    <p>By default, that is as initial routing, the effect send's audio channels
5003                        are automatically routed to the last audio channels of the sampler channel's
5004                        audio output device, that way you can i.e. first increase the amount of audio
5005                        channels on the audio output device for having dedicated effect send output
5006                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5007                        be picked. You can alter the destination channels however with
5008                        <a class='info' href='#SET FX_SEND AUDIO_OUTPUT_CHANNEL'>"SET FX_SEND AUDIO_OUTPUT_CHANNEL"<span> (</span><span class='info'>Altering effect send's audio routing</span><span>)</span></a>.
5009                        
5010    </p>
5011    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5012                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5013                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5014                        the voices and route the audio signal afterwards to the master outputs and effect send
5015                        outputs (along with their respective effect send levels). A sampler channel without effect
5016                        sends however can mix its voices directly into the audio output devices's audio buffers
5017                        and is thus faster.
5018                        
5019    </p>
5020    <p>Possible Answers:
5021    </p>
5022    <p>
5023                            </p>
5024    <blockquote class="text">
5025    <p>"OK[&lt;fx-send-id&gt;]" -
5026                                    </p>
5027    <blockquote class="text">
5028    <p>in case a new effect send could be added to the
5029                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5030                                        unique ID of the newly created effect send entity
5031    </p>
5032    </blockquote>
5033                                
5034    
5035    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5036                                    </p>
5037    <blockquote class="text">
5038    <p>when a new effect send could not be added, i.e.
5039                                        due to invalid parameters
5040    </p>
5041    </blockquote>
5042                                
5043    
5044    </blockquote><p>
5045                        
5046    </p>
5047    <p>Examples:
5048    </p>
5049    <p>
5050                            </p>
5051    <blockquote class="text">
5052    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5053    </p>
5054    <p>S: "OK[0]"
5055    </p>
5056    </blockquote><p>
5057                        
5058    </p>
5059    <p>
5060                            </p>
5061    <blockquote class="text">
5062    <p>C: "CREATE FX_SEND 0 93"
5063    </p>
5064    <p>S: "OK[1]"
5065    </p>
5066    </blockquote><p>
5067                        
5068    </p>
5069    <a name="DESTROY FX_SEND"></a><br /><hr />
5070    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5071    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5072    Removing an effect send from a sampler channel</h3>
5073    
5074    <p>The front-end can remove an existing effect send on a specific sampler channel
5075                        by sending the following command:
5076    </p>
5077    <p>
5078                            </p>
5079    <blockquote class="text">
5080    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5081    </p>
5082    </blockquote><p>
5083                        
5084    </p>
5085    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5086                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5087                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, that is the
5088                        sampler channel from which the effect send should be removed from and
5089                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5090                        <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5091                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command.
5092    </p>
5093    <p>Possible Answers:
5094    </p>
5095    <p>
5096                            </p>
5097    <blockquote class="text">
5098    <p>"OK" -
5099                                    </p>
5100    <blockquote class="text">
5101    <p>on success
5102  </p>  </p>
5103  </blockquote>  </blockquote>
5104                                
5105    
5106    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5107                                    </p>
5108    <blockquote class="text">
5109    <p>in case it failed, providing an appropriate error code and
5110                                        error message
5111    </p>
5112    </blockquote>
5113                                
5114    
5115    </blockquote><p>
5116                        
5117    </p>
5118    <p>Example:
5119    </p>
5120    <p>
5121                            </p>
5122    <blockquote class="text">
5123    <p>C: "DESTROY FX_SEND 0 0"
5124    </p>
5125    <p>S: "OK"
5126    </p>
5127    </blockquote><p>
5128                        
5129    </p>
5130    <a name="GET FX_SENDS"></a><br /><hr />
5131    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5132    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5133    Getting amount of effect sends on a sampler channel</h3>
5134    
5135    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5136                        by sending the following command:
5137    </p>
5138    <p>
5139                            </p>
5140    <blockquote class="text">
5141    <p>GET FX_SENDS &lt;sampler-channel&gt;
5142    </p>
5143    </blockquote><p>
5144                        
5145    </p>
5146    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5147                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5148                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
5149    </p>
5150    <p>Possible Answers:
5151    </p>
5152    <p>
5153                            </p>
5154    <blockquote class="text">
5155    <p>The sampler will answer by returning the number of effect
5156                                sends on the given sampler channel.
5157    </p>
5158    </blockquote><p>
5159                        
5160    </p>
5161    <p>Example:
5162    </p>
5163    <p>
5164                            </p>
5165    <blockquote class="text">
5166    <p>C: "GET FX_SENDS 0"
5167    </p>
5168    <p>S: "2"
5169    </p>
5170    </blockquote><p>
5171                        
5172    </p>
5173    <a name="LIST FX_SENDS"></a><br /><hr />
5174    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5175    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5176    Listing all effect sends on a sampler channel</h3>
5177    
5178    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5179                        by sending the following command:
5180    </p>
5181    <p>
5182                            </p>
5183    <blockquote class="text">
5184    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5185    </p>
5186    </blockquote><p>
5187                        
5188    </p>
5189    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5190                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5191                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
5192    </p>
5193    <p>Possible Answers:
5194    </p>
5195    <p>
5196                            </p>
5197    <blockquote class="text">
5198    <p>The sampler will answer by returning a comma separated list
5199                                with all effect sends' numerical IDs on the given sampler
5200                                channel.
5201    </p>
5202    </blockquote><p>
5203                        
5204    </p>
5205    <p>Examples:
5206    </p>
5207    <p>
5208                            </p>
5209    <blockquote class="text">
5210    <p>C: "LIST FX_SENDS 0"
5211    </p>
5212    <p>S: "0,1"
5213    </p>
5214    </blockquote><p>
5215                        
5216    </p>
5217    <p>
5218                            </p>
5219    <blockquote class="text">
5220    <p>C: "LIST FX_SENDS 1"
5221    </p>
5222    <p>S: ""
5223    </p>
5224    </blockquote><p>
5225                        
5226    </p>
5227    <a name="GET FX_SEND INFO"></a><br /><hr />
5228    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5229    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5230    Getting effect send information</h3>
5231    
5232    <p>The front-end can ask for the current settings of an effect send entity
5233                        by sending the following command:
5234    </p>
5235    <p>
5236                            </p>
5237    <blockquote class="text">
5238    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5239    </p>
5240    </blockquote><p>
5241                        
5242    </p>
5243    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5244                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5245                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
5246                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5247                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5248                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command.
5249                      
5250    </p>
5251    <p>Possible Answers:
5252    </p>
5253    <p>
5254                            </p>
5255    <blockquote class="text">
5256    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5257                                Each answer line begins with the settings category name
5258                                followed by a colon and then a space character &lt;SP&gt; and finally
5259                                the info character string to that setting category. At the
5260                                moment the following categories are defined:
5261    </p>
5262    <p>
5263                                    </p>
5264    <blockquote class="text">
5265    <p>NAME -
5266                                            </p>
5267    <blockquote class="text">
5268    <p>name of the effect send entity
5269    </p>
5270    </blockquote>
5271                                        
5272    
5273    <p>MIDI_CONTROLLER -
5274                                            </p>
5275    <blockquote class="text">
5276    <p>a value between 0 and 127 reflecting the MIDI controller
5277                                                which is able to modify the effect send's send level
5278    </p>
5279    </blockquote>
5280                                        
5281    
5282    <p>LEVEL -
5283                                            </p>
5284    <blockquote class="text">
5285    <p>optionally dotted number reflecting the effect send's
5286                                                current send level (where a value &lt; 1.0 means attenuation
5287                                                and a value > 1.0 means amplification)
5288    </p>
5289    </blockquote>
5290                                        
5291    
5292    <p>AUDIO_OUTPUT_ROUTING -
5293                                            </p>
5294    <blockquote class="text">
5295    <p>comma separated list which reflects to which audio
5296                                                channel of the selected audio output device each
5297                                                effect send output channel is routed to, e.g. "0,3" would
5298                                                mean the effect send's output channel 0 is routed to channel
5299                                                0 of the audio output device and the effect send's output
5300                                                channel 1 is routed to the channel 3 of the audio
5301                                                output device (see
5302                                                <a class='info' href='#SET FX_SEND AUDIO_OUTPUT_CHANNEL'>"SET FX_SEND AUDIO_OUTPUT_CHANNEL"<span> (</span><span class='info'>Altering effect send's audio routing</span><span>)</span></a>
5303                                                for details)
5304    </p>
5305    </blockquote>
5306                                        
5307    
5308    </blockquote>
5309                                
5310    
5311    </blockquote><p>
5312                        
5313    </p>
5314    <p>The mentioned fields above don't have to be in particular order.
5315    </p>
5316    <p>Example:
5317    </p>
5318    <p>
5319                            </p>
5320    <blockquote class="text">
5321    <p>C: "GET FX_SEND INFO 0 0"
5322    </p>
5323    <p>S: "NAME: Reverb Send"
5324    </p>
5325    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5326    </p>
5327    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5328    </p>
5329    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5330    </p>
5331    <p>&nbsp;&nbsp;&nbsp;"."
5332    </p>
5333    </blockquote><p>
5334                        
5335    </p>
5336    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5337    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5338    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5339    Altering effect send's audio routing</h3>
5340    
5341    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5342                        sampler channel by sending the following command:
5343    </p>
5344    <p>
5345                            </p>
5346    <blockquote class="text">
5347    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5348    </p>
5349    </blockquote><p>
5350                        
5351    </p>
5352    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5353                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5354                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5355                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5356                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5357                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command,
5358                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5359                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5360                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5361                        should be routed to.
5362    </p>
5363    <p>Note that effect sends can only route audio to the same audio output
5364                        device as assigned to the effect send's sampler channel. Also note that an
5365                        effect send entity does always have exactly as much audio channels as its
5366                        sampler channel. So if the sampler channel is stereo, the effect send does
5367                        have two audio channels as well. Also keep in mind that the amount of audio
5368                        channels on a sampler channel might be dependant not only to the deployed
5369                        sampler engine on the sampler channel, but also dependant to the instrument
5370                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5371                        send into a mono one by simply altering its audio routing appropriately.
5372    </p>
5373    <p>Possible Answers:
5374    </p>
5375    <p>
5376                            </p>
5377    <blockquote class="text">
5378    <p>"OK" -
5379                                    </p>
5380    <blockquote class="text">
5381    <p>on success
5382    </p>
5383    </blockquote>
5384                                
5385    
5386    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5387                                    </p>
5388    <blockquote class="text">
5389    <p>if audio output channel was set, but there are noteworthy
5390                                        issue(s) related, providing an appropriate warning code and
5391                                        warning message
5392    </p>
5393    </blockquote>
5394                                
5395    
5396    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5397                                    </p>
5398    <blockquote class="text">
5399    <p>in case it failed, providing an appropriate error code and error message
5400    </p>
5401    </blockquote>
5402                                
5403    
5404    </blockquote><p>
5405                        
5406    </p>
5407    <p>Example:
5408    </p>
5409    <p>
5410                            </p>
5411    <blockquote class="text">
5412    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5413    </p>
5414    <p>S: "OK"
5415    </p>
5416    </blockquote><p>
5417                        
5418    </p>
5419    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5420    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5421    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5422    Altering effect send's MIDI controller</h3>
5423    
5424    <p>The front-end can alter the MIDI controller of an effect
5425                        send entity by sending the following command:
5426    </p>
5427    <p>
5428                            </p>
5429    <blockquote class="text">
5430    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5431    </p>
5432    </blockquote><p>
5433                        
5434    </p>
5435    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5436                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5437                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5438                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5439                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5440                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5441                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5442                        able to modify the effect send's send level.
5443    </p>
5444    <p>Possible Answers:
5445    </p>
5446    <p>
5447                            </p>
5448    <blockquote class="text">
5449    <p>"OK" -
5450                                    </p>
5451    <blockquote class="text">
5452    <p>on success
5453    </p>
5454    </blockquote>
5455                                
5456    
5457    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5458                                    </p>
5459    <blockquote class="text">
5460    <p>if MIDI controller was set, but there are noteworthy
5461                                        issue(s) related, providing an appropriate warning code and
5462                                        warning message
5463    </p>
5464    </blockquote>
5465                                
5466    
5467    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5468                                    </p>
5469    <blockquote class="text">
5470    <p>in case it failed, providing an appropriate error code and error message
5471    </p>
5472    </blockquote>
5473                                
5474    
5475    </blockquote><p>
5476                        
5477    </p>
5478    <p>Example:
5479    </p>
5480    <p>
5481                            </p>
5482    <blockquote class="text">
5483    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5484    </p>
5485    <p>S: "OK"
5486    </p>
5487    </blockquote><p>
5488                        
5489    </p>
5490    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5491    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5492    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5493    Altering effect send's send level</h3>
5494    
5495    <p>The front-end can alter the current send level of an effect
5496                        send entity by sending the following command:
5497    </p>
5498    <p>
5499                            </p>
5500    <blockquote class="text">
5501    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5502    </p>
5503    </blockquote><p>
5504                        
5505    </p>
5506    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5507                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5508                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5509                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5510                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5511                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5512                        &lt;volume&gt; is an optionally dotted positive number (a value
5513                        smaller than 1.0 means attenuation, whereas a value greater than
5514                        1.0 means amplification) reflecting the new send level.
5515    </p>
5516    <p>Possible Answers:
5517    </p>
5518    <p>
5519                            </p>
5520    <blockquote class="text">
5521    <p>"OK" -
5522                                    </p>
5523    <blockquote class="text">
5524    <p>on success
5525    </p>
5526    </blockquote>
5527                                
5528    
5529    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5530                                    </p>
5531    <blockquote class="text">
5532    <p>if new send level was set, but there are noteworthy
5533                                        issue(s) related, providing an appropriate warning code and
5534                                        warning message
5535    </p>
5536    </blockquote>
5537                                
5538    
5539    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5540                                    </p>
5541    <blockquote class="text">
5542    <p>in case it failed, providing an appropriate error code and error message
5543    </p>
5544    </blockquote>
5545                                
5546    
5547    </blockquote><p>
5548                        
5549    </p>
5550    <p>Example:
5551    </p>
5552    <p>
5553                            </p>
5554    <blockquote class="text">
5555    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5556    </p>
5557    <p>S: "OK"
5558    </p>
5559    </blockquote><p>
5560                        
5561    </p>
5562    <a name="RESET CHANNEL"></a><br /><hr />
5563    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5564    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5565    Resetting a sampler channel</h3>
5566    
5567    <p>The front-end can reset a particular sampler channel by sending the following command:
5568    </p>
5569    <p>
5570                            </p>
5571    <blockquote class="text">
5572    <p>RESET CHANNEL &lt;sampler-channel&gt;
5573    </p>
5574    </blockquote><p>
5575                        
5576    </p>
5577  <p>  <p>
5578                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
5579                      This will cause the engine on that sampler channel, its voices and                      This will cause the engine on that sampler channel, its voices and
# Line 3837  Intellectual Property and Copyright Stat Line 5582  Intellectual Property and Copyright Stat
5582  </p>  </p>
5583  <p>Possible Answers:  <p>Possible Answers:
5584  </p>  </p>
5585  <p></p>  <p>
5586                            </p>
5587  <blockquote class="text">  <blockquote class="text">
5588  <p>"OK" -  <p>"OK" -
5589                                  </p>                                  </p>
# Line 3845  Intellectual Property and Copyright Stat Line 5591  Intellectual Property and Copyright Stat
5591  <p>on success  <p>on success
5592  </p>  </p>
5593  </blockquote>  </blockquote>
5594                                
5595    
5596  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5597                                  </p>                                  </p>
# Line 3854  Intellectual Property and Copyright Stat Line 5601  Intellectual Property and Copyright Stat
5601                                      message                                      message
5602  </p>  </p>
5603  </blockquote>  </blockquote>
5604                                
5605    
5606  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5607                                  </p>                                  </p>
# Line 3862  Intellectual Property and Copyright Stat Line 5610  Intellectual Property and Copyright Stat
5610                                      error message                                      error message
5611  </p>  </p>
5612  </blockquote>  </blockquote>
5613                                
5614    
5615  </blockquote>  </blockquote><p>
5616                        
5617    </p>
5618  <p>Examples:  <p>Examples:
5619  </p>  </p>
5620  <p></p>  <p>
5621                            </p>
5622  <blockquote class="text">  <blockquote class="text">
5623  <p>  <p>
5624  </p>  </p>
5625  </blockquote>  </blockquote><p>
5626                        
5627  <a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a>&nbsp;Controlling connection</h4>  </p>
5628    <a name="anchor12"></a><br /><hr />
5629    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5630    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5631    Controlling connection</h3>
5632    
5633  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5634  </p>  </p>
5635  <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="SUBSCRIBE"></a><br /><hr />
5636    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5637    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5638    Register front-end for receiving event messages</h3>
5639    
5640  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5641                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
5642  </p>  </p>
5643  <p></p>  <p>
5644                            </p>
5645  <blockquote class="text">  <blockquote class="text">
5646  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
5647  </p>  </p>
5648  </blockquote>  </blockquote><p>
5649                        
5650    </p>
5651  <p>where &lt;event-id&gt; will be replaced by the respective event that  <p>where &lt;event-id&gt; will be replaced by the respective event that
5652                      client wants to subscribe to.                      client wants to subscribe to.
5653  </p>  </p>
5654  <p>Possible Answers:  <p>Possible Answers:
5655  </p>  </p>
5656  <p></p>  <p>
5657                            </p>
5658  <blockquote class="text">  <blockquote class="text">
5659  <p>"OK" -  <p>"OK" -
5660                                  </p>                                  </p>
# Line 3901  Intellectual Property and Copyright Stat Line 5662  Intellectual Property and Copyright Stat
5662  <p>on success  <p>on success
5663  </p>  </p>
5664  </blockquote>  </blockquote>
5665                                
5666    
5667  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5668                                  </p>                                  </p>
# Line 3910  Intellectual Property and Copyright Stat Line 5672  Intellectual Property and Copyright Stat
5672                                      warning message                                      warning message
5673  </p>  </p>
5674  </blockquote>  </blockquote>
5675                                
5676    
5677  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5678                                  </p>                                  </p>
# Line 3918  Intellectual Property and Copyright Stat Line 5681  Intellectual Property and Copyright Stat
5681                                      error message                                      error message
5682  </p>  </p>
5683  </blockquote>  </blockquote>
5684                                
5685    
5686  </blockquote>  </blockquote><p>
5687                        
5688    </p>
5689  <p>Examples:  <p>Examples:
5690  </p>  </p>
5691  <p></p>  <p>
5692                            </p>
5693  <blockquote class="text">  <blockquote class="text">
5694  <p>  <p>
5695  </p>  </p>
5696  </blockquote>  </blockquote><p>
5697                        
5698  <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>  </p>
5699    <a name="UNSUBSCRIBE"></a><br /><hr />
5700    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5701    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5702    Unregister front-end for not receiving event messages</h3>
5703    
5704  <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
5705                      messages anymore by sending the following command:                      messages anymore by sending the following command:
5706  </p>  </p>
5707  <p></p>  <p>
5708                            </p>
5709  <blockquote class="text">  <blockquote class="text">
5710  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
5711  </p>  </p>
5712  </blockquote>  </blockquote><p>
5713                        
5714    </p>
5715  <p>Where &lt;event-id&gt; will be replaced by the respective event that  <p>Where &lt;event-id&gt; will be replaced by the respective event that
5716                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
5717  </p>  </p>
5718  <p>Possible Answers:  <p>Possible Answers:
5719  </p>  </p>
5720  <p></p>  <p>
5721                            </p>
5722  <blockquote class="text">  <blockquote class="text">
5723  <p>"OK" -  <p>"OK" -
5724                                  </p>                                  </p>
# Line 3953  Intellectual Property and Copyright Stat Line 5726  Intellectual Property and Copyright Stat
5726  <p>on success  <p>on success
5727  </p>  </p>
5728  </blockquote>  </blockquote>
5729                                
5730    
5731  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5732                                  </p>                                  </p>
# Line 3962  Intellectual Property and Copyright Stat Line 5736  Intellectual Property and Copyright Stat
5736                                      warning message                                      warning message
5737  </p>  </p>
5738  </blockquote>  </blockquote>
5739                                
5740    
5741  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5742                                  </p>                                  </p>
# Line 3970  Intellectual Property and Copyright Stat Line 5745  Intellectual Property and Copyright Stat
5745                                      error message                                      error message
5746  </p>  </p>
5747  </blockquote>  </blockquote>
5748                                
5749    
5750  </blockquote>  </blockquote><p>
5751                        
5752    </p>
5753  <p>Examples:  <p>Examples:
5754  </p>  </p>
5755  <p></p>  <p>
5756                            </p>
5757  <blockquote class="text">  <blockquote class="text">
5758  <p>  <p>
5759  </p>  </p>
5760  </blockquote>  </blockquote><p>
5761                        
5762  <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>  </p>
5763    <a name="SET ECHO"></a><br /><hr />
5764    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5765    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
5766    Enable or disable echo of commands</h3>
5767    
5768  <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:
5769  </p>  </p>
5770  <p></p>  <p>
5771                            </p>
5772  <blockquote class="text">  <blockquote class="text">
5773  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
5774  </p>  </p>
5775  </blockquote>  </blockquote><p>
5776                        
5777    </p>
5778  <p>Where &lt;value&gt; should be replaced either by "1" to enable echo mode  <p>Where &lt;value&gt; should be replaced either by "1" to enable echo mode
5779                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
5780                      commands send to LinuxSampler will be immediately send back and                      commands send to LinuxSampler will be immediately send back and
# Line 4001  Intellectual Property and Copyright Stat Line 5785  Intellectual Property and Copyright Stat
5785  </p>  </p>
5786  <p>Possible Answers:  <p>Possible Answers:
5787  </p>  </p>
5788  <p></p>  <p>
5789                            </p>
5790  <blockquote class="text">  <blockquote class="text">
5791  <p>"OK" -  <p>"OK" -
5792                                  </p>                                  </p>
# Line 4009  Intellectual Property and Copyright Stat Line 5794  Intellectual Property and Copyright Stat
5794  <p>usually  <p>usually
5795  </p>  </p>
5796  </blockquote>  </blockquote>
5797                                
5798    
5799  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5800                                  </p>                                  </p>
# Line 4016  Intellectual Property and Copyright Stat Line 5802  Intellectual Property and Copyright Stat
5802  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
5803  </p>  </p>
5804  </blockquote>  </blockquote>
5805                                
5806    
5807  </blockquote>  </blockquote><p>
5808                        
5809    </p>
5810  <p>Examples:  <p>Examples:
5811  </p>  </p>
5812  <p></p>  <p>
5813                            </p>
5814  <blockquote class="text">  <blockquote class="text">
5815  <p>  <p>
5816  </p>  </p>
5817  </blockquote>  </blockquote><p>
5818                        
5819  <a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a>&nbsp;Close client connection</h4>  </p>
5820    <a name="QUIT"></a><br /><hr />
5821    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5822    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
5823    Close client connection</h3>
5824    
5825  <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:
5826  </p>  </p>
5827  <p></p>  <p>
5828                            </p>
5829  <blockquote class="text">  <blockquote class="text">
5830  <p>QUIT  <p>QUIT
5831  </p>  </p>
5832  </blockquote>  </blockquote><p>
5833                        
5834    </p>
5835  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
5836                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
5837  </p>  </p>
5838  <a name="rfc.section.5.6"></a><h4><a name="anchor14">5.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
5839    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5840    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
5841    Global commands</h3>
5842    
5843  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
5844  </p>  </p>
5845  <a name="rfc.section.5.6.1"></a><h4><a name="RESET">5.6.1</a>&nbsp;Reset sampler</h4>  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
5846    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5847    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
5848    Current number of active voices</h3>
5849    
5850    <p>The front-end can ask for the current number of active voices on
5851                        the sampler by sending the following command:
5852    </p>
5853    <p>
5854                            </p>
5855    <blockquote class="text">
5856    <p>GET TOTAL_VOICE_COUNT
5857    </p>
5858    </blockquote><p>
5859                        
5860    </p>
5861    <p>Possible Answers:
5862    </p>
5863    <p>
5864                            </p>
5865    <blockquote class="text">
5866    <p>LinuxSampler will answer by returning the number of all active
5867                                voices on the sampler.
5868    </p>
5869    </blockquote><p>
5870                        
5871    </p>
5872    <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
5873    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5874    <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
5875    Maximum amount of active voices</h3>
5876    
5877    <p>The front-end can ask for the maximum number of active voices
5878                        by sending the following command:
5879    </p>
5880    <p>
5881                            </p>
5882    <blockquote class="text">
5883    <p>GET TOTAL_VOICE_COUNT_MAX
5884    </p>
5885    </blockquote><p>
5886                        
5887    </p>
5888    <p>Possible Answers:
5889    </p>
5890    <p>
5891                            </p>
5892    <blockquote class="text">
5893    <p>LinuxSampler will answer by returning the maximum number
5894                                of active voices.
5895    </p>
5896    </blockquote><p>
5897                        
5898    </p>
5899    <a name="RESET"></a><br /><hr />
5900    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5901    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
5902    Reset sampler</h3>
5903    
5904  <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:
5905  </p>  </p>
5906  <p></p>  <p>
5907                            </p>
5908  <blockquote class="text">  <blockquote class="text">
5909  <p>RESET  <p>RESET
5910  </p>  </p>
5911    </blockquote><p>
5912                        
5913    </p>
5914    <p>Possible Answers:
5915    </p>
5916    <p>
5917                            </p>
5918    <blockquote class="text">
5919    <p>"OK" -
5920                                    </p>
5921    <blockquote class="text">
5922    <p>always
5923    </p>
5924  </blockquote>  </blockquote>
5925                                
5926    
5927    </blockquote><p>
5928                        
5929    </p>
5930    <p>Examples:
5931    </p>
5932    <p>
5933                            </p>
5934    <blockquote class="text">
5935    <p>
5936    </p>
5937    </blockquote><p>
5938                        
5939    </p>
5940    <a name="GET SERVER INFO"></a><br /><hr />
5941    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5942    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
5943    General sampler informations</h3>
5944    
5945    <p>The client can ask for general informations about the LinuxSampler
5946                           instance by sending the following command:
5947    </p>
5948    <p>
5949                            </p>
5950    <blockquote class="text">
5951    <p>GET SERVER INFO
5952    </p>
5953    </blockquote><p>
5954                        
5955    </p>
5956  <p>Possible Answers:  <p>Possible Answers:
5957  </p>  </p>
5958  <p></p>  <p>
5959                            </p>
5960    <blockquote class="text">
5961    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
5962                                   Each answer line begins with the information category name
5963                                   followed by a colon and then a space character &lt;SP&gt; and finally
5964                                   the info character string to that information category. At the
5965                                   moment the following categories are defined:
5966                                
5967    </p>
5968    <p>
5969                                    </p>
5970    <blockquote class="text">
5971    <p>DESCRIPTION -
5972                                            </p>
5973    <blockquote class="text">
5974    <p>arbitrary textual description about the sampler
5975    </p>
5976    </blockquote>
5977                                        
5978    
5979    <p>VERSION -
5980                                            </p>
5981    <blockquote class="text">
5982    <p>version of the sampler
5983    </p>
5984    </blockquote>
5985                                        
5986    
5987    <p>PROTOCOL_VERSION -
5988                                            </p>
5989    <blockquote class="text">
5990    <p>version of the LSCP specification the sampler
5991                                                complies with (see <a class='info' href='#LSCP versioning'>Section&nbsp;2<span> (</span><span class='info'>Versioning of this specification</span><span>)</span></a> for details)
5992    </p>
5993    </blockquote>
5994                                        
5995    
5996    </blockquote>
5997                                
5998    
5999    </blockquote><p>
6000                        
6001    </p>
6002    <p>The mentioned fields above don't have to be in particular order.
6003                        Other fields might be added in future.
6004    </p>
6005    <a name="GET VOLUME"></a><br /><hr />
6006    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6007    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6008    Getting global volume attenuation</h3>
6009    
6010    <p>The client can ask for the current global sampler-wide volume
6011                        attenuation by sending the following command:
6012    </p>
6013    <p>
6014                            </p>
6015    <blockquote class="text">
6016    <p>GET VOLUME
6017    </p>
6018    </blockquote><p>
6019                        
6020    </p>
6021    <p>Possible Answers:
6022    </p>
6023    <p>
6024                            </p>
6025    <blockquote class="text">
6026    <p>The sampler will always answer by returning the optional
6027                                dotted floating point coefficient, reflecting the current
6028                                global volume attenuation.
6029                                
6030    </p>
6031    </blockquote><p>
6032                        
6033    </p>
6034    <p>Note: it is up to the respective sampler engine whether to obey
6035                        that global volume parameter or not, but in general all engines SHOULD
6036                        use this parameter.
6037    </p>
6038    <a name="SET VOLUME"></a><br /><hr />
6039    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6040    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6041    Setting global volume attenuation</h3>
6042    
6043    <p>The client can alter the current global sampler-wide volume
6044                        attenuation by sending the following command:
6045    </p>
6046    <p>
6047                            </p>
6048    <blockquote class="text">
6049    <p>SET VOLUME &lt;volume&gt;
6050    </p>
6051    </blockquote><p>
6052                        
6053    </p>
6054    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6055                       floating point value, reflecting the new global volume parameter.
6056                       This value might usually be in the range between 0.0 and 1.0, that
6057                       is for attenuating the overall volume.
6058    </p>
6059    <p>Possible Answers:
6060    </p>
6061    <p>
6062                            </p>
6063  <blockquote class="text">  <blockquote class="text">
6064  <p>"OK" -  <p>"OK" -
6065                                  </p>                                  </p>
6066  <blockquote class="text">  <blockquote class="text">
6067  <p>always  <p>on success
6068    </p>
6069    </blockquote>
6070                                
6071    
6072    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6073                                    </p>
6074    <blockquote class="text">
6075    <p>if the global volume was set, but there are noteworthy
6076                                        issue(s) related, providing an appropriate warning code and
6077                                        warning message
6078    </p>
6079    </blockquote>
6080                                
6081    
6082    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6083                                    </p>
6084    <blockquote class="text">
6085    <p>in case it failed, providing an appropriate error code and error message
6086    </p>
6087    </blockquote>
6088                                
6089    
6090    </blockquote><p>
6091                        
6092    </p>
6093    <a name="MIDI Instrument Mapping"></a><br /><hr />
6094    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6095    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6096    MIDI Instrument Mapping</h3>
6097    
6098    <p>The MIDI protocol provides a way to switch between instruments
6099                    by sending so called MIDI bank select and MIDI program change
6100                    messages which are essentially just numbers. The following commands
6101                    allow to actually map arbitrary MIDI bank select / program change
6102                    numbers with real instruments.
6103    </p>
6104    <p>The sampler allows to manage an arbitrary amount of MIDI
6105                    instrument maps which define which instrument to load on
6106                    which MIDI program change message.
6107    </p>
6108    <p>By default, that is when the sampler is launched, there is no
6109                    map, thus the sampler will simply ignore all program change
6110                    messages. The front-end has to explicitly create at least one
6111                    map, add entries to the map and tell the respective sampler
6112                    channel(s) which MIDI instrument map to use, so the sampler
6113                    knows how to react on a given program change message on the
6114                    respective sampler channel, that is by switching to the
6115                    respectively defined engine type and loading the respective
6116                    instrument. See command
6117                    <a class='info' href='#SET CHANNEL MIDI_INSTRUMENT_MAP'>"SET CHANNEL MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Assigning a MIDI instrument map to a sampler channel</span><span>)</span></a>
6118                    for how to assign a MIDI instrument map to a sampler channel.
6119    </p>
6120    <p>Also note per MIDI specification a bank select message does not
6121                    cause to switch to another instrument. Instead when receiving a
6122                    bank select message the bank value will be stored and a subsequent
6123                    program change message (which may occur at any time) will finally
6124                    cause the sampler to switch to the respective instrument as
6125                    reflected by the current MIDI instrument map.
6126    </p>
6127    <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />
6128    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6129    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6130    Create a new MIDI instrument map</h3>
6131    
6132    <p>The front-end can add a new MIDI instrument map by sending
6133                        the following command:
6134    </p>
6135    <p>
6136                            </p>
6137    <blockquote class="text">
6138    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6139    </p>
6140    </blockquote><p>
6141                        
6142    </p>
6143    <p>Where &lt;name&gt; is an optional argument allowing to
6144                        assign a custom name to the new map. MIDI instrument Map
6145                        names do not have to be unique.
6146    </p>
6147    <p>Possible Answers:
6148    </p>
6149    <p>
6150                            </p>
6151    <blockquote class="text">
6152    <p>"OK[&lt;map&gt;]" -
6153                                    </p>
6154    <blockquote class="text">
6155    <p>in case a new MIDI instrument map could
6156                                        be added, where &lt;map&gt; reflects the
6157                                        unique ID of the newly created MIDI
6158                                        instrument map
6159    </p>
6160    </blockquote>
6161                                
6162    
6163    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6164                                    </p>
6165    <blockquote class="text">
6166    <p>when a new map could not be created, which
6167                                        might never occur in practice
6168    </p>
6169    </blockquote>
6170                                
6171    
6172    </blockquote><p>
6173                        
6174    </p>
6175    <p>Examples:
6176    </p>
6177    <p>
6178                            </p>
6179    <blockquote class="text">
6180    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6181    </p>
6182    <p>S: "OK[0]"
6183    </p>
6184    </blockquote><p>
6185                        
6186    </p>
6187    <p>
6188                            </p>
6189    <blockquote class="text">
6190    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6191    </p>
6192    <p>S: "OK[1]"
6193    </p>
6194    </blockquote><p>
6195                        
6196    </p>
6197    <p>
6198                            </p>
6199    <blockquote class="text">
6200    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6201    </p>
6202    <p>S: "OK[5]"
6203    </p>
6204    </blockquote><p>
6205                        
6206    </p>
6207    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6208    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6209    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6210    Delete one particular or all MIDI instrument maps</h3>
6211    
6212    <p>The front-end can delete a particular MIDI instrument map
6213                        by sending the following command:
6214    </p>
6215    <p>
6216                            </p>
6217    <blockquote class="text">
6218    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6219    </p>
6220    </blockquote><p>
6221                        
6222    </p>
6223    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6224                        as returned by the <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
6225                        command.
6226    </p>
6227    <p>The front-end can delete all MIDI instrument maps by
6228                        sending the following command:
6229    </p>
6230    <p>
6231                            </p>
6232    <blockquote class="text">
6233    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6234    </p>
6235    </blockquote><p>
6236                        
6237    </p>
6238    <p>Possible Answers:
6239    </p>
6240    <p>
6241                            </p>
6242    <blockquote class="text">
6243    <p>"OK" -
6244                                    </p>
6245    <blockquote class="text">
6246    <p>in case the map(s) could be deleted
6247    </p>
6248    </blockquote>
6249                                
6250    
6251    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6252                                    </p>
6253    <blockquote class="text">
6254    <p>when the given map does not exist
6255    </p>
6256    </blockquote>
6257                                
6258    
6259    </blockquote><p>
6260                        
6261    </p>
6262    <p>Examples:
6263    </p>
6264    <p>
6265                            </p>
6266    <blockquote class="text">
6267    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6268    </p>
6269    <p>S: "OK"
6270    </p>
6271    </blockquote><p>
6272                        
6273    </p>
6274    <p>
6275                            </p>
6276    <blockquote class="text">
6277    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6278    </p>
6279    <p>S: "OK"
6280    </p>
6281    </blockquote><p>
6282                        
6283    </p>
6284    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6285    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6286    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6287    Get amount of existing MIDI instrument maps</h3>
6288    
6289    <p>The front-end can retrieve the current amount of MIDI
6290                        instrument maps by sending the following command:
6291    </p>
6292    <p>
6293                            </p>
6294    <blockquote class="text">
6295    <p>GET MIDI_INSTRUMENT_MAPS
6296    </p>
6297    </blockquote><p>
6298                        
6299    </p>
6300    <p>Possible Answers:
6301    </p>
6302    <p>
6303                            </p>
6304    <blockquote class="text">
6305    <p>The sampler will answer by returning the current
6306                                number of MIDI instrument maps.
6307    </p>
6308    </blockquote><p>
6309                        
6310    </p>
6311    <p>Example:
6312    </p>
6313    <p>
6314                            </p>
6315    <blockquote class="text">
6316    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6317    </p>
6318    <p>S: "2"
6319    </p>
6320    </blockquote><p>
6321                        
6322    </p>
6323    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6324    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6325    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6326    Getting all created MIDI instrument maps</h3>
6327    
6328    <p>The number of MIDI instrument maps can change on runtime. To get the
6329                        current list of MIDI instrument maps, the front-end can send the
6330                        following command:
6331    </p>
6332    <p>
6333                            </p>
6334    <blockquote class="text">
6335    <p>LIST MIDI_INSTRUMENT_MAPS
6336    </p>
6337    </blockquote><p>
6338                        
6339    </p>
6340    <p>Possible Answers:
6341    </p>
6342    <p>
6343                            </p>
6344    <blockquote class="text">
6345    <p>The sampler will answer by returning a comma separated list
6346                                with all MIDI instrument maps' numerical IDs.
6347    </p>
6348    </blockquote><p>
6349                        
6350    </p>
6351    <p>Example:
6352    </p>
6353    <p>
6354                            </p>
6355    <blockquote class="text">
6356    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6357    </p>
6358    <p>S: "0,1,5,12"
6359    </p>
6360    </blockquote><p>
6361                        
6362    </p>
6363    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6364    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6365    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6366    Getting MIDI instrument map information</h3>
6367    
6368    <p>The front-end can ask for the current settings of a MIDI
6369                        instrument map by sending the following command:
6370    </p>
6371    <p>
6372                            </p>
6373    <blockquote class="text">
6374    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6375    </p>
6376    </blockquote><p>
6377                        
6378    </p>
6379    <p>Where &lt;map&gt; is the numerical ID of the map the
6380                        front-end is interested in as returned by the
6381                        <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
6382                        command.
6383    </p>
6384    <p>Possible Answers:
6385    </p>
6386    <p>
6387                            </p>
6388    <blockquote class="text">
6389    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6390                                Each answer line begins with the settings category name
6391                                followed by a colon and then a space character &lt;SP&gt; and finally
6392                                the info character string to that setting category. At the
6393                                moment the following categories are defined:
6394    </p>
6395    <p>
6396                                    </p>
6397    <blockquote class="text">
6398    <p>NAME -
6399                                            </p>
6400    <blockquote class="text">
6401    <p>custom name of the given map,
6402                                                which does not have to be unique
6403    </p>
6404    </blockquote>
6405                                        
6406    
6407    </blockquote>
6408                                
6409    
6410    </blockquote><p>
6411                        
6412    </p>
6413    <p>The mentioned fields above don't have to be in particular order.
6414    </p>
6415    <p>Example:
6416    </p>
6417    <p>
6418                            </p>
6419    <blockquote class="text">
6420    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6421    </p>
6422    <p>S: "NAME: Standard Map"
6423    </p>
6424    <p>&nbsp;&nbsp;&nbsp;"."
6425    </p>
6426    </blockquote><p>
6427                        
6428    </p>
6429    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6430    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6431    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6432    Renaming a MIDI instrument map</h3>
6433    
6434    <p>The front-end can alter the custom name of a MIDI
6435                        instrument map by sending the following command:
6436    </p>
6437    <p>
6438                            </p>
6439    <blockquote class="text">
6440    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6441    </p>
6442    </blockquote><p>
6443                        
6444    </p>
6445    <p>Where &lt;map&gt; is the numerical ID of the map and
6446                        &lt;name&gt; the new custom name of the map, which does not
6447                        have to be unique.
6448    </p>
6449    <p>Possible Answers:
6450    </p>
6451    <p>
6452                            </p>
6453    <blockquote class="text">
6454    <p>"OK" -
6455                                    </p>
6456    <blockquote class="text">
6457    <p>on success
6458  </p>  </p>
6459  </blockquote>  </blockquote>
6460                                
6461    
6462    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6463                                    </p>
6464    <blockquote class="text">
6465    <p>in case the given map does not exist
6466    </p>
6467  </blockquote>  </blockquote>
6468                                
6469    
6470    </blockquote><p>
6471                        
6472    </p>
6473    <p>Example:
6474    </p>
6475    <p>
6476                            </p>
6477    <blockquote class="text">
6478    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6479    </p>
6480    <p>S: "OK"
6481    </p>
6482    </blockquote><p>
6483                        
6484    </p>
6485    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6486    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6487    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6488    Create or replace a MIDI instrument map entry</h3>
6489    
6490    <p>The front-end can create a new or replace an existing entry
6491                        in a sampler's MIDI instrument map by sending the following
6492                        command:
6493    </p>
6494    <p>
6495                            </p>
6496    <blockquote class="text">
6497    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6498                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6499                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6500                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6501    </p>
6502    </blockquote><p>
6503                        
6504    </p>
6505    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6506                        &lt;midi_bank&gt; is an integer value between
6507                        0..16383 reflecting the MIDI bank select index,
6508                        &lt;midi_prog&gt; an
6509                        integer value between 0..127 reflecting the MIDI program change
6510                        index, &lt;engine_name&gt; a sampler engine name as returned by
6511                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6512                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6513                        of the instrument's file to be deployed (encapsulated into apostrophes),
6514                        &lt;instrument_index&gt; the index (integer value) of the instrument
6515                        within the given file, &lt;volume_value&gt; reflects the master
6516                        volume of the instrument as optionally dotted number (where a
6517                        value &lt; 1.0 means attenuation and a value > 1.0 means
6518                        amplification). This parameter easily allows to adjust the
6519                        volume of all intruments within a custom instrument map
6520                        without having to adjust their instrument files. The
6521                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6522                        time of the instrument, that is when the instrument should
6523                        be loaded, when freed and has exactly the following
6524                        possibilities:
6525    </p>
6526    <p>
6527                            </p>
6528    <blockquote class="text">
6529    <p>"ON_DEMAND" -
6530                                    </p>
6531    <blockquote class="text">
6532    <p>The instrument will be loaded when needed,
6533                                        that is when demanded by at least one sampler
6534                                        channel. It will immediately be freed from memory
6535                                        when not needed by any sampler channel anymore.
6536    </p>
6537    </blockquote>
6538                                
6539    
6540    <p>"ON_DEMAND_HOLD" -
6541                                    </p>
6542    <blockquote class="text">
6543    <p>The instrument will be loaded when needed,
6544                                        that is when demanded by at least one sampler
6545                                        channel. It will be kept in memory even when
6546                                        not needed by any sampler channel anymore.
6547                                        Instruments with this mode are only freed
6548                                        when the sampler is reset or all mapping
6549                                        entries with this mode (and respective
6550                                        instrument) are explicitly changed to
6551                                        "ON_DEMAND" and no sampler channel is using
6552                                        the instrument anymore.
6553    </p>
6554    </blockquote>
6555                                
6556    
6557    <p>"PERSISTENT" -
6558                                    </p>
6559    <blockquote class="text">
6560    <p>The instrument will immediately be loaded
6561                                        into memory when this mapping
6562                                        command is sent and the instrument is kept all
6563                                        the time. Instruments with this mode are
6564                                        only freed when the sampler is reset or all
6565                                        mapping entries with this mode (and
6566                                        respective instrument) are explicitly
6567                                        changed to "ON_DEMAND" and no sampler
6568                                        channel is using the instrument anymore.
6569    </p>
6570    </blockquote>
6571                                
6572    
6573    <p>not supplied -
6574                                    </p>
6575    <blockquote class="text">
6576    <p>In case there is no &lt;instr_load_mode&gt;
6577                                        argument given, it will be up to the
6578                                        InstrumentManager to decide which mode to use.
6579                                        Usually it will use "ON_DEMAND" if an entry
6580                                        for the given instrument does not exist in
6581                                        the InstrumentManager's list yet, otherwise
6582                                        if an entry already exists, it will simply
6583                                        stick with the mode currently reflected by
6584                                        the already existing entry, that is it will
6585                                        not change the mode.
6586    </p>
6587    </blockquote>
6588                                
6589    
6590    </blockquote><p>
6591                        
6592    </p>
6593    <p>
6594                        The &lt;instr_load_mode&gt; argument thus allows to define an
6595                        appropriate strategy (low memory consumption vs. fast
6596                        instrument switching) for each instrument individually. Note, the
6597                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6598                        "PERSISTENT" have to be supported by the respective sampler engine
6599                        (which is technically the case when the engine provides an
6600                        InstrumentManager for its format). If this is not the case the
6601                        argument will automatically fall back to the default value
6602                        "ON_DEMAND". Also the load mode of one instrument may
6603                        automatically change the laod mode of other instrument(s), i.e.
6604                        because the instruments are part of the same file and the
6605                        engine does not allow a way to manage load modes for them
6606                        individually. Due to this, in case the frontend shows the
6607                        load modes of entries, the frontend should retrieve the actual
6608                        mode by i.e. sending
6609                        <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
6610                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to
6611                        set a custom name (encapsulated into apostrophes) for the mapping
6612                        entry, useful for frontends for displaying an appropriate name for
6613                        mapped instruments (using
6614                        <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).
6615                        
6616    </p>
6617    <p>
6618                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6619                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6620                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6621                        immediately, that is to let the sampler establish the mapping in the
6622                        background. So this argument might be especially useful for mappings with
6623                        a "PERSISTENT" type, because these have to load the respective instruments
6624                        immediately and might thus block for a very long time. It is recommended
6625                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6626                        because it has the following drawbacks: as "NON_MODAL" instructions return
6627                        immediately, they may not necessarily return an error i.e. when the given
6628                        instrument file turns out to be corrupt, beside that subsequent commands
6629                        in a LSCP instruction sequence might fail, because mandatory mappings are
6630                        not yet completed.
6631                        
6632    </p>
6633    <p>Possible Answers:
6634    </p>
6635    <p>
6636                            </p>
6637    <blockquote class="text">
6638    <p>"OK" -
6639                                    </p>
6640    <blockquote class="text">
6641    <p>usually
6642    </p>
6643    </blockquote>
6644                                
6645    
6646    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6647                                    </p>
6648    <blockquote class="text">
6649    <p>when the given map or engine does not exist or a value
6650                                        is out of range
6651    </p>
6652    </blockquote>
6653                                
6654    
6655    </blockquote><p>
6656                        
6657    </p>
6658  <p>Examples:  <p>Examples:
6659  </p>  </p>
6660  <p></p>  <p>
6661                            </p>
6662    <blockquote class="text">
6663    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6664    </p>
6665    <p>S: "OK"
6666    </p>
6667    </blockquote><p>
6668                        
6669    </p>
6670    <p>
6671                            </p>
6672    <blockquote class="text">
6673    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6674    </p>
6675    <p>S: "OK"
6676    </p>
6677    </blockquote><p>
6678                        
6679    </p>
6680    <p>
6681                            </p>
6682    <blockquote class="text">
6683    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6684    </p>
6685    <p>S: "OK"
6686    </p>
6687    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6688    </p>
6689    <p>S: "OK"
6690    </p>
6691    </blockquote><p>
6692                        
6693    </p>
6694    <p>
6695                            </p>
6696    <blockquote class="text">
6697    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6698    </p>
6699    <p>S: "OK"
6700    </p>
6701    </blockquote><p>
6702                        
6703    </p>
6704    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6705    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6706    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6707    Getting ammount of MIDI instrument map entries</h3>
6708    
6709    <p>The front-end can query the amount of currently existing
6710                        entries in a MIDI instrument map by sending the following
6711                        command:
6712    </p>
6713    <p>
6714                            </p>
6715    <blockquote class="text">
6716    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6717    </p>
6718    </blockquote><p>
6719                        
6720    </p>
6721    <p>The front-end can query the amount of currently existing
6722                        entries in all MIDI instrument maps by sending the following
6723                        command:
6724    </p>
6725    <p>
6726                            </p>
6727    <blockquote class="text">
6728    <p>GET MIDI_INSTRUMENTS ALL
6729    </p>
6730    </blockquote><p>
6731                        
6732    </p>
6733    <p>Possible Answers:
6734    </p>
6735    <p>
6736                            </p>
6737    <blockquote class="text">
6738    <p>The sampler will answer by sending the current number of
6739                                entries in the MIDI instrument map(s).
6740    </p>
6741    </blockquote><p>
6742                        
6743    </p>
6744    <p>Example:
6745    </p>
6746    <p>
6747                            </p>
6748    <blockquote class="text">
6749    <p>C: "GET MIDI_INSTRUMENTS 0"
6750    </p>
6751    <p>S: "234"
6752    </p>
6753    </blockquote><p>
6754                        
6755    </p>
6756    <p>
6757                            </p>
6758    <blockquote class="text">
6759    <p>C: "GET MIDI_INSTRUMENTS ALL"
6760    </p>
6761    <p>S: "954"
6762    </p>
6763    </blockquote><p>
6764                        
6765    </p>
6766    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
6767    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6768    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
6769    Getting indeces of all entries of a MIDI instrument map</h3>
6770    
6771    <p>The front-end can query a list of all currently existing
6772                        entries in a certain MIDI instrument map by sending the following
6773                        command:
6774    </p>
6775    <p>
6776                            </p>
6777    <blockquote class="text">
6778    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
6779    </p>
6780    </blockquote><p>
6781                        
6782    </p>
6783    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
6784    </p>
6785    <p>The front-end can query a list of all currently existing
6786                        entries of all MIDI instrument maps by sending the following
6787                        command:
6788    </p>
6789    <p>
6790                            </p>
6791    <blockquote class="text">
6792    <p>LIST MIDI_INSTRUMENTS ALL
6793    </p>
6794    </blockquote><p>
6795                        
6796    </p>
6797    <p>Possible Answers:
6798    </p>
6799    <p>
6800                            </p>
6801    <blockquote class="text">
6802    <p>The sampler will answer by sending a comma separated
6803                                list of map ID - MIDI bank - MIDI program triples, where
6804                                each triple is encapsulated into curly braces. The
6805                                list is returned in one single line. Each triple
6806                                just reflects the key of the respective map entry,
6807                                thus subsequent
6808                                <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
6809                                command(s) are necessary to retrieve detailed informations
6810                                about each entry.
6811    </p>
6812    </blockquote><p>
6813                        
6814    </p>
6815    <p>Example:
6816    </p>
6817    <p>
6818                            </p>
6819    <blockquote class="text">
6820    <p>C: "LIST MIDI_INSTRUMENTS 0"
6821    </p>
6822    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
6823    </p>
6824    </blockquote><p>
6825                        
6826    </p>
6827    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
6828    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6829    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
6830    Remove an entry from the MIDI instrument map</h3>
6831    
6832    <p>The front-end can delete an entry from a MIDI instrument
6833                        map by sending the following command:
6834    </p>
6835    <p>
6836                            </p>
6837    <blockquote class="text">
6838    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
6839    </p>
6840    </blockquote><p>
6841                        
6842    </p>
6843    <p>
6844                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
6845                        &lt;midi_bank&gt; is an integer value between 0..16383
6846                        reflecting the MIDI bank value and
6847                        &lt;midi_prog&gt; an integer value between
6848                        0..127 reflecting the MIDI program value of the map's entrie's key
6849                        index triple.
6850                        
6851    </p>
6852    <p>Possible Answers:
6853    </p>
6854    <p>
6855                            </p>
6856    <blockquote class="text">
6857    <p>"OK" -
6858                                    </p>
6859    <blockquote class="text">
6860    <p>usually
6861    </p>
6862    </blockquote>
6863                                
6864    
6865    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6866                                    </p>
6867    <blockquote class="text">
6868    <p>when index out of bounds
6869    </p>
6870    </blockquote>
6871                                
6872    
6873    </blockquote><p>
6874                        
6875    </p>
6876    <p>Example:
6877    </p>
6878    <p>
6879                            </p>
6880    <blockquote class="text">
6881    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
6882    </p>
6883    <p>S: "OK"
6884    </p>
6885    </blockquote><p>
6886                        
6887    </p>
6888    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
6889    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6890    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
6891    Get current settings of MIDI instrument map entry</h3>
6892    
6893    <p>The front-end can retrieve the current settings of a certain
6894                        instrument map entry by sending the following command:
6895    </p>
6896    <p>
6897                            </p>
6898    <blockquote class="text">
6899    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
6900    </p>
6901    </blockquote><p>
6902                        
6903    </p>
6904    <p>
6905                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
6906                        &lt;midi_bank&gt; is an integer value between 0..16383
6907                        reflecting the MIDI bank value, &lt;midi_bank&gt;
6908                        and &lt;midi_prog&gt; an integer value between
6909                        0..127 reflecting the MIDI program value of the map's entrie's key
6910                        index triple.
6911                        
6912    </p>
6913    <p>Possible Answers:
6914    </p>
6915    <p>
6916                            </p>
6917    <blockquote class="text">
6918    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
6919                                separated list. Each answer line begins with the
6920                                information category name followed by a colon and then
6921                                a space character &lt;SP&gt; and finally the info
6922                                character string to that info category. At the moment
6923                                the following categories are defined:
6924    </p>
6925    <p>"NAME" -
6926                                    </p>
6927    <blockquote class="text">
6928    <p>Name for this MIDI instrument map entry (if defined).
6929                                        This name shall be used by frontends for displaying a
6930                                        name for this mapped instrument. It can be set and
6931                                        changed with the
6932                                        <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
6933                                        command and does not have to be unique.
6934    </p>
6935    </blockquote>
6936                                
6937    
6938    <p>"ENGINE_NAME" -
6939                                    </p>
6940    <blockquote class="text">
6941    <p>Name of the engine to be deployed for this
6942                                        instrument.
6943    </p>
6944    </blockquote>
6945                                
6946    
6947    <p>"INSTRUMENT_FILE" -
6948                                    </p>
6949    <blockquote class="text">
6950    <p>File name of the instrument.
6951    </p>
6952    </blockquote>
6953                                
6954    
6955    <p>"INSTRUMENT_NR" -
6956                                    </p>
6957    <blockquote class="text">
6958    <p>Index of the instrument within the file.
6959    </p>
6960    </blockquote>
6961                                
6962    
6963    <p>"INSTRUMENT_NAME" -
6964                                    </p>
6965    <blockquote class="text">
6966    <p>Name of the loaded instrument as reflected by its file.
6967                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
6968                                        cannot be changed.
6969    </p>
6970    </blockquote>
6971                                
6972    
6973    <p>"LOAD_MODE" -
6974                                    </p>
6975    <blockquote class="text">
6976    <p>Life time of instrument
6977                                        (see <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a> for details about this setting).
6978    </p>
6979    </blockquote>
6980                                
6981    
6982    <p>"VOLUME" -
6983                                    </p>
6984    <blockquote class="text">
6985    <p>master volume of the instrument as optionally
6986                                        dotted number (where a value &lt; 1.0 means attenuation
6987                                        and a value > 1.0 means amplification)
6988    </p>
6989    </blockquote>
6990                                
6991    
6992    <p>The mentioned fields above don't have to be in particular order.
6993    </p>
6994    </blockquote><p>
6995                        
6996    </p>
6997    <p>Example:
6998    </p>
6999    <p>
7000                            </p>
7001    <blockquote class="text">
7002    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7003    </p>
7004    <p>S: "NAME: Drums for Foo Song"
7005    </p>
7006    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7007    </p>
7008    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7009    </p>
7010    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7011    </p>
7012    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7013    </p>
7014    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7015    </p>
7016    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7017    </p>
7018    <p>&nbsp;&nbsp;&nbsp;"."
7019    </p>
7020    </blockquote><p>
7021                        
7022    </p>
7023    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7024    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7025    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7026    Clear MIDI instrument map</h3>
7027    
7028    <p>The front-end can clear a whole MIDI instrument map, that
7029                        is delete all its entries by sending the following command:
7030    </p>
7031    <p>
7032                            </p>
7033  <blockquote class="text">  <blockquote class="text">
7034    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7035    </p>
7036    </blockquote><p>
7037                        
7038    </p>
7039    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7040    </p>
7041    <p>The front-end can clear all MIDI instrument maps, that
7042                        is delete all entries of all maps by sending the following
7043                        command:
7044    </p>
7045    <p>
7046                            </p>
7047    <blockquote class="text">
7048    <p>CLEAR MIDI_INSTRUMENTS ALL
7049    </p>
7050    </blockquote><p>
7051                        
7052    </p>
7053    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7054                        maps, only their entries, thus the map's settings like
7055                        custom name will be preservevd.
7056    </p>
7057    <p>Possible Answers:
7058    </p>
7059  <p>  <p>
7060                            </p>
7061    <blockquote class="text">
7062    <p>"OK" -
7063                                    </p>
7064    <blockquote class="text">
7065    <p>always
7066  </p>  </p>
7067  </blockquote>  </blockquote>
7068                                
7069    
7070    </blockquote><p>
7071                        
7072    </p>
7073    <p>Examples:
7074    </p>
7075    <p>
7076                           </p>
7077    <blockquote class="text">
7078    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7079    </p>
7080    <p>S: "OK"
7081    </p>
7082    </blockquote><p>
7083                        
7084    </p>
7085    <p>
7086                           </p>
7087    <blockquote class="text">
7088    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7089    </p>
7090    <p>S: "OK"
7091    </p>
7092    </blockquote><p>
7093                        
7094    </p>
7095  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
7096  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7097  <a name="rfc.section.6"></a><h3>6.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
7098    Command Syntax</h3>
7099    
7100    <p>The grammar of the control protocol as descibed in <a class='info' href='#control_commands'>Section&nbsp;6<span> (</span><span class='info'>Description for control commands</span><span>)</span></a>
7101                is defined below using Backus-Naur Form (BNF as described in <a class='info' href='#RFC2234'>[RFC2234]<span> (</span><span class='info'>Crocker, D. and P. Overell, &ldquo;Augmented BNF for Syntax Specifications,&rdquo; 1997.</span><span>)</span></a>)
7102                where applicable.
7103                
7104    </p>
7105    <p>input =
7106            </p>
7107    <blockquote class="text">
7108    <p>line LF
7109                    
7110    </p>
7111    <p>/ line CR LF
7112                    
7113    </p>
7114    </blockquote><p>
7115    
7116    </p>
7117    <p>line =
7118            </p>
7119    <blockquote class="text">
7120    <p>/* epsilon (empty line ignored) */
7121                    
7122    </p>
7123    <p>/ comment
7124                    
7125    </p>
7126    <p>/ command
7127                    
7128    </p>
7129    <p>/ error
7130                    
7131    </p>
7132    </blockquote><p>
7133    
7134    </p>
7135    <p>comment =
7136            </p>
7137    <blockquote class="text">
7138    <p>'#'
7139                    
7140    </p>
7141    <p>/ comment '#'
7142                    
7143    </p>
7144    <p>/ comment SP
7145                    
7146    </p>
7147    <p>/ comment number
7148                    
7149    </p>
7150    <p>/ comment string
7151                    
7152    </p>
7153    </blockquote><p>
7154    
7155    </p>
7156    <p>command =
7157            </p>
7158    <blockquote class="text">
7159    <p>ADD SP add_instruction
7160                    
7161    </p>
7162    <p>/ MAP SP map_instruction
7163                    
7164    </p>
7165    <p>/ UNMAP SP unmap_instruction
7166                    
7167    </p>
7168    <p>/ GET SP get_instruction
7169                    
7170    </p>
7171    <p>/ CREATE SP create_instruction
7172                    
7173    </p>
7174    <p>/ DESTROY SP destroy_instruction
7175                    
7176    </p>
7177    <p>/ LIST SP list_instruction
7178                    
7179    </p>
7180    <p>/ LOAD SP load_instruction
7181                    
7182    </p>
7183    <p>/ REMOVE SP remove_instruction
7184                    
7185    </p>
7186    <p>/ SET SP set_instruction
7187                    
7188    </p>
7189    <p>/ SUBSCRIBE SP subscribe_event
7190                    
7191    </p>
7192    <p>/ UNSUBSCRIBE SP unsubscribe_event
7193                    
7194    </p>
7195    <p>/ SELECT SP text
7196                    
7197    </p>
7198    <p>/ RESET SP reset_instruction
7199                    
7200    </p>
7201    <p>/ CLEAR SP clear_instruction
7202                    
7203    </p>
7204    <p>/ RESET
7205                    
7206    </p>
7207    <p>/ QUIT
7208                    
7209    </p>
7210    </blockquote><p>
7211    
7212    </p>
7213    <p>add_instruction =
7214            </p>
7215    <blockquote class="text">
7216    <p>CHANNEL
7217                    
7218    </p>
7219    <p>/ MIDI_INSTRUMENT_MAP
7220                    
7221    </p>
7222    <p>/ MIDI_INSTRUMENT_MAP SP map_name
7223                    
7224    </p>
7225    </blockquote><p>
7226    
7227    </p>
7228    <p>subscribe_event =
7229            </p>
7230    <blockquote class="text">
7231    <p>AUDIO_OUTPUT_DEVICE_COUNT
7232                    
7233    </p>
7234    <p>/ AUDIO_OUTPUT_DEVICE_INFO
7235                    
7236    </p>
7237    <p>/ MIDI_INPUT_DEVICE_COUNT
7238                    
7239    </p>
7240    <p>/ MIDI_INPUT_DEVICE_INFO
7241                    
7242    </p>
7243    <p>/ CHANNEL_COUNT
7244                    
7245    </p>
7246    <p>/ VOICE_COUNT
7247                    
7248    </p>
7249    <p>/ STREAM_COUNT
7250                    
7251    </p>
7252    <p>/ BUFFER_FILL
7253                    
7254    </p>
7255    <p>/ CHANNEL_INFO
7256                    
7257    </p>
7258    <p>/ FX_SEND_COUNT
7259                    
7260    </p>
7261    <p>/ FX_SEND_INFO
7262                    
7263    </p>
7264    <p>/ MIDI_INSTRUMENT_MAP_COUNT
7265                    
7266    </p>
7267    <p>/ MIDI_INSTRUMENT_MAP_INFO
7268                    
7269    </p>
7270    <p>/ MIDI_INSTRUMENT_COUNT
7271                    
7272    </p>
7273    <p>/ MIDI_INSTRUMENT_INFO
7274                    
7275    </p>
7276    <p>/ MISCELLANEOUS
7277                    
7278    </p>
7279    <p>/ TOTAL_VOICE_COUNT
7280                    
7281    </p>
7282    <p>/ GLOBAL_INFO
7283                    
7284    </p>
7285    </blockquote><p>
7286    
7287    </p>
7288    <p>unsubscribe_event =
7289            </p>
7290    <blockquote class="text">
7291    <p>AUDIO_OUTPUT_DEVICE_COUNT
7292                    
7293    </p>
7294    <p>/ AUDIO_OUTPUT_DEVICE_INFO
7295                    
7296    </p>
7297    <p>/ MIDI_INPUT_DEVICE_COUNT
7298                    
7299    </p>
7300    <p>/ MIDI_INPUT_DEVICE_INFO
7301                    
7302    </p>
7303    <p>/ CHANNEL_COUNT
7304                    
7305    </p>
7306    <p>/ VOICE_COUNT
7307                    
7308    </p>
7309    <p>/ STREAM_COUNT
7310                    
7311    </p>
7312    <p>/ BUFFER_FILL
7313                    
7314    </p>
7315    <p>/ CHANNEL_INFO
7316                    
7317    </p>
7318    <p>/ FX_SEND_COUNT
7319                    
7320    </p>
7321    <p>/ FX_SEND_INFO
7322                    
7323    </p>
7324    <p>/ MIDI_INSTRUMENT_MAP_COUNT
7325                    
7326    </p>
7327    <p>/ MIDI_INSTRUMENT_MAP_INFO
7328                    
7329    </p>
7330    <p>/ MIDI_INSTRUMENT_COUNT
7331                    
7332    </p>
7333    <p>/ MIDI_INSTRUMENT_INFO
7334                    
7335    </p>
7336    <p>/ MISCELLANEOUS
7337                    
7338    </p>
7339    <p>/ TOTAL_VOICE_COUNT
7340                    
7341    </p>
7342    <p>/ GLOBAL_INFO
7343                    
7344    </p>
7345    </blockquote><p>
7346    
7347    </p>
7348    <p>map_instruction =
7349            </p>
7350    <blockquote class="text">
7351    <p>MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
7352                    
7353    </p>
7354    <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
7355                    
7356    </p>
7357    <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
7358                    
7359    </p>
7360    <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
7361                    
7362    </p>
7363    </blockquote><p>
7364    
7365    </p>
7366    <p>unmap_instruction =
7367            </p>
7368    <blockquote class="text">
7369    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
7370                    
7371    </p>
7372    </blockquote><p>
7373    
7374    </p>
7375    <p>remove_instruction =
7376            </p>
7377    <blockquote class="text">
7378    <p>CHANNEL SP sampler_channel
7379                    
7380    </p>
7381    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
7382                    
7383    </p>
7384    <p>/ MIDI_INSTRUMENT_MAP SP ALL
7385                    
7386    </p>
7387    </blockquote><p>
7388    
7389    </p>
7390    <p>get_instruction =
7391            </p>
7392    <blockquote class="text">
7393    <p>AVAILABLE_ENGINES
7394                    
7395    </p>
7396    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
7397                    
7398    </p>
7399    <p>/ MIDI_INPUT_DRIVER SP INFO SP string
7400                    
7401    </p>
7402    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string
7403                    
7404    </p>
7405    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
7406                    
7407    </p>
7408    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
7409                    
7410    </p>
7411    <p>/ AUDIO_OUTPUT_DRIVER SP INFO SP string
7412                    
7413    </p>
7414    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string
7415                    
7416    </p>
7417    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
7418                    
7419    </p>
7420    <p>/ AUDIO_OUTPUT_DEVICES
7421                    
7422    </p>
7423    <p>/ MIDI_INPUT_DEVICES
7424                    
7425    </p>
7426    <p>/ AUDIO_OUTPUT_DEVICE SP INFO SP number
7427                    
7428    </p>
7429    <p>/ MIDI_INPUT_DEVICE SP INFO SP number
7430                    
7431    </p>
7432    <p>/ MIDI_INPUT_PORT SP INFO SP number SP number
7433                    
7434    </p>
7435    <p>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string
7436                    
7437    </p>
7438    <p>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number
7439                    
7440    </p>
7441    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string
7442                    
7443    </p>
7444    <p>/ CHANNELS
7445                    
7446    </p>
7447    <p>/ CHANNEL SP INFO SP sampler_channel
7448                    
7449    </p>
7450    <p>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel
7451                    
7452    </p>
7453    <p>/ CHANNEL SP STREAM_COUNT SP sampler_channel
7454                    
7455    </p>
7456    <p>/ CHANNEL SP VOICE_COUNT SP sampler_channel
7457                    
7458    </p>
7459    <p>/ ENGINE SP INFO SP engine_name
7460                    
7461    </p>
7462    <p>/ SERVER SP INFO
7463                    
7464    </p>
7465    <p>/ TOTAL_VOICE_COUNT
7466                    
7467    </p>
7468    <p>/ TOTAL_VOICE_COUNT_MAX
7469                    
7470    </p>
7471    <p>/ MIDI_INSTRUMENTS SP midi_map
7472                    
7473    </p>
7474    <p>/ MIDI_INSTRUMENTS SP ALL
7475                    
7476    </p>
7477    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
7478                    
7479    </p>
7480    <p>/ MIDI_INSTRUMENT_MAPS
7481                    
7482    </p>
7483    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
7484                    
7485    </p>
7486    <p>/ FX_SENDS SP sampler_channel
7487                    
7488    </p>
7489    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
7490                    
7491    </p>
7492    <p>/ VOLUME
7493                    
7494    </p>
7495    </blockquote><p>
7496    
7497    </p>
7498    <p>set_instruction =
7499            </p>
7500    <blockquote class="text">
7501    <p>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
7502                    
7503    </p>
7504    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list
7505                    
7506    </p>
7507    <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
7508                    
7509    </p>
7510    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
7511                    
7512    </p>
7513    <p>/ CHANNEL SP set_chan_instruction
7514                    
7515    </p>
7516    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
7517                    
7518    </p>
7519    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
7520                    
7521    </p>
7522    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
7523                    
7524    </p>
7525    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
7526                    
7527    </p>
7528    <p>/ ECHO SP boolean
7529                    
7530    </p>
7531    <p>/ VOLUME SP volume_value
7532                    
7533    </p>
7534    </blockquote><p>
7535    
7536    </p>
7537    <p>create_instruction =
7538            </p>
7539    <blockquote class="text">
7540    <p>AUDIO_OUTPUT_DEVICE SP string SP key_val_list
7541                    
7542    </p>
7543    <p>/ AUDIO_OUTPUT_DEVICE SP string
7544                    
7545    </p>
7546    <p>/ MIDI_INPUT_DEVICE SP string SP key_val_list
7547                    
7548    </p>
7549    <p>/ MIDI_INPUT_DEVICE SP string
7550                    
7551    </p>
7552    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
7553                    
7554    </p>
7555    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
7556                    
7557    </p>
7558    </blockquote><p>
7559    
7560    </p>
7561    <p>reset_instruction =
7562            </p>
7563    <blockquote class="text">
7564    <p>CHANNEL SP sampler_channel
7565                    
7566    </p>
7567    </blockquote><p>
7568    
7569    </p>
7570    <p>clear_instruction =
7571            </p>
7572    <blockquote class="text">
7573    <p>MIDI_INSTRUMENTS SP midi_map
7574                    
7575    </p>
7576    <p>/ MIDI_INSTRUMENTS SP ALL
7577                    
7578    </p>
7579    </blockquote><p>
7580    
7581    </p>
7582    <p>destroy_instruction =
7583            </p>
7584    <blockquote class="text">
7585    <p>AUDIO_OUTPUT_DEVICE SP number
7586                    
7587    </p>
7588    <p>/ MIDI_INPUT_DEVICE SP number
7589                    
7590    </p>
7591    <p>/ FX_SEND SP sampler_channel SP fx_send_id
7592                    
7593    </p>
7594    </blockquote><p>
7595    
7596    </p>
7597    <p>load_instruction =
7598            </p>
7599    <blockquote class="text">
7600    <p>INSTRUMENT SP load_instr_args
7601                    
7602    </p>
7603    <p>/ ENGINE SP load_engine_args
7604                    
7605    </p>
7606    </blockquote><p>
7607    
7608    </p>
7609    <p>set_chan_instruction =
7610            </p>
7611    <blockquote class="text">
7612    <p>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index
7613                    
7614    </p>
7615    <p>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index
7616                    
7617    </p>
7618    <p>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name
7619                    
7620    </p>
7621    <p>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index
7622                    
7623    </p>
7624    <p>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index
7625                    
7626    </p>
7627    <p>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index
7628                    
7629    </p>
7630    <p>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index
7631                    
7632    </p>
7633    <p>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name
7634                    
7635    </p>
7636    <p>/ VOLUME SP sampler_channel SP volume_value
7637                    
7638    </p>
7639    <p>/ MUTE SP sampler_channel SP boolean
7640                    
7641    </p>
7642    <p>/ SOLO SP sampler_channel SP boolean
7643                    
7644    </p>
7645    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
7646                    
7647    </p>
7648    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
7649                    
7650    </p>
7651    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
7652                    
7653    </p>
7654    </blockquote><p>
7655    
7656    </p>
7657    <p>modal_arg =
7658            </p>
7659    <blockquote class="text">
7660    <p>/* epsilon (empty argument) */
7661                    
7662    </p>
7663    <p>/ NON_MODAL SP
7664                    
7665    </p>
7666    </blockquote><p>
7667    
7668    </p>
7669    <p>key_val_list =
7670            </p>
7671    <blockquote class="text">
7672    <p>string '=' param_val_list
7673                    
7674    </p>
7675    <p>/ key_val_list SP string '=' param_val_list
7676                    
7677    </p>
7678    </blockquote><p>
7679    
7680    </p>
7681    <p>buffer_size_type =
7682            </p>
7683    <blockquote class="text">
7684    <p>BYTES
7685                    
7686    </p>
7687    <p>/ PERCENTAGE
7688                    
7689    </p>
7690    </blockquote><p>
7691    
7692    </p>
7693    <p>list_instruction =
7694            </p>
7695    <blockquote class="text">
7696    <p>AUDIO_OUTPUT_DEVICES
7697                    
7698    </p>
7699    <p>/ MIDI_INPUT_DEVICES
7700                    
7701    </p>
7702    <p>/ CHANNELS
7703                    
7704    </p>
7705    <p>/ AVAILABLE_ENGINES
7706                    
7707    </p>
7708    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
7709                    
7710    </p>
7711    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
7712                    
7713    </p>
7714    <p>/ MIDI_INSTRUMENTS SP midi_map
7715                    
7716    </p>
7717    <p>/ MIDI_INSTRUMENTS SP ALL
7718                    
7719    </p>
7720    <p>/ MIDI_INSTRUMENT_MAPS
7721                    
7722    </p>
7723    <p>/ FX_SENDS SP sampler_channel
7724                    
7725    </p>
7726    </blockquote><p>
7727    
7728    </p>
7729    <p>load_instr_args =
7730            </p>
7731    <blockquote class="text">
7732    <p>filename SP instrument_index SP sampler_channel
7733                    
7734    </p>
7735    <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
7736                    
7737    </p>
7738    </blockquote><p>
7739    
7740    </p>
7741    <p>load_engine_args =
7742            </p>
7743    <blockquote class="text">
7744    <p>engine_name SP sampler_channel
7745                    
7746    </p>
7747    </blockquote><p>
7748    
7749    </p>
7750    <p>instr_load_mode =
7751            </p>
7752    <blockquote class="text">
7753    <p>ON_DEMAND
7754                    
7755    </p>
7756    <p>/ ON_DEMAND_HOLD
7757                    
7758    </p>
7759    <p>/ PERSISTENT
7760                    
7761    </p>
7762    </blockquote><p>
7763    
7764    </p>
7765    <p>device_index =
7766            </p>
7767    <blockquote class="text">
7768    <p>number
7769                    
7770    </p>
7771    </blockquote><p>
7772    
7773    </p>
7774    <p>audio_channel_index =
7775            </p>
7776    <blockquote class="text">
7777    <p>number
7778                    
7779    </p>
7780    </blockquote><p>
7781    
7782    </p>
7783    <p>audio_output_type_name =
7784            </p>
7785    <blockquote class="text">
7786    <p>string
7787                    
7788    </p>
7789    </blockquote><p>
7790    
7791    </p>
7792    <p>midi_input_port_index =
7793            </p>
7794    <blockquote class="text">
7795    <p>number
7796                    
7797    </p>
7798    </blockquote><p>
7799    
7800    </p>
7801    <p>midi_input_channel_index =
7802            </p>
7803    <blockquote class="text">
7804    <p>number
7805                    
7806    </p>
7807    <p>/ ALL
7808                    
7809    </p>
7810    </blockquote><p>
7811    
7812    </p>
7813    <p>midi_input_type_name =
7814            </p>
7815    <blockquote class="text">
7816    <p>string
7817                    
7818    </p>
7819    </blockquote><p>
7820    
7821    </p>
7822    <p>midi_map =
7823            </p>
7824    <blockquote class="text">
7825    <p>number
7826                    
7827    </p>
7828    </blockquote><p>
7829    
7830    </p>
7831    <p>midi_bank =
7832            </p>
7833    <blockquote class="text">
7834    <p>number
7835                    
7836    </p>
7837    </blockquote><p>
7838    
7839    </p>
7840    <p>midi_prog =
7841            </p>
7842    <blockquote class="text">
7843    <p>number
7844                    
7845    </p>
7846    </blockquote><p>
7847    
7848    </p>
7849    <p>midi_ctrl =
7850            </p>
7851    <blockquote class="text">
7852    <p>number
7853                    
7854    </p>
7855    </blockquote><p>
7856    
7857    </p>
7858    <p>volume_value =
7859            </p>
7860    <blockquote class="text">
7861    <p>dotnum
7862                    
7863    </p>
7864    <p>/ number
7865                    
7866    </p>
7867    </blockquote><p>
7868    
7869    </p>
7870    <p>sampler_channel =
7871            </p>
7872    <blockquote class="text">
7873    <p>number
7874                    
7875    </p>
7876    </blockquote><p>
7877    
7878    </p>
7879    <p>instrument_index =
7880            </p>
7881    <blockquote class="text">
7882    <p>number
7883                    
7884    </p>
7885    </blockquote><p>
7886    
7887    </p>
7888    <p>fx_send_id =
7889            </p>
7890    <blockquote class="text">
7891    <p>number
7892                    
7893    </p>
7894    </blockquote><p>
7895    
7896    </p>
7897    <p>engine_name =
7898            </p>
7899    <blockquote class="text">
7900    <p>string
7901                    
7902    </p>
7903    </blockquote><p>
7904    
7905    </p>
7906    <p>filename =
7907            </p>
7908    <blockquote class="text">
7909    <p>stringval
7910                    
7911    </p>
7912    </blockquote><p>
7913    
7914    </p>
7915    <p>map_name =
7916            </p>
7917    <blockquote class="text">
7918    <p>stringval
7919                    
7920    </p>
7921    </blockquote><p>
7922    
7923    </p>
7924    <p>entry_name =
7925            </p>
7926    <blockquote class="text">
7927    <p>stringval
7928                    
7929    </p>
7930    </blockquote><p>
7931    
7932    </p>
7933    <p>fx_send_name =
7934            </p>
7935    <blockquote class="text">
7936    <p>stringval
7937                    
7938    </p>
7939    </blockquote><p>
7940    
7941    </p>
7942    <p>param_val_list =
7943            </p>
7944    <blockquote class="text">
7945    <p>param_val
7946                    
7947    </p>
7948    <p>/ param_val_list','param_val
7949                    
7950    </p>
7951    </blockquote><p>
7952    
7953    </p>
7954    <p>param_val =
7955            </p>
7956    <blockquote class="text">
7957    <p>string
7958                    
7959    </p>
7960    <p>/ stringval
7961                    
7962    </p>
7963    <p>/ number
7964                    
7965    </p>
7966    <p>/ dotnum
7967                    
7968    </p>
7969    </blockquote><p>
7970    
 <p>TODO: will soon automatically included from src/network/lscp.y,  
             meanwhile have a look at that file to get the exact definition of  
             the command syntax.  
7971  </p>  </p>
7972  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
7973  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7974  <a name="rfc.section.7"></a><h3>7.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
7975    Events</h3>
7976    
7977  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
7978  </p>  </p>
7979  <a name="rfc.section.7.1"></a><h4><a name="SUBSCRIBE CHANNEL">7.1</a>&nbsp;Number of sampler channels changed</h4>  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
7980    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7981    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
7982    Number of audio output devices changed</h3>
7983    
7984  <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 audio output devices on the
7985                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
7986  </p>  </p>
7987  <p></p>  <p>
7988                        </p>
7989  <blockquote class="text">  <blockquote class="text">
7990  <p>SUBSCRIBE CHANNELS  <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
7991  </p>  </p>
7992  </blockquote>  </blockquote><p>
7993                    
7994    </p>
7995    <p>Server will start sending the following notification messages:
7996    </p>
7997    <p>
7998                        </p>
7999    <blockquote class="text">
8000    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
8001    </p>
8002    </blockquote><p>
8003                    
8004    </p>
8005    <p>where &lt;devices&gt; will be replaced by the new number
8006                    of audio output devices.
8007    </p>
8008    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
8009    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8010    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
8011    Audio output device's settings changed</h3>
8012    
8013    <p>Client may want to be notified when changes were made to audio output devices on the
8014                    back-end by issuing the following command:
8015    </p>
8016    <p>
8017                        </p>
8018    <blockquote class="text">
8019    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
8020    </p>
8021    </blockquote><p>
8022                    
8023    </p>
8024  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8025  </p>  </p>
8026  <p></p>  <p>
8027                        </p>
8028  <blockquote class="text">  <blockquote class="text">
8029  <p>"NOTIFY:CHANNELS:&lt;channels&gt;"  <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
8030  </p>  </p>
8031  </blockquote>  </blockquote><p>
8032                    
8033    </p>
8034    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
8035                    which settings has been changed. The front-end will have to send
8036                    the respective command to actually get the audio output device info. Because these messages
8037                    will be triggered by LSCP commands issued by other clients rather than real
8038                    time events happening on the server, it is believed that an empty notification
8039                    message is sufficient here.
8040    </p>
8041    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
8042    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8043    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
8044    Number of MIDI input devices changed</h3>
8045    
8046    <p>Client may want to be notified when the total number of MIDI input devices on the
8047                    back-end changes by issuing the following command:
8048    </p>
8049    <p>
8050                        </p>
8051    <blockquote class="text">
8052    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
8053    </p>
8054    </blockquote><p>
8055                    
8056    </p>
8057    <p>Server will start sending the following notification messages:
8058    </p>
8059    <p>
8060                        </p>
8061    <blockquote class="text">
8062    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
8063    </p>
8064    </blockquote><p>
8065                    
8066    </p>
8067    <p>where &lt;devices&gt; will be replaced by the new number
8068                    of MIDI input devices.
8069    </p>
8070    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
8071    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8072    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
8073    MIDI input device's settings changed</h3>
8074    
8075    <p>Client may want to be notified when changes were made to MIDI input devices on the
8076                    back-end by issuing the following command:
8077    </p>
8078    <p>
8079                        </p>
8080    <blockquote class="text">
8081    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
8082    </p>
8083    </blockquote><p>
8084                    
8085    </p>
8086    <p>Server will start sending the following notification messages:
8087    </p>
8088    <p>
8089                        </p>
8090    <blockquote class="text">
8091    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
8092    </p>
8093    </blockquote><p>
8094                    
8095    </p>
8096    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
8097                    which settings has been changed. The front-end will have to send
8098                    the respective command to actually get the MIDI input device info. Because these messages
8099                    will be triggered by LSCP commands issued by other clients rather than real
8100                    time events happening on the server, it is believed that an empty notification
8101                    message is sufficient here.
8102    </p>
8103    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
8104    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8105    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
8106    Number of sampler channels changed</h3>
8107    
8108    <p>Client may want to be notified when the total number of channels on the
8109                    back-end changes by issuing the following command:
8110    </p>
8111    <p>
8112                        </p>
8113    <blockquote class="text">
8114    <p>SUBSCRIBE CHANNEL_COUNT
8115    </p>
8116    </blockquote><p>
8117                    
8118    </p>
8119    <p>Server will start sending the following notification messages:
8120    </p>
8121    <p>
8122                        </p>
8123    <blockquote class="text">
8124    <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
8125    </p>
8126    </blockquote><p>
8127                    
8128    </p>
8129  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
8130                  of sampler channels.                  of sampler channels.
8131  </p>  </p>
8132  <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="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
8133    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8134    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
8135    Number of active voices changed</h3>
8136    
8137  <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
8138                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
8139  </p>  </p>
8140  <p></p>  <p>
8141                        </p>
8142  <blockquote class="text">  <blockquote class="text">
8143  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
8144  </p>  </p>
8145  </blockquote>  </blockquote><p>
8146                    
8147    </p>
8148  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8149  </p>  </p>
8150  <p></p>  <p>
8151                        </p>
8152  <blockquote class="text">  <blockquote class="text">
8153  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
8154    </p>
8155    </blockquote><p>
8156                    
8157  </p>  </p>
 </blockquote>  
   
8158  <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
8159                  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
8160                  active voices on that channel.                  active voices on that channel.
8161  </p>  </p>
8162  <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="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
8163    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8164    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
8165    Number of active disk streams changed</h3>
8166    
8167  <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
8168                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
8169  </p>  </p>
8170  <p></p>  <p>
8171                        </p>
8172  <blockquote class="text">  <blockquote class="text">
8173  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
8174  </p>  </p>
8175  </blockquote>  </blockquote><p>
8176                    
8177    </p>
8178  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8179  </p>  </p>
8180  <p></p>  <p>
8181                        </p>
8182  <blockquote class="text">  <blockquote class="text">
8183  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
8184  </p>  </p>
8185  </blockquote>  </blockquote><p>
8186                    
8187    </p>
8188  <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
8189                  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
8190                  active disk streams on that channel.                  active disk streams on that channel.
8191  </p>  </p>
8192  <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="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
8193    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8194    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
8195    Disk stream buffer fill state changed</h3>
8196    
8197  <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
8198                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
8199  </p>  </p>
8200  <p></p>  <p>
8201                        </p>
8202  <blockquote class="text">  <blockquote class="text">
8203  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
8204  </p>  </p>
8205  </blockquote>  </blockquote><p>
8206                    
8207    </p>
8208  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8209  </p>  </p>
8210  <p></p>  <p>
8211                        </p>
8212  <blockquote class="text">  <blockquote class="text">
8213  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
8214  </p>  </p>
8215  </blockquote>  </blockquote><p>
8216                    
8217    </p>
8218  <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
8219                  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
8220                  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&nbsp;6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a>
8221                  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> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> command was issued on this channel.
8222  </p>  </p>
8223  <a name="rfc.section.7.5"></a><h4><a name="SUBSCRIBE INFO">7.5</a>&nbsp;Channel information changed</h4>  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
8224    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8225    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
8226    Channel information changed</h3>
8227    
8228  <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
8229                  back-end changes by issuing the following command:                  back-end by issuing the following command:
8230  </p>  </p>
8231  <p></p>  <p>
8232                        </p>
8233  <blockquote class="text">  <blockquote class="text">
8234  <p>SUBSCRIBE INFO  <p>SUBSCRIBE CHANNEL_INFO
8235    </p>
8236    </blockquote><p>
8237                    
8238  </p>  </p>
 </blockquote>  
   
8239  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8240  </p>  </p>
8241  <p></p>  <p>
8242                        </p>
8243  <blockquote class="text">  <blockquote class="text">
8244  <p>"NOTIFY:INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
8245    </p>
8246    </blockquote><p>
8247                    
8248  </p>  </p>
 </blockquote>  
   
8249  <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
8250                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
8251                  the respective command to actually get the channel info. Because these messages                  the respective command to actually get the channel info. Because these messages
# Line 4207  Intellectual Property and Copyright Stat Line 8253  Intellectual Property and Copyright Stat
8253                  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
8254                  message is sufficient here.                  message is sufficient here.
8255  </p>  </p>
8256  <a name="rfc.section.7.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;Miscellaneous and debugging events</h4>  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
8257    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8258    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
8259    Number of effect sends changed</h3>
8260    
8261    <p>Client may want to be notified when the number of effect sends on
8262                    a particular sampler channel is changed by issuing the following command:
8263    </p>
8264    <p>
8265                        </p>
8266    <blockquote class="text">
8267    <p>SUBSCRIBE FX_SEND_COUNT
8268    </p>
8269    </blockquote><p>
8270                    
8271    </p>
8272    <p>Server will start sending the following notification messages:
8273    </p>
8274    <p>
8275                        </p>
8276    <blockquote class="text">
8277    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
8278    </p>
8279    </blockquote><p>
8280                    
8281    </p>
8282    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
8283                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
8284                    be replaced by the new number of effect sends on that channel.
8285    </p>
8286    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
8287    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8288    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
8289    Effect send information changed</h3>
8290    
8291    <p>Client may want to be notified when changes were made to effect sends on a
8292                    a particular sampler channel by issuing the following command:
8293    </p>
8294    <p>
8295                        </p>
8296    <blockquote class="text">
8297    <p>SUBSCRIBE FX_SEND_INFO
8298    </p>
8299    </blockquote><p>
8300                    
8301    </p>
8302    <p>Server will start sending the following notification messages:
8303    </p>
8304    <p>
8305                        </p>
8306    <blockquote class="text">
8307    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
8308    </p>
8309    </blockquote><p>
8310                    
8311    </p>
8312    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
8313                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
8314                    be replaced by the numerical ID of the changed effect send.
8315    </p>
8316    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
8317    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8318    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
8319    Total number of active voices changed</h3>
8320    
8321    <p>Client may want to be notified when the total number of voices on the
8322                    back-end changes by issuing the following command:
8323    </p>
8324    <p>
8325                        </p>
8326    <blockquote class="text">
8327    <p>SUBSCRIBE TOTAL_VOICE_COUNT
8328    </p>
8329    </blockquote><p>
8330                    
8331    </p>
8332    <p>Server will start sending the following notification messages:
8333    </p>
8334    <p>
8335                        </p>
8336    <blockquote class="text">
8337    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
8338    </p>
8339    </blockquote><p>
8340                    
8341    </p>
8342    <p>where &lt;voices&gt; will be replaced by the new number of
8343                    all currently active voices.
8344    </p>
8345    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
8346    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8347    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
8348    Number of MIDI instrument maps changed</h3>
8349    
8350    <p>Client may want to be notified when the number of MIDI instrument maps on the
8351                    back-end changes by issuing the following command:
8352    </p>
8353    <p>
8354                        </p>
8355    <blockquote class="text">
8356    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
8357    </p>
8358    </blockquote><p>
8359                    
8360    </p>
8361    <p>Server will start sending the following notification messages:
8362    </p>
8363    <p>
8364                        </p>
8365    <blockquote class="text">
8366    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
8367    </p>
8368    </blockquote><p>
8369                    
8370    </p>
8371    <p>where &lt;maps&gt; will be replaced by the new number
8372                    of MIDI instrument maps.
8373    </p>
8374    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
8375    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8376    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
8377    MIDI instrument map information changed</h3>
8378    
8379    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
8380                    back-end by issuing the following command:
8381    </p>
8382    <p>
8383                        </p>
8384    <blockquote class="text">
8385    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
8386    </p>
8387    </blockquote><p>
8388                    
8389    </p>
8390    <p>Server will start sending the following notification messages:
8391    </p>
8392    <p>
8393                        </p>
8394    <blockquote class="text">
8395    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
8396    </p>
8397    </blockquote><p>
8398                    
8399    </p>
8400    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
8401                    for which information changes occurred. The front-end will have to send
8402                    the respective command to actually get the MIDI instrument map info. Because these messages
8403                    will be triggered by LSCP commands issued by other clients rather than real
8404                    time events happening on the server, it is believed that an empty notification
8405                    message is sufficient here.
8406    </p>
8407    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
8408    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8409    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
8410    Number of MIDI instruments changed</h3>
8411    
8412    <p>Client may want to be notified when the number of MIDI instrument maps on the
8413                    back-end changes by issuing the following command:
8414    </p>
8415    <p>
8416                        </p>
8417    <blockquote class="text">
8418    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
8419    </p>
8420    </blockquote><p>
8421                    
8422    </p>
8423    <p>Server will start sending the following notification messages:
8424    </p>
8425    <p>
8426                        </p>
8427    <blockquote class="text">
8428    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
8429    </p>
8430    </blockquote><p>
8431                    
8432    </p>
8433    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
8434                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
8435                    the new number of MIDI instruments in the specified map.
8436    </p>
8437    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
8438    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8439    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
8440    MIDI instrument information changed</h3>
8441    
8442    <p>Client may want to be notified when changes were made to MIDI instruments on the
8443                    back-end by issuing the following command:
8444    </p>
8445    <p>
8446                        </p>
8447    <blockquote class="text">
8448    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
8449    </p>
8450    </blockquote><p>
8451                    
8452    </p>
8453    <p>Server will start sending the following notification messages:
8454    </p>
8455    <p>
8456                        </p>
8457    <blockquote class="text">
8458    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
8459    </p>
8460    </blockquote><p>
8461                    
8462    </p>
8463    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
8464                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
8465                    the location of the changed MIDI instrument in the map. The front-end will have to send
8466                    the respective command to actually get the MIDI instrument info. Because these messages
8467                    will be triggered by LSCP commands issued by other clients rather than real
8468                    time events happening on the server, it is believed that an empty notification
8469                    message is sufficient here.
8470    </p>
8471    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
8472    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8473    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
8474    Global settings changed</h3>
8475    
8476    <p>Client may want to be notified when changes to the global settings
8477                    of the sampler were made by issuing the following command:
8478    </p>
8479    <p>
8480                        </p>
8481    <blockquote class="text">
8482    <p>SUBSCRIBE GLOBAL_INFO
8483    </p>
8484    </blockquote><p>
8485                    
8486    </p>
8487    <p>Server will start sending the following types of notification messages:
8488    </p>
8489    <p>
8490                        </p>
8491    <blockquote class="text">
8492    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
8493                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
8494                            replaced by the optional dotted floating point value, reflecting the
8495                            new global volume parameter.
8496    </p>
8497    </blockquote><p>
8498                    
8499    </p>
8500    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
8501    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8502    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
8503    Miscellaneous and debugging events</h3>
8504    
8505  <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
8506                  the server by issuing the following command:                  the server by issuing the following command:
8507  </p>  </p>
8508  <p></p>  <p>
8509                        </p>
8510  <blockquote class="text">  <blockquote class="text">
8511  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
8512  </p>  </p>
8513  </blockquote>  </blockquote><p>
8514                    
8515    </p>
8516  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
8517  </p>  </p>
8518  <p></p>  <p>
8519                        </p>
8520  <blockquote class="text">  <blockquote class="text">
8521  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
8522  </p>  </p>
8523  </blockquote>  </blockquote><p>
8524                    
8525    </p>
8526  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
8527                  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
8528                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
8529  </p>  </p>
8530  <a name="anchor15"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
8531  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8532  <a name="rfc.section.8"></a><h3>8.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
8533    Security Considerations</h3>
8534    
8535  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
8536              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
8537              connect, running LinuxSampler might be a security risk for the host              connect, running LinuxSampler might be a security risk for the host
8538              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
8539  </p>  </p>
8540  <a name="anchor16"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
8541  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8542  <a name="rfc.section.9"></a><h3>9.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
8543    Acknowledgments</h3>
8544    
8545  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
8546              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
8547              list:              list:
8548  </p>  </p>
8549  <p></p>  <p>
8550                    </p>
8551  <blockquote class="text">  <blockquote class="text">
8552  <p>Rui Nuno Capela  <p>Rui Nuno Capela
8553  </p>  </p>
# Line 4255  Intellectual Property and Copyright Stat Line 8555  Intellectual Property and Copyright Stat
8555  </p>  </p>
8556  <p>Mark Knecht  <p>Mark Knecht
8557  </p>  </p>
8558  </blockquote>  <p>Grigor Iliev
8559    </p>
8560    </blockquote><p>
8561                
8562    </p>
8563  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
8564  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8565  <h3>10&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
8566  <table width="99%" border="0">  <table width="99%" border="0">
8567  <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>
8568  <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., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
8569    <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
8570    <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>
8571    <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
8572    <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>
8573  </table>  </table>
8574    
8575  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
8576  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8577  <h3>Author's Address</h3>  <h3>Author's Address</h3>
8578  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
8579  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4280  Schoenebeck</td></tr> Line 8587  Schoenebeck</td></tr>
8587  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
8588  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
8589  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
8590  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
8591  <td class="author-text"><a href="mailto:schoenebeck at software minus engineering dot org">schoenebeck at software minus engineering dot org</a></td></tr>  <td class="author-text"><a href="mailto:schoenebeck at software minus engineering dot org">schoenebeck at software minus engineering dot org</a></td></tr>
8592  </table>  </table>
8593  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
8594  <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="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8595  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
8596  <p class='copyright'>  <p class='copyright'>
8597  The IETF takes no position regarding the validity or scope of  Copyright &copy; The IETF Trust (2007).</p>
 any intellectual property or other rights that might be claimed  
 to  pertain to the implementation or use of the technology  
 described in this document or the extent to which any license  
 under such rights might or might not be available; neither does  
 it represent that it has made any effort to identify any such  
 rights. Information on the IETF's procedures with respect to  
 rights in standards-track and standards-related documentation  
 can be found in BCP-11. Copies of claims of rights made  
 available for publication and any assurances of licenses to  
 be made available, or the result of an attempt made  
 to obtain a general license or permission for the use of such  
 proprietary rights by implementors or users of this  
 specification can be obtained from the IETF Secretariat.</p>  
8598  <p class='copyright'>  <p class='copyright'>
8599  The IETF invites any interested party to bring to its  This document is subject to the rights,
8600  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
8601  other proprietary rights which may cover technology that may be  and except as set forth therein,
8602  required to practice this standard. Please address the  the authors retain all their rights.</p>
 information to the IETF Executive Director.</p>  
 <h3>Full Copyright Statement</h3>  
8603  <p class='copyright'>  <p class='copyright'>
8604  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  This document and the information contained herein are provided
8605    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
8606    THE ORGANIZATION HE/SHE REPRESENTS
8607    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
8608    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
8609    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
8610    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
8611    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
8612    PURPOSE.</p>
8613    <h3>Intellectual Property</h3>
8614  <p class='copyright'>  <p class='copyright'>
8615  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
8616  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
8617  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
8618  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
8619  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
8620  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
8621  document itself may not be modified in any way, such as by removing  such rights.
8622  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
8623  Internet organizations, except as needed for the purpose of  rights in RFC documents can be found in BCP&nbsp;78 and BCP&nbsp;79.</p>
 developing Internet standards in which case the procedures for  
 copyrights defined in the Internet Standards process must be  
 followed, or as required to translate it into languages other than  
 English.</p>  
8624  <p class='copyright'>  <p class='copyright'>
8625  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
8626  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
8627    or the result of an attempt made to obtain a general license or
8628    permission for the use of such proprietary rights by implementers or
8629    users of this specification can be obtained from the IETF on-line IPR
8630    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
8631  <p class='copyright'>  <p class='copyright'>
8632  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
8633  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
8634  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
8635  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
8636  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
8637  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
8638    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
8639  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
8640  <p class='copyright'>  <p class='copyright'>
8641  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
8642  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
8643  </body></html>  </body></html>

Legend:
Removed from v.542  
changed lines
  Added in v.1110

  ViewVC Help
Powered by ViewVC