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

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

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

revision 561 by schoenebeck, Sat May 21 20:01:32 2005 UTC revision 1685 by schoenebeck, Thu Feb 14 14:41:08 2008 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            }
34      a.info{  
35          position:relative; /*this is the key*/          table.TOCbug { width: 30px; height: 15px; }
36          z-index:24;          td.TOCbug {
37          text-decoration:none}                  text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39      a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}          }
40            td.TOCbug a {
41      a.info span{display: none}                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43      a.info:hover span{ /*the span will display just on :hover state*/                  color: #FFF; background-color: transparent;
44          display:block;          }
45          position:absolute;  
46          font-size: smaller ;          td.header {
47          top:2em; left:2em; width:15em;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48          padding: 2px ;                  vertical-align: top; width: 33%;
49          border:1px solid #333333;                  color: #FFF; background-color: #666;
50          background-color:#eeeeee; color:#990000;          }
51          text-align: left ;}          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53       A { font-weight: bold; }  
54       A:link { color: #990000; background-color: transparent ; }          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55       A:visited { color: #333333; background-color: transparent ; }          a.info {
56       A:active { color: #333333; background-color: transparent ; }                  /* This is the key. */
57                    position: relative;
58      p { margin-left: 2em; margin-right: 2em; }                  z-index: 24;
59      p.copyright { font-size: x-small ; }                  text-decoration: none;
60      p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}          }
61            a.info:hover {
62      span.emph { font-style: italic; }                  z-index: 25;
63      span.strong { font-weight: bold; }                  color: #FFF; background-color: #900;
64      span.verb { font-family: "Courier New", Courier, monospace ; }          }
65            a.info span { display: none; }
66      ol.text { margin-left: 2em; margin-right: 2em; }          a.info:hover span.info {
67      ul.text { margin-left: 2em; margin-right: 2em; }                  /* The span will display just on :hover state. */
68      li { margin-left: 3em;  }                  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      pre { margin-left: 3em; color: #333333;  background-color: transparent;          a { font-weight: bold; }
78          font-family: "Courier New", Courier, monospace ; font-size: small ;          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 19, 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 21, 2005</td></tr>  <tr><td class="header">Expires: August 17, 2008</td><td class="header">February 14, 2008</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.4</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 19, 2005.</p>  This Internet-Draft will expire on August 17, 2008.</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 (2008).</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 NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334    Altering effect send's audio routing<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336    Altering effect send's MIDI controller<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338    Altering effect send's send level<br />
339    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;
340  Resetting a sampler channel<br />  Resetting a sampler channel<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">5.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
342  Controlling connection<br />  Controlling connection<br />
343  &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;
344  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
345  &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;
346  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
347  &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;
348  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
349  &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;
350  Close client connection<br />  Close client connection<br />
351  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">5.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
352  Global commands<br />  Global commands<br />
353  &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;
354    Current number of active voices<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356    Maximum amount of active voices<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
358    Current number of active disk streams<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
360  Reset sampler<br />  Reset sampler<br />
361  <a href="#command_syntax">6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
362    General sampler informations<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
364    Getting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
366    Setting global volume attenuation<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
368    MIDI Instrument Mapping<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
370    Create a new MIDI instrument map<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
372    Delete one particular or all MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
374    Get amount of existing MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
376    Getting all created MIDI instrument maps<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
378    Getting MIDI instrument map information<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
380    Renaming a MIDI instrument map<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
382    Create or replace a MIDI instrument map entry<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
384    Getting ammount of MIDI instrument map entries<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
386    Getting indeces of all entries of a MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
388    Remove an entry from the MIDI instrument map<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
390    Get current settings of MIDI instrument map entry<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
392    Clear MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
394    Managing Instruments Database<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
396    Creating a new instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
398    Deleting an instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
400    Getting amount of instrument directories<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
402    Listing all directories in specific directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
404    Getting instrument directory information<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
406    Renaming an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
408    Moving an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
410    Copying instrument directories<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
412    Changing the description of directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
414    Finding directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
416    Adding instruments to the instruments database<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
418    Removing an instrument<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
420    Getting amount of instruments<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
422    Listing all instruments in specific directory<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
424    Getting instrument information<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
426    Renaming an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
428    Moving an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
430    Copying instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
432    Changing the description of instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
434    Finding instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
436    Getting job status information<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
438    Formatting the instruments database<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451    <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453  <a href="#events">7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455    <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &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;
458    Number of audio output devices changed<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
460    Audio output device's settings changed<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
462    Number of MIDI input devices changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
464    MIDI input device's settings changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
466  Number of sampler channels changed<br />  Number of sampler channels changed<br />
467  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">7.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
468    MIDI data on a sampler channel arrived<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.7.</a>&nbsp;
470  Number of active voices changed<br />  Number of active voices changed<br />
471  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.8.</a>&nbsp;
472  Number of active disk streams changed<br />  Number of active disk streams changed<br />
473  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.9.</a>&nbsp;
474  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
475  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">7.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.10.</a>&nbsp;
476  Channel information changed<br />  Channel information changed<br />
477  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.11.</a>&nbsp;
478    Number of effect sends changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.12.</a>&nbsp;
480    Effect send information changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.13.</a>&nbsp;
482    Total number of active voices changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.14.</a>&nbsp;
484    Total number of active disk streams changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.15.</a>&nbsp;
486    Number of MIDI instrument maps changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.16.</a>&nbsp;
488    MIDI instrument map information changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.17.</a>&nbsp;
490    Number of MIDI instruments changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.18.</a>&nbsp;
492    MIDI instrument information changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.19.</a>&nbsp;
494    Global settings changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.20.</a>&nbsp;
496    Number of database instrument directories changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.21.</a>&nbsp;
498    Database instrument directory information changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.22.</a>&nbsp;
500    Number of database instruments changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.23.</a>&nbsp;
502    Database instrument information changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.24.</a>&nbsp;
504    Database job status information changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.25.</a>&nbsp;
506  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
507  <a href="#anchor15">8.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
508  Security Considerations<br />  Security Considerations<br />
509  <a href="#anchor16">9.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
510  Acknowledgments<br />  Acknowledgments<br />
511  <a href="#rfc.references1">10.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
512  References<br />  References<br />
513  <a href="#rfc.authors">&#167;</a>&nbsp;  <a href="#rfc.authors">&#167;</a>&nbsp;
514  Author's Address<br />  Author's Address<br />
# Line 320  Intellectual Property and Copyright Stat Line 518  Intellectual Property and Copyright Stat
518  <br clear="all" />  <br clear="all" />
519    
520  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
521  <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>
522  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
523    Requirements notation</h3>
524    
525  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
526              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
527              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
528              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>.
529  </p>  </p>
530  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
531              claimed the opposite.              claimed the opposite.
# Line 335  Intellectual Property and Copyright Stat Line 534  Intellectual Property and Copyright Stat
534              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
535              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
536              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
537              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>),
538              example:              thus the following example:
539  </p>  </p>
540  <p></p>  <p>
541                    </p>
542  <blockquote class="text">  <blockquote class="text">
543  <p>C: "some line"  <p>C: "some line"
544  </p>  </p>
545  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
546  </p>  </p>
547  </blockquote>  </blockquote><p>
548                
549    </p>
550  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
551              message:              message:
552  </p>  </p>
553  <p></p>  <p>
554                    </p>
555  <blockquote class="text">  <blockquote class="text">
556  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
557                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
558  </p>  </p>
559  </blockquote>  </blockquote><p>
560                
561    </p>
562  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
563              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
564              standard.              standard.
# Line 363  Intellectual Property and Copyright Stat Line 566  Intellectual Property and Copyright Stat
566  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
567              fragmented, means the following example:              fragmented, means the following example:
568  </p>  </p>
569  <p></p>  <p>
570                    </p>
571  <blockquote class="text">  <blockquote class="text">
572  <p>S: "abcd"  <p>S: "abcd"
573  </p>  </p>
574  </blockquote>  </blockquote><p>
575                
576    </p>
577  <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
578              following sequence scenario:              following sequence scenario:
579  </p>  </p>
580  <p></p>  <p>
581                    </p>
582  <ul class="text">  <ul class="text">
583  <li>server sending message "a"  <li>server sending message "a"
584  </li>  </li>
# Line 388  Intellectual Property and Copyright Stat Line 594  Intellectual Property and Copyright Stat
594  <li>followed by server sending the message  <li>followed by server sending the message
595                      "&lt;LF&gt;"                      "&lt;LF&gt;"
596  </li>  </li>
597  </ul>  </ul><p>
598                
599    </p>
600  <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
601              return and line feed characters respectively.              return and line feed characters respectively.
602  </p>  </p>
603    <a name="LSCP versioning"></a><br /><hr />
604    <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>
605    <a name="rfc.section.2"></a><h3>2.&nbsp;
606    Versioning of this specification</h3>
607    
608    <p>LSCP will certainly be extended and enhanced by-and-by. Each official
609                release of the LSCP specification will be tagged with a unique version
610                tuple. The version tuple consists at least of a major and minor version
611                number like:
612                
613    </p>
614    <p>
615                    </p>
616    <blockquote class="text">
617    <p>"1.2"
618    </p>
619    </blockquote><p>
620                
621    </p>
622    <p>
623                In this example the major version number would be "1" and the minor
624                version number would be "2". Note that the version tuple might also
625                have more than two elements. The major version number defines a
626                group of backward compatible versions. That means a frontend is
627                compatible to the connected sampler if and only if the LSCP versions
628                to which each of the two parties complies to, match both of the
629                following rules:
630                
631    </p>
632    <p>Compatibility:
633    </p>
634    <p>
635                    </p>
636    <ol class="text">
637    <li>The frontend's LSCP major version and the sampler's LSCP
638                        major version are exactly equal.
639    </li>
640    <li>The frontend's LSCP minor version is less or equal than
641                        the sampler's LSCP minor version.
642    </li>
643    </ol><p>
644                
645    </p>
646    <p>
647                Compatibility can only be claimed if both rules are true.
648                The frontend can use the
649                <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
650                get the version of the LSCP specification the sampler complies with.
651                
652    </p>
653  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
654  <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>
655  <a name="rfc.section.2"></a><h3>2.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
656    Introduction</h3>
657    
658  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
659              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 666  Intellectual Property and Copyright Stat
666              arbitrary MIDI input method and arbitrary MIDI channel (e.g.              arbitrary MIDI input method and arbitrary MIDI channel (e.g.
667              sampler channel 17 could be connected to an ALSA sequencer              sampler channel 17 could be connected to an ALSA sequencer
668              device 64:0 and listening to MIDI channel 1 there). Each sampler              device 64:0 and listening to MIDI channel 1 there). Each sampler
669              engine will be assigned an own instance of one of the available              channel will be associated with an instance of one of the available
670              sampler engines (e.g. GigEngine, DLSEngine). The audio output of              sampler engines (e.g. GigEngine, DLSEngine). The audio output of
671              each sampler channel can be routed to an arbitrary audio output              each sampler channel can be routed to an arbitrary audio output
672              method (ALSA / JACK) and an arbitrary audio output channel              method (ALSA / JACK) and an arbitrary audio output channel
673              there.              there.
674  </p>  </p>
675  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
676  <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>
677  <a name="rfc.section.3"></a><h3>3.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
678    Focus of this protocol</h3>
679    
680  <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
681              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 427  Intellectual Property and Copyright Stat Line 686  Intellectual Property and Copyright Stat
686              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
687  </p>  </p>
688  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
689  <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>
690  <a name="rfc.section.4"></a><h3>4.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
691    Communication Overview</h3>
692    
693  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
694              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 701  Intellectual Property and Copyright Stat
701              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
702              methods will be described next.              methods will be described next.
703  </p>  </p>
704  <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 />
705    <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>
706    <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
707    Request/response communication method</h3>
708    
709  <p>This simple communication method is based on TCP. The  <p>This simple communication method is based on
710                    <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
711                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
712                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
713                  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 747  Intellectual Property and Copyright Stat
747                  processed in the order they were received and result sets                  processed in the order they were received and result sets
748                  MUST be sent back in the same order.                  MUST be sent back in the same order.
749  </p>  </p>
750  <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 />
751    <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>
752    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
753    Result format</h3>
754    
755  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
756  </p>  </p>
757  <p></p>  <p>
758                            </p>
759  <ol class="text">  <ol class="text">
760  <li>Normal  <li>Normal
761  </li>  </li>
# Line 495  Intellectual Property and Copyright Stat Line 763  Intellectual Property and Copyright Stat
763  </li>  </li>
764  <li>Error  <li>Error
765  </li>  </li>
766  </ol>  </ol><p>
767                        
768    </p>
769  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
770                      have the following format:                      have the following format:
771  </p>  </p>
772  <p></p>  <p>
773                            </p>
774  <ul class="text">  <ul class="text">
775  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
776  </li>  </li>
777  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
778  </li>  </li>
779  </ul>  </ul><p>
780                        
781    </p>
782  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
783                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
784                      &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 787  Intellectual Property and Copyright Stat
787  </p>  </p>
788  <p>Examples:  <p>Examples:
789  </p>  </p>
790  <p></p>  <p>
791                            </p>
792  <blockquote class="text">  <blockquote class="text">
793  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
794  </p>  </p>
795  <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."
796  </p>  </p>
797  </blockquote>  </blockquote><p>
798                        
799  <p></p>  </p>
800    <p>
801                            </p>
802  <blockquote class="text">  <blockquote class="text">
803  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
804  </p>  </p>
805  <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'."
806  </p>  </p>
807  </blockquote>  </blockquote><p>
808                        
809  <p></p>  </p>
810    <p>
811                            </p>
812  <blockquote class="text">  <blockquote class="text">
813  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
814  </p>  </p>
815  <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."
816  </p>  </p>
817  </blockquote>  </blockquote><p>
818                        
819    </p>
820  <p>Normal result sets could be:  <p>Normal result sets could be:
821  </p>  </p>
822  <p></p>  <p>
823                            </p>
824  <ol class="text">  <ol class="text">
825  <li>Empty  <li>Empty
826  </li>  </li>
# Line 550  Intellectual Property and Copyright Stat Line 828  Intellectual Property and Copyright Stat
828  </li>  </li>
829  <li>Multi-line  <li>Multi-line
830  </li>  </li>
831  </ol>  </ol><p>
832                        
833    </p>
834  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
835                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
836                      received and it was processed successfully and no                      received and it was processed successfully and no
837                      additional information is available. This result set has                      additional information is available. This result set has
838                      the following format:                      the following format:
839  </p>  </p>
840  <p></p>  <p>
841                            </p>
842  <blockquote class="text">  <blockquote class="text">
843  <p>"OK"  <p>"OK"
844  </p>  </p>
845  </blockquote>  </blockquote><p>
846                        
847    </p>
848  <p>Example:  <p>Example:
849  </p>  </p>
850  <p></p>  <p>
851                            </p>
852  <blockquote class="text">  <blockquote class="text">
853  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
854  </p>  </p>
855  <p>S: "OK"  <p>S: "OK"
856  </p>  </p>
857  </blockquote>  </blockquote><p>
858                        
859    </p>
860  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
861                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
862                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
863                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
864                      always end with the following line:                      always end with the following line:
865  </p>  </p>
866  <p></p>  <p>
867                            </p>
868  <blockquote class="text">  <blockquote class="text">
869  <p>"."  <p>"."
870  </p>  </p>
871  </blockquote>  </blockquote><p>
872                        
873    </p>
874  <p>Example:  <p>Example:
875  </p>  </p>
876  <p></p>  <p>
877                            </p>
878  <blockquote class="text">  <blockquote class="text">
879  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
880  </p>  </p>
# Line 608  Intellectual Property and Copyright Stat Line 894  Intellectual Property and Copyright Stat
894  </p>  </p>
895  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
896  </p>  </p>
897  </blockquote>  </blockquote><p>
898                        
899    </p>
900  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
901                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
902                      have the following formats respectively:                      have the following formats respectively:
903  </p>  </p>
904  <p></p>  <p>
905                            </p>
906  <ul class="text">  <ul class="text">
907  <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;"
908  </li>  </li>
909  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
910  </li>  </li>
911  </ul>  </ul><p>
912                        
913    </p>
914  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
915                      to indicate channel number that the result set was                      to indicate channel number that the result set was
916                      related to or other integer value.                      related to or other integer value.
# Line 631  Intellectual Property and Copyright Stat Line 920  Intellectual Property and Copyright Stat
920  </p>  </p>
921  <p>Examples:  <p>Examples:
922  </p>  </p>
923  <p></p>  <p>
924                            </p>
925  <blockquote class="text">  <blockquote class="text">
926  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
927  </p>  </p>
928  <p>S: "OK[12]"  <p>S: "OK[12]"
929  </p>  </p>
930  </blockquote>  </blockquote><p>
931                        
932  <p></p>  </p>
933    <p>
934                            </p>
935  <blockquote class="text">  <blockquote class="text">
936  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
937  </p>  </p>
938  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
939  </p>  </p>
940  </blockquote>  </blockquote><p>
941                        
942  <a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
943    <a name="anchor7"></a><br /><hr />
944    <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>
945    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
946    Subscribe/notify communication method</h3>
947    
948  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
949                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 659  Intellectual Property and Copyright Stat Line 955  Intellectual Property and Copyright Stat
955                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
956                  following syntax:                  following syntax:
957  </p>  </p>
958  <p></p>  <p>
959                        </p>
960  <blockquote class="text">  <blockquote class="text">
961  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
962  </p>  </p>
963  </blockquote>  </blockquote><p>
964                    
965    </p>
966  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
967                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
968                  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 972  Intellectual Property and Copyright Stat
972                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
973                  following format:                  following format:
974  </p>  </p>
975  <p></p>  <p>
976                        </p>
977  <blockquote class="text">  <blockquote class="text">
978  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
979  </p>  </p>
980  </blockquote>  </blockquote><p>
981                    
982    </p>
983  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
984                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
985                  specific.                  specific.
# Line 687  Intellectual Property and Copyright Stat Line 987  Intellectual Property and Copyright Stat
987  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
988                  generating events:                  generating events:
989  </p>  </p>
990  <p></p>  <p>
991                        </p>
992  <ol class="text">  <ol class="text">
993  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
994                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 702  Intellectual Property and Copyright Stat Line 1003  Intellectual Property and Copyright Stat
1003                          middle of the event message as well as any other                          middle of the event message as well as any other
1004                          response.                          response.
1005  </li>  </li>
1006  </ol>  </ol><p>
1007                    
1008    </p>
1009  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
1010                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
1011                  syntax:                  syntax:
1012  </p>  </p>
1013  <p></p>  <p>
1014                        </p>
1015  <blockquote class="text">  <blockquote class="text">
1016  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
1017  </p>  </p>
1018  </blockquote>  </blockquote><p>
1019                    
1020    </p>
1021  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1022                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1023                  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>.
1024  </p>  </p>
1025  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1026                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
1027                  will react by sending the following message to all clients                  will react by sending the following message to all clients
1028                  who subscribed to this event:                  who subscribed to this event:
1029  </p>  </p>
1030  <p></p>  <p>
1031                        </p>
1032  <blockquote class="text">  <blockquote class="text">
1033  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
1034  </p>  </p>
1035  </blockquote>  </blockquote><p>
1036                    
1037    </p>
1038  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
1039                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
1040                  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 1065  Intellectual Property and Copyright Stat
1065                  If client reconnects it MUST resubscribe to all events that                  If client reconnects it MUST resubscribe to all events that
1066                  it wants to receive.                  it wants to receive.
1067  </p>  </p>
1068  <a name="anchor8"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1069  <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>
1070  <a name="rfc.section.5"></a><h3>5.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1071    Description for control commands</h3>
1072    
1073  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1074              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1075              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>
1076              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
1077              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1078              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1079  </p>  </p>
1080  <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 />
1081    <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>
1082    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1083    Ignored lines and comments</h3>
1084    
1085  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1086                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 778  Intellectual Property and Copyright Stat Line 1088  Intellectual Property and Copyright Stat
1088                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1089                  file.                  file.
1090  </p>  </p>
1091  <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 />
1092    <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>
1093    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1094    Configuring audio drivers</h3>
1095    
1096  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1097                  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 1124  Intellectual Property and Copyright Stat
1124                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1125                  possible values, etc.                  possible values, etc.
1126  </p>  </p>
1127  <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 />
1128    <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>
1129    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1130    Getting amount of available audio output drivers</h3>
1131    
1132  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1133                      audio output drivers currently available for the                      audio output drivers currently available for the
1134                      LinuxSampler instance:                      LinuxSampler instance:
1135  </p>  </p>
1136  <p></p>  <p>
1137                            </p>
1138  <blockquote class="text">  <blockquote class="text">
1139  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1140  </p>  </p>
1141  </blockquote>  </blockquote><p>
1142                        
1143    </p>
1144  <p>Possible Answers:  <p>Possible Answers:
1145  </p>  </p>
1146  <p></p>  <p>
1147                            </p>
1148  <blockquote class="text">  <blockquote class="text">
1149  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1150                              number of audio output drivers.                              number of audio output drivers.
1151  </p>  </p>
1152  </blockquote>  </blockquote><p>
1153                        
1154    </p>
1155  <p>Example:  <p>Example:
1156  </p>  </p>
1157  <p></p>  <p>
1158                            </p>
1159  <blockquote class="text">  <blockquote class="text">
1160  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1161  </p>  </p>
1162  <p>S: "2"  <p>S: "2"
1163  </p>  </p>
1164  </blockquote>  </blockquote><p>
1165                        
1166  <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>
1167    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1168    <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>
1169    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1170    Getting all available audio output drivers</h3>
1171    
1172  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1173                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1174                      instance:                      instance:
1175  </p>  </p>
1176  <p></p>  <p>
1177                            </p>
1178  <blockquote class="text">  <blockquote class="text">
1179  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1180  </p>  </p>
1181  </blockquote>  </blockquote><p>
1182                        
1183    </p>
1184  <p>Possible Answers:  <p>Possible Answers:
1185  </p>  </p>
1186  <p></p>  <p>
1187                            </p>
1188  <blockquote class="text">  <blockquote class="text">
1189  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1190                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1191                              audio output driver.                              audio output driver.
1192  </p>  </p>
1193  </blockquote>  </blockquote><p>
1194                        
1195    </p>
1196  <p>Example:  <p>Example:
1197  </p>  </p>
1198  <p></p>  <p>
1199                            </p>
1200  <blockquote class="text">  <blockquote class="text">
1201  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1202  </p>  </p>
1203  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1204  </p>  </p>
1205  </blockquote>  </blockquote><p>
1206                        
1207  <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>
1208                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1209    <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>
1210    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1211    Getting information about a specific audio
1212                    output driver</h3>
1213    
1214  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1215                      about a specific audio output driver:                      about a specific audio output driver:
1216  </p>  </p>
1217  <p></p>  <p>
1218                            </p>
1219  <blockquote class="text">  <blockquote class="text">
1220  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1221                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1222  </p>  </p>
1223  </blockquote>  </blockquote><p>
1224                        
1225    </p>
1226  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1227                      audio output driver, returned by the                      audio output driver, returned by the
1228                      <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.
1229  </p>  </p>
1230  <p>Possible Answers:  <p>Possible Answers:
1231  </p>  </p>
1232  <p></p>  <p>
1233                            </p>
1234  <blockquote class="text">  <blockquote class="text">
1235  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1236                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 904  Intellectual Property and Copyright Stat Line 1241  Intellectual Property and Copyright Stat
1241                              following information categories are                              following information categories are
1242                              defined:                              defined:
1243  </p>  </p>
1244  <p></p>  <p>
1245                                  </p>
1246  <blockquote class="text">  <blockquote class="text">
1247  <p>DESCRIPTION -  <p>DESCRIPTION -
1248                                      </p>                                      </p>
# Line 913  Intellectual Property and Copyright Stat Line 1251  Intellectual Property and Copyright Stat
1251                                        audio output driver                                        audio output driver
1252  </p>  </p>
1253  </blockquote>  </blockquote>
1254                                      
1255    
1256  <p>VERSION -  <p>VERSION -
1257                                      </p>                                      </p>
# Line 921  Intellectual Property and Copyright Stat Line 1260  Intellectual Property and Copyright Stat
1260                                        driver's version                                        driver's version
1261  </p>  </p>
1262  </blockquote>  </blockquote>
1263                                      
1264    
1265  <p>PARAMETERS -  <p>PARAMETERS -
1266                                      </p>                                      </p>
# Line 933  Intellectual Property and Copyright Stat Line 1273  Intellectual Property and Copyright Stat
1273                                        output drivers                                        output drivers
1274  </p>  </p>
1275  </blockquote>  </blockquote>
1276                                      
1277    
1278  </blockquote>  </blockquote>
1279                                
1280    
1281  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1282                              in particular order.                              in particular order.
1283  </p>  </p>
1284  </blockquote>  </blockquote><p>
1285                        
1286    </p>
1287  <p>Example:  <p>Example:
1288  </p>  </p>
1289  <p></p>  <p>
1290                          </p>
1291  <blockquote class="text">  <blockquote class="text">
1292  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1293  </p>  </p>
# Line 958  Intellectual Property and Copyright Stat Line 1302  Intellectual Property and Copyright Stat
1302  </p>  </p>
1303  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1304  </p>  </p>
1305  </blockquote>  </blockquote><p>
1306                        
1307  <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>
1308                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1309    <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>
1310    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1311    Getting information about specific audio
1312                    output driver parameter</h3>
1313    
1314  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1315                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1316  </p>  </p>
1317  <p></p>  <p>
1318                            </p>
1319  <blockquote class="text">  <blockquote class="text">
1320  <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;]
1321  </p>  </p>
1322  </blockquote>  </blockquote><p>
1323                        
1324    </p>
1325  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1326                      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,
1327                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1328                      obtained (as returned by the                      obtained (as returned by the
1329                      <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
1330                      &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
1331                      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
1332                      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 1337  Intellectual Property and Copyright Stat
1337  </p>  </p>
1338  <p>Possible Answers:  <p>Possible Answers:
1339  </p>  </p>
1340  <p></p>  <p>
1341                            </p>
1342  <blockquote class="text">  <blockquote class="text">
1343  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1344                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1000  Intellectual Property and Copyright Stat Line 1351  Intellectual Property and Copyright Stat
1351                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1352                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1353  </p>  </p>
1354  </blockquote>  </blockquote><p>
1355                        
1356  <p></p>  </p>
1357    <p>
1358                            </p>
1359  <blockquote class="text">  <blockquote class="text">
1360  <p>TYPE -  <p>TYPE -
1361                                </p>                                </p>
# Line 1014  Intellectual Property and Copyright Stat Line 1367  Intellectual Property and Copyright Stat
1367                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1368  </p>  </p>
1369  </blockquote>  </blockquote>
1370                                
1371    
1372  <p>DESCRIPTION -  <p>DESCRIPTION -
1373                                </p>                                </p>
# Line 1022  Intellectual Property and Copyright Stat Line 1376  Intellectual Property and Copyright Stat
1376                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1377  </p>  </p>
1378  </blockquote>  </blockquote>
1379                                
1380    
1381  <p>MANDATORY -  <p>MANDATORY -
1382                                </p>                                </p>
1383  <blockquote class="text">  <blockquote class="text">
1384  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1385                                  given when the device is to be created with the                                  given when the device is to be created with the
1386                                  <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>
1387                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1388  </p>  </p>
1389  </blockquote>  </blockquote>
1390                                
1391    
1392  <p>FIX -  <p>FIX -
1393                                </p>                                </p>
1394  <blockquote class="text">  <blockquote class="text">
1395  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1396                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1397                                  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>
1398                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1399  </p>  </p>
1400  </blockquote>  </blockquote>
1401                                
1402    
1403  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1404                                </p>                                </p>
# Line 1052  Intellectual Property and Copyright Stat Line 1409  Intellectual Property and Copyright Stat
1409                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1410  </p>  </p>
1411  </blockquote>  </blockquote>
1412                                
1413    
1414  <p>DEPENDS -  <p>DEPENDS -
1415                                </p>                                </p>
# Line 1068  Intellectual Property and Copyright Stat Line 1426  Intellectual Property and Copyright Stat
1426                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1427  </p>  </p>
1428  </blockquote>  </blockquote>
1429                                
1430    
1431  <p>DEFAULT -  <p>DEFAULT -
1432                                </p>                                </p>
1433  <blockquote class="text">  <blockquote class="text">
1434  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1435                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1436                                  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,
1437                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1438                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1439                                  apostrophes (')                                  apostrophes (')
1440                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1441  </p>  </p>
1442  </blockquote>  </blockquote>
1443                                
1444    
1445  <p>RANGE_MIN -  <p>RANGE_MIN -
1446                                </p>                                </p>
# Line 1092  Intellectual Property and Copyright Stat Line 1452  Intellectual Property and Copyright Stat
1452                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1453  </p>  </p>
1454  </blockquote>  </blockquote>
1455                                
1456    
1457  <p>RANGE_MAX -  <p>RANGE_MAX -
1458                                </p>                                </p>
# Line 1103  Intellectual Property and Copyright Stat Line 1464  Intellectual Property and Copyright Stat
1464                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1465  </p>  </p>
1466  </blockquote>  </blockquote>
1467                                
1468    
1469  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1470                                </p>                                </p>
# Line 1113  Intellectual Property and Copyright Stat Line 1475  Intellectual Property and Copyright Stat
1475                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1476  </p>  </p>
1477  </blockquote>  </blockquote>
1478                                
1479    
1480  </blockquote>  </blockquote><p>
1481                        
1482    </p>
1483  <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.
1484  </p>  </p>
1485  <p>Examples:  <p>Examples:
1486  </p>  </p>
1487  <p></p>  <p>
1488                            </p>
1489  <blockquote class="text">  <blockquote class="text">
1490  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1491  </p>  </p>
# Line 1140  Intellectual Property and Copyright Stat Line 1505  Intellectual Property and Copyright Stat
1505  </p>  </p>
1506  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1507  </p>  </p>
1508  </blockquote>  </blockquote><p>
1509                        
1510  <p></p>  </p>
1511    <p>
1512                            </p>
1513  <blockquote class="text">  <blockquote class="text">
1514  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1515  </p>  </p>
# Line 1162  Intellectual Property and Copyright Stat Line 1529  Intellectual Property and Copyright Stat
1529  </p>  </p>
1530  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1531  </p>  </p>
1532  </blockquote>  </blockquote><p>
1533                        
1534  <p></p>  </p>
1535    <p>
1536                            </p>
1537  <blockquote class="text">  <blockquote class="text">
1538  <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'"
1539  </p>  </p>
# Line 1188  Intellectual Property and Copyright Stat Line 1557  Intellectual Property and Copyright Stat
1557  </p>  </p>
1558  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1559  </p>  </p>
1560  </blockquote>  </blockquote><p>
1561                        
1562  <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>
1563    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1564    <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>
1565    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1566    Creating an audio output device</h3>
1567    
1568  <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:
1569  </p>  </p>
1570  <p></p>  <p>
1571                            </p>
1572  <blockquote class="text">  <blockquote class="text">
1573  <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;]
1574  </p>  </p>
1575  </blockquote>  </blockquote><p>
1576                        
1577    </p>
1578  <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
1579                      output system and &lt;param-list&gt; by an optional list of driver                      output system as returned by the
1580                        <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>
1581                        command and &lt;param-list&gt; by an optional list of driver
1582                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1583                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
1584                      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 1587  Intellectual Property and Copyright Stat
1587  </p>  </p>
1588  <p>Possible Answers:  <p>Possible Answers:
1589  </p>  </p>
1590  <p></p>  <p>
1591                            </p>
1592  <blockquote class="text">  <blockquote class="text">
1593  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1594                                  </p>                                  </p>
# Line 1219  Intellectual Property and Copyright Stat Line 1597  Intellectual Property and Copyright Stat
1597                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1598  </p>  </p>
1599  </blockquote>  </blockquote>
1600                                
1601    
1602  <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;" -
1603                                  </p>                                  </p>
# Line 1231  Intellectual Property and Copyright Stat Line 1610  Intellectual Property and Copyright Stat
1610                                      warning message                                      warning message
1611  </p>  </p>
1612  </blockquote>  </blockquote>
1613                                
1614    
1615  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1616                                  </p>                                  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1618  Intellectual Property and Copyright Stat
1618  <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
1619  </p>  </p>
1620  </blockquote>  </blockquote>
1621                                
1622    
1623  </blockquote>  </blockquote><p>
1624                        
1625    </p>
1626  <p>Examples:  <p>Examples:
1627  </p>  </p>
1628  <p></p>  <p>
1629                            </p>
1630  <blockquote class="text">  <blockquote class="text">
1631  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1632  </p>  </p>
1633  <p>S: "OK[0]"  <p>S: "OK[0]"
1634  </p>  </p>
1635  </blockquote>  </blockquote><p>
1636                        
1637  <p></p>  </p>
1638    <p>
1639                            </p>
1640  <blockquote class="text">  <blockquote class="text">
1641  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1642  </p>  </p>
1643  <p>S: "OK[1]"  <p>S: "OK[1]"
1644  </p>  </p>
1645  </blockquote>  </blockquote><p>
1646                        
1647  <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>
1648    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1649    <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>
1650    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1651    Destroying an audio output device</h3>
1652    
1653  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1654  </p>  </p>
1655  <p></p>  <p>
1656                            </p>
1657  <blockquote class="text">  <blockquote class="text">
1658  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1659  </p>  </p>
1660  </blockquote>  </blockquote><p>
1661                        
1662    </p>
1663  <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
1664                      audio output device as given by the                      audio output device as given by the
1665                      <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>
1666                      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>
1667                      command.                      command.
1668  </p>  </p>
1669  <p>Possible Answers:  <p>Possible Answers:
1670  </p>  </p>
1671  <p></p>  <p>
1672                            </p>
1673  <blockquote class="text">  <blockquote class="text">
1674  <p>"OK" -  <p>"OK" -
1675                                  </p>                                  </p>
# Line 1285  Intellectual Property and Copyright Stat Line 1677  Intellectual Property and Copyright Stat
1677  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1678  </p>  </p>
1679  </blockquote>  </blockquote>
1680                                
1681    
1682  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1683                                  </p>                                  </p>
# Line 1296  Intellectual Property and Copyright Stat Line 1689  Intellectual Property and Copyright Stat
1689                                      warning code and warning message                                      warning code and warning message
1690  </p>  </p>
1691  </blockquote>  </blockquote>
1692                                
1693    
1694  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1695                                  </p>                                  </p>
# Line 1304  Intellectual Property and Copyright Stat Line 1698  Intellectual Property and Copyright Stat
1698                                      error message                                      error message
1699  </p>  </p>
1700  </blockquote>  </blockquote>
1701                                
1702    
1703  </blockquote>  </blockquote><p>
1704                        
1705    </p>
1706  <p>Example:  <p>Example:
1707  </p>  </p>
1708  <p></p>  <p>
1709                            </p>
1710  <blockquote class="text">  <blockquote class="text">
1711  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1712  </p>  </p>
1713  <p>S: "OK"  <p>S: "OK"
1714  </p>  </p>
1715  </blockquote>  </blockquote><p>
1716                        
1717  <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>
1718    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1719    <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>
1720    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1721    Getting all created audio output device count</h3>
1722    
1723  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1724  </p>  </p>
1725  <p></p>  <p>
1726                            </p>
1727  <blockquote class="text">  <blockquote class="text">
1728  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1729  </p>  </p>
1730  </blockquote>  </blockquote><p>
1731                        
1732    </p>
1733  <p>Possible Answers:  <p>Possible Answers:
1734  </p>  </p>
1735  <p></p>  <p>
1736                            </p>
1737  <blockquote class="text">  <blockquote class="text">
1738  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1739                              audio output devices.                              audio output devices.
1740  </p>  </p>
1741  </blockquote>  </blockquote><p>
1742                        
1743    </p>
1744  <p>Example:  <p>Example:
1745  </p>  </p>
1746  <p></p>  <p>
1747                            </p>
1748  <blockquote class="text">  <blockquote class="text">
1749  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1750  </p>  </p>
1751  <p>S: "4"  <p>S: "4"
1752  </p>  </p>
1753  </blockquote>  </blockquote><p>
1754                        
1755  <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>
1756    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1757    <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>
1758    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1759    Getting all created audio output device list</h3>
1760    
1761  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1762  </p>  </p>
1763  <p></p>  <p>
1764                            </p>
1765  <blockquote class="text">  <blockquote class="text">
1766  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1767  </p>  </p>
1768  </blockquote>  </blockquote><p>
1769                        
1770    </p>
1771  <p>Possible Answers:  <p>Possible Answers:
1772  </p>  </p>
1773  <p></p>  <p>
1774                            </p>
1775  <blockquote class="text">  <blockquote class="text">
1776  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1777                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1778  </p>  </p>
1779  </blockquote>  </blockquote><p>
1780                        
1781    </p>
1782  <p>Example:  <p>Example:
1783  </p>  </p>
1784  <p></p>  <p>
1785                            </p>
1786  <blockquote class="text">  <blockquote class="text">
1787  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1788  </p>  </p>
1789  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1790  </p>  </p>
1791  </blockquote>  </blockquote><p>
1792                        
1793  <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>
1794    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1795    <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>
1796    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1797    Getting current settings of an audio output device</h3>
1798    
1799  <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:
1800  </p>  </p>
1801  <p></p>  <p>
1802                            </p>
1803  <blockquote class="text">  <blockquote class="text">
1804  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1805  </p>  </p>
1806  </blockquote>  </blockquote><p>
1807                        
1808    </p>
1809  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1810                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1811                      <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.
1812  </p>  </p>
1813  <p>Possible Answers:  <p>Possible Answers:
1814  </p>  </p>
# Line 1399  Intellectual Property and Copyright Stat Line 1820  Intellectual Property and Copyright Stat
1820                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1821                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1822  </p>  </p>
1823  <p></p>  <p>
1824                            </p>
1825  <blockquote class="text">  <blockquote class="text">
1826  <p>DRIVER -  <p>DRIVER -
1827                                  </p>                                  </p>
1828  <blockquote class="text">  <blockquote class="text">
1829  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1830                                      returned by the                                      returned by the
1831                                      <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>
1832                                      command                                      command
1833  </p>  </p>
1834  </blockquote>  </blockquote>
1835                                
1836    
1837  <p>CHANNELS -  <p>CHANNELS -
1838                                  </p>                                  </p>
# Line 1418  Intellectual Property and Copyright Stat Line 1841  Intellectual Property and Copyright Stat
1841                                      offers                                      offers
1842  </p>  </p>
1843  </blockquote>  </blockquote>
1844                                
1845    
1846  <p>SAMPLERATE -  <p>SAMPLERATE -
1847                                  </p>                                  </p>
# Line 1425  Intellectual Property and Copyright Stat Line 1849  Intellectual Property and Copyright Stat
1849  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1850  </p>  </p>
1851  </blockquote>  </blockquote>
1852                                
1853    
1854  <p>ACTIVE -  <p>ACTIVE -
1855                                  </p>                                  </p>
# Line 1435  Intellectual Property and Copyright Stat Line 1860  Intellectual Property and Copyright Stat
1860                                      any audio                                      any audio
1861  </p>  </p>
1862  </blockquote>  </blockquote>
1863                                
1864    
1865  </blockquote>  </blockquote><p>
1866                        
1867    </p>
1868  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1869                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1870                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1871                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1872                      <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>)
1873                      which are also returned by this command.                      which are also returned by this command.
1874  </p>  </p>
1875  <p>Example:  <p>Example:
1876  </p>  </p>
1877  <p></p>  <p>
1878                            </p>
1879  <blockquote class="text">  <blockquote class="text">
1880  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1881  </p>  </p>
# Line 1467  Intellectual Property and Copyright Stat Line 1895  Intellectual Property and Copyright Stat
1895  </p>  </p>
1896  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1897  </p>  </p>
1898  </blockquote>  </blockquote><p>
1899                        
1900  <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>
1901    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1902    <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>
1903    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1904    Changing settings of audio output devices</h3>
1905    
1906  <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:
1907  </p>  </p>
1908  <p></p>  <p>
1909                            </p>
1910  <blockquote class="text">  <blockquote class="text">
1911  <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;
1912  </p>  </p>
1913  </blockquote>  </blockquote><p>
1914                        
1915    </p>
1916  <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
1917                      audio output device, &lt;key&gt; by the name of the parameter to change                      audio output device as given by the
1918                        <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>
1919                        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>
1920                        command, &lt;key&gt; by the name of the parameter to change
1921                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1922  </p>  </p>
1923  <p>Possible Answers:  <p>Possible Answers:
1924  </p>  </p>
1925  <p></p>  <p>
1926                            </p>
1927  <blockquote class="text">  <blockquote class="text">
1928  <p>"OK" -  <p>"OK" -
1929                                  </p>                                  </p>
# Line 1493  Intellectual Property and Copyright Stat Line 1931  Intellectual Property and Copyright Stat
1931  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1932  </p>  </p>
1933  </blockquote>  </blockquote>
1934                                
1935    
1936  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1937                                  </p>                                  </p>
# Line 1502  Intellectual Property and Copyright Stat Line 1941  Intellectual Property and Copyright Stat
1941                                      warning code and warning message                                      warning code and warning message
1942  </p>  </p>
1943  </blockquote>  </blockquote>
1944                                
1945    
1946  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1947                                  </p>                                  </p>
# Line 1510  Intellectual Property and Copyright Stat Line 1950  Intellectual Property and Copyright Stat
1950                                      error message                                      error message
1951  </p>  </p>
1952  </blockquote>  </blockquote>
1953                                
1954    
1955  </blockquote>  </blockquote><p>
1956                        
1957    </p>
1958  <p>Example:  <p>Example:
1959  </p>  </p>
1960  <p></p>  <p>
1961                            </p>
1962  <blockquote class="text">  <blockquote class="text">
1963  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
1964  </p>  </p>
1965  <p>S: "OK"  <p>S: "OK"
1966  </p>  </p>
1967  </blockquote>  </blockquote><p>
1968                        
1969  <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>
1970    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1971    <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>
1972    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1973    Getting information about an audio channel</h3>
1974    
1975  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1976  </p>  </p>
1977  <p></p>  <p>
1978                            </p>
1979  <blockquote class="text">  <blockquote class="text">
1980  <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;
1981  </p>  </p>
1982  </blockquote>  </blockquote><p>
1983                        
1984  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device  </p>
1985                      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
1986                        <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>
1987                        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>
1988                        command and &lt;audio-chan&gt; the audio channel number.
1989  </p>  </p>
1990  <p>Possible Answers:  <p>Possible Answers:
1991  </p>  </p>
1992  <p></p>  <p>
1993                            </p>
1994  <blockquote class="text">  <blockquote class="text">
1995  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
1996                              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 1998  Intellectual Property and Copyright Stat
1998                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
1999                              the following information categories are defined:                              the following information categories are defined:
2000  </p>  </p>
2001  <p></p>  <p>
2002                                    </p>
2003  <blockquote class="text">  <blockquote class="text">
2004  <p>NAME -  <p>NAME -
2005                                          </p>                                          </p>
# Line 1555  Intellectual Property and Copyright Stat Line 2008  Intellectual Property and Copyright Stat
2008                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
2009  </p>  </p>
2010  </blockquote>  </blockquote>
2011                                        
2012    
2013  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
2014                                          </p>                                          </p>
# Line 1567  Intellectual Property and Copyright Stat Line 2021  Intellectual Property and Copyright Stat
2021                                              (always returned by all audio channels)                                              (always returned by all audio channels)
2022  </p>  </p>
2023  </blockquote>  </blockquote>
2024                                        
2025    
2026  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
2027                                          </p>                                          </p>
# Line 1578  Intellectual Property and Copyright Stat Line 2033  Intellectual Property and Copyright Stat
2033                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
2034  </p>  </p>
2035  </blockquote>  </blockquote>
2036                                        
2037    
2038  </blockquote>  </blockquote>
2039                                
2040    
2041  </blockquote>  </blockquote><p>
2042                        
2043    </p>
2044  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2045                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2046                      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 2050  Intellectual Property and Copyright Stat
2050  </p>  </p>
2051  <p>Examples:  <p>Examples:
2052  </p>  </p>
2053  <p></p>  <p>
2054                            </p>
2055  <blockquote class="text">  <blockquote class="text">
2056  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
2057  </p>  </p>
# Line 1602  Intellectual Property and Copyright Stat Line 2061  Intellectual Property and Copyright Stat
2061  </p>  </p>
2062  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2063  </p>  </p>
2064  </blockquote>  </blockquote><p>
2065                        
2066  <p></p>  </p>
2067    <p>
2068                            </p>
2069  <blockquote class="text">  <blockquote class="text">
2070  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
2071  </p>  </p>
# Line 1614  Intellectual Property and Copyright Stat Line 2075  Intellectual Property and Copyright Stat
2075  </p>  </p>
2076  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2077  </p>  </p>
2078  </blockquote>  </blockquote><p>
2079                        
2080  <p></p>  </p>
2081    <p>
2082                            </p>
2083  <blockquote class="text">  <blockquote class="text">
2084  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2085  </p>  </p>
# Line 1628  Intellectual Property and Copyright Stat Line 2091  Intellectual Property and Copyright Stat
2091  </p>  </p>
2092  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2093  </p>  </p>
2094  </blockquote>  </blockquote><p>
2095                        
2096  <p></p>  </p>
2097    <p>
2098                            </p>
2099  <blockquote class="text">  <blockquote class="text">
2100  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2101  </p>  </p>
# Line 1642  Intellectual Property and Copyright Stat Line 2107  Intellectual Property and Copyright Stat
2107  </p>  </p>
2108  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2109  </p>  </p>
2110  </blockquote>  </blockquote><p>
2111                        
2112  <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>
2113    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2114    <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>
2115    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2116    Getting information about specific audio channel parameter</h3>
2117    
2118  <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:
2119  </p>  </p>
2120  <p></p>  <p>
2121                            </p>
2122  <blockquote class="text">  <blockquote class="text">
2123  <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;
2124  </p>  </p>
2125  </blockquote>  </blockquote><p>
2126                        
2127  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned  </p>
2128                      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
2129                        <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>
2130                        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>
2131                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2132                      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
2133                      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).
2134  </p>  </p>
2135  <p>Possible Answers:  <p>Possible Answers:
2136  </p>  </p>
2137  <p></p>  <p>
2138                            </p>
2139  <blockquote class="text">  <blockquote class="text">
2140  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2141                              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 2146  Intellectual Property and Copyright Stat
2146                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2147                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2148  </p>  </p>
2149  <p></p>  <p>
2150                                    </p>
2151  <blockquote class="text">  <blockquote class="text">
2152  <p>TYPE -  <p>TYPE -
2153                                          </p>                                          </p>
# Line 1684  Intellectual Property and Copyright Stat Line 2158  Intellectual Property and Copyright Stat
2158                                              (always returned)                                              (always returned)
2159  </p>  </p>
2160  </blockquote>  </blockquote>
2161                                        
2162    
2163  <p>DESCRIPTION -  <p>DESCRIPTION -
2164                                          </p>                                          </p>
# Line 1691  Intellectual Property and Copyright Stat Line 2166  Intellectual Property and Copyright Stat
2166  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2167  </p>  </p>
2168  </blockquote>  </blockquote>
2169                                        
2170    
2171  <p>FIX -  <p>FIX -
2172                                          </p>                                          </p>
# Line 1700  Intellectual Property and Copyright Stat Line 2176  Intellectual Property and Copyright Stat
2176                                              (always returned)                                              (always returned)
2177  </p>  </p>
2178  </blockquote>  </blockquote>
2179                                        
2180    
2181  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2182                                          </p>                                          </p>
# Line 1710  Intellectual Property and Copyright Stat Line 2187  Intellectual Property and Copyright Stat
2187                                              (always returned)                                              (always returned)
2188  </p>  </p>
2189  </blockquote>  </blockquote>
2190                                        
2191    
2192  <p>RANGE_MIN -  <p>RANGE_MIN -
2193                                          </p>                                          </p>
# Line 1722  Intellectual Property and Copyright Stat Line 2200  Intellectual Property and Copyright Stat
2200                                              parameter)                                              parameter)
2201  </p>  </p>
2202  </blockquote>  </blockquote>
2203                                        
2204    
2205  <p>RANGE_MAX -  <p>RANGE_MAX -
2206                                          </p>                                          </p>
# Line 1734  Intellectual Property and Copyright Stat Line 2213  Intellectual Property and Copyright Stat
2213                                              parameter)                                              parameter)
2214  </p>  </p>
2215  </blockquote>  </blockquote>
2216                                        
2217    
2218  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2219                                          </p>                                          </p>
# Line 1745  Intellectual Property and Copyright Stat Line 2225  Intellectual Property and Copyright Stat
2225                                              parameter)                                              parameter)
2226  </p>  </p>
2227  </blockquote>  </blockquote>
2228                                        
2229    
2230  </blockquote>  </blockquote>
2231                                
2232    
2233  <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.
2234  </p>  </p>
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: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2244  </p>  </p>
# Line 1770  Intellectual Property and Copyright Stat Line 2254  Intellectual Property and Copyright Stat
2254  </p>  </p>
2255  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2256  </p>  </p>
2257  </blockquote>  </blockquote><p>
2258                        
2259  <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>
2260    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></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.2.13"></a><h3>6.2.13.&nbsp;
2263    Changing settings of audio output channels</h3>
2264    
2265  <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:
2266  </p>  </p>
2267  <p></p>  <p>
2268                            </p>
2269  <blockquote class="text">  <blockquote class="text">
2270  <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;
2271  </p>  </p>
2272  </blockquote>  </blockquote><p>
2273                        
2274  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio  </p>
2275                      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
2276                        <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>
2277                        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>
2278                        command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2279                      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.
2280  </p>  </p>
2281  <p>Possible Answers:  <p>Possible Answers:
2282  </p>  </p>
2283  <p></p>  <p>
2284                            </p>
2285  <blockquote class="text">  <blockquote class="text">
2286  <p>"OK" -  <p>"OK" -
2287                                  </p>                                  </p>
# Line 1796  Intellectual Property and Copyright Stat Line 2289  Intellectual Property and Copyright Stat
2289  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2290  </p>  </p>
2291  </blockquote>  </blockquote>
2292                                
2293    
2294  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2295                                  </p>                                  </p>
# Line 1805  Intellectual Property and Copyright Stat Line 2299  Intellectual Property and Copyright Stat
2299                                     warning code and warning message                                     warning code and warning message
2300  </p>  </p>
2301  </blockquote>  </blockquote>
2302                                
2303    
2304  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2305                                  </p>                                  </p>
# Line 1813  Intellectual Property and Copyright Stat Line 2308  Intellectual Property and Copyright Stat
2308                                     error message                                     error message
2309  </p>  </p>
2310  </blockquote>  </blockquote>
2311                                
2312    
2313  </blockquote>  </blockquote><p>
2314                        
2315    </p>
2316  <p>Example:  <p>Example:
2317  </p>  </p>
2318  <p></p>  <p>
2319                            </p>
2320  <blockquote class="text">  <blockquote class="text">
2321  <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'"
2322  </p>  </p>
2323  <p>S: "OK"  <p>S: "OK"
2324  </p>  </p>
2325  </blockquote>  </blockquote><p>
2326                        
2327  <p></p>  </p>
2328    <p>
2329                            </p>
2330  <blockquote class="text">  <blockquote class="text">
2331  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2332  </p>  </p>
2333  <p>S: "OK"  <p>S: "OK"
2334  </p>  </p>
2335  </blockquote>  </blockquote><p>
2336                        
2337  <a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2338    <a name="anchor10"></a><br /><hr />
2339    <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>
2340    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2341    Configuring MIDI input drivers</h3>
2342    
2343  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2344                  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 2366  Intellectual Property and Copyright Stat
2366                  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
2367                  possible values, etc.                  possible values, etc.
2368  </p>  </p>
2369  <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 />
2370    <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>
2371    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2372    Getting amount of available MIDI input drivers</h3>
2373    
2374  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2375                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2376                      LinuxSampler instance:                      LinuxSampler instance:
2377  </p>  </p>
2378  <p></p>  <p>
2379                            </p>
2380  <blockquote class="text">  <blockquote class="text">
2381  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2382  </p>  </p>
2383  </blockquote>  </blockquote><p>
2384                        
2385    </p>
2386  <p>Possible Answers:  <p>Possible Answers:
2387  </p>  </p>
2388  <p></p>  <p>
2389                            </p>
2390  <blockquote class="text">  <blockquote class="text">
2391  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2392                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2393  </p>  </p>
2394  </blockquote>  </blockquote><p>
2395                        
2396    </p>
2397  <p>Example:  <p>Example:
2398  </p>  </p>
2399  <p></p>  <p>
2400                            </p>
2401  <blockquote class="text">  <blockquote class="text">
2402  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2403  </p>  </p>
2404  <p>S: "2"  <p>S: "2"
2405  </p>  </p>
2406  </blockquote>  </blockquote><p>
2407                        
2408  <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>
2409    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2410    <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>
2411    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2412    Getting all available MIDI input drivers</h3>
2413    
2414  <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
2415                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2416  </p>  </p>
2417  <p></p>  <p>
2418                            </p>
2419  <blockquote class="text">  <blockquote class="text">
2420  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2421  </p>  </p>
2422  </blockquote>  </blockquote><p>
2423                        
2424    </p>
2425  <p>Possible Answers:  <p>Possible Answers:
2426  </p>  </p>
2427  <p></p>  <p>
2428                            </p>
2429  <blockquote class="text">  <blockquote class="text">
2430  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2431                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2432  </p>  </p>
2433  </blockquote>  </blockquote><p>
2434                        
2435    </p>
2436  <p>Example:  <p>Example:
2437  </p>  </p>
2438  <p></p>  <p>
2439                            </p>
2440  <blockquote class="text">  <blockquote class="text">
2441  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2442  </p>  </p>
2443  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2444  </p>  </p>
2445  </blockquote>  </blockquote><p>
2446                        
2447  <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>
2448    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2449    <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>
2450    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2451    Getting information about a specific MIDI input driver</h3>
2452    
2453  <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:
2454  </p>  </p>
2455  <p></p>  <p>
2456                            </p>
2457  <blockquote class="text">  <blockquote class="text">
2458  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2459  </p>  </p>
2460  </blockquote>  </blockquote><p>
2461                        
2462  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.  </p>
2463    <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2464                        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.
2465  </p>  </p>
2466  <p>Possible Answers:  <p>Possible Answers:
2467  </p>  </p>
2468  <p></p>  <p>
2469                            </p>
2470  <blockquote class="text">  <blockquote class="text">
2471  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2472                              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 2474  Intellectual Property and Copyright Stat
2474                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2475                              the following information categories are defined:                              the following information categories are defined:
2476  </p>  </p>
2477  <p></p>  <p>
2478                                    </p>
2479  <blockquote class="text">  <blockquote class="text">
2480  <p>DESCRIPTION -  <p>DESCRIPTION -
2481                                          </p>                                          </p>
# Line 1953  Intellectual Property and Copyright Stat Line 2483  Intellectual Property and Copyright Stat
2483  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2484  </p>  </p>
2485  </blockquote>  </blockquote>
2486                                        
2487    
2488  <p>VERSION -  <p>VERSION -
2489                                          </p>                                          </p>
# Line 1960  Intellectual Property and Copyright Stat Line 2491  Intellectual Property and Copyright Stat
2491  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2492  </p>  </p>
2493  </blockquote>  </blockquote>
2494                                        
2495    
2496  <p>PARAMETERS -  <p>PARAMETERS -
2497                                          </p>                                          </p>
# Line 1967  Intellectual Property and Copyright Stat Line 2499  Intellectual Property and Copyright Stat
2499  <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
2500  </p>  </p>
2501  </blockquote>  </blockquote>
2502                                        
2503    
2504  </blockquote>  </blockquote>
2505                                
2506    
2507  <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.
2508  </p>  </p>
2509  </blockquote>  </blockquote><p>
2510                        
2511    </p>
2512  <p>Example:  <p>Example:
2513  </p>  </p>
2514  <p></p>  <p>
2515                            </p>
2516  <blockquote class="text">  <blockquote class="text">
2517  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2518  </p>  </p>
# Line 1988  Intellectual Property and Copyright Stat Line 2524  Intellectual Property and Copyright Stat
2524  </p>  </p>
2525  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2526  </p>  </p>
2527  </blockquote>  </blockquote><p>
2528                        
2529  <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>
2530    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2531    <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>
2532    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2533    Getting information about specific MIDI input driver parameter</h3>
2534    
2535  <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:
2536  </p>  </p>
2537  <p></p>  <p>
2538                            </p>
2539  <blockquote class="text">  <blockquote class="text">
2540  <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;]
2541  </p>  </p>
2542  </blockquote>  </blockquote><p>
2543                        
2544    </p>
2545  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned
2546                      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                      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
2547                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2548                      <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
2549                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2550                      &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 ...",
2551                      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 2564  Intellectual Property and Copyright Stat
2564                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2565                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2566  </p>  </p>
2567  <p></p>  <p>
2568                            </p>
2569  <blockquote class="text">  <blockquote class="text">
2570  <p>TYPE -  <p>TYPE -
2571                                </p>                                </p>
# Line 2033  Intellectual Property and Copyright Stat Line 2576  Intellectual Property and Copyright Stat
2576                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2577  </p>  </p>
2578  </blockquote>  </blockquote>
2579                                
2580    
2581  <p>DESCRIPTION -  <p>DESCRIPTION -
2582                                </p>                                </p>
# Line 2041  Intellectual Property and Copyright Stat Line 2585  Intellectual Property and Copyright Stat
2585                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2586  </p>  </p>
2587  </blockquote>  </blockquote>
2588                                
2589    
2590  <p>MANDATORY -  <p>MANDATORY -
2591                                </p>                                </p>
2592  <blockquote class="text">  <blockquote class="text">
2593  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2594                                  given when the device is to be created with the                                  given when the device is to be created with the
2595                                  <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
2596                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2597  </p>  </p>
2598  </blockquote>  </blockquote>
2599                                
2600    
2601  <p>FIX -  <p>FIX -
2602                                </p>                                </p>
2603  <blockquote class="text">  <blockquote class="text">
2604  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2605                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2606                                  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
2607                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2608  </p>  </p>
2609  </blockquote>  </blockquote>
2610                                
2611    
2612  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2613                                </p>                                </p>
# Line 2071  Intellectual Property and Copyright Stat Line 2618  Intellectual Property and Copyright Stat
2618                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2619  </p>  </p>
2620  </blockquote>  </blockquote>
2621                                
2622    
2623  <p>DEPENDS -  <p>DEPENDS -
2624                                </p>                                </p>
# Line 2087  Intellectual Property and Copyright Stat Line 2635  Intellectual Property and Copyright Stat
2635                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2636  </p>  </p>
2637  </blockquote>  </blockquote>
2638                                
2639    
2640  <p>DEFAULT -  <p>DEFAULT -
2641                                </p>                                </p>
2642  <blockquote class="text">  <blockquote class="text">
2643  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2644                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2645                                  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,
2646                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2647                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2648                                  apostrophes (')                                  apostrophes (')
2649                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2650  </p>  </p>
2651  </blockquote>  </blockquote>
2652                                
2653    
2654  <p>RANGE_MIN -  <p>RANGE_MIN -
2655                                </p>                                </p>
# Line 2111  Intellectual Property and Copyright Stat Line 2661  Intellectual Property and Copyright Stat
2661                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2662  </p>  </p>
2663  </blockquote>  </blockquote>
2664                                
2665    
2666  <p>RANGE_MAX -  <p>RANGE_MAX -
2667                                </p>                                </p>
# Line 2122  Intellectual Property and Copyright Stat Line 2673  Intellectual Property and Copyright Stat
2673                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2674  </p>  </p>
2675  </blockquote>  </blockquote>
2676                                
2677    
2678  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2679                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2684  Intellectual Property and Copyright Stat
2684                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2685  </p>  </p>
2686  </blockquote>  </blockquote>
2687                                
2688    
2689  </blockquote>  </blockquote><p>
2690                        
2691    </p>
2692  <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.
2693  </p>  </p>
2694  <p>Example:  <p>Example:
2695  </p>  </p>
2696  <p></p>  <p>
2697                            </p>
2698  <blockquote class="text">  <blockquote class="text">
2699  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2700  </p>  </p>
# Line 2157  Intellectual Property and Copyright Stat Line 2712  Intellectual Property and Copyright Stat
2712  </p>  </p>
2713  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2714  </p>  </p>
2715  </blockquote>  </blockquote><p>
2716                        
2717  <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>
2718    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2719    <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>
2720    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2721    Creating a MIDI input device</h3>
2722    
2723  <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:
2724  </p>  </p>
2725  <p></p>  <p>
2726                            </p>
2727  <blockquote class="text">  <blockquote class="text">
2728  <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;]
2729  </p>  </p>
2730  </blockquote>  </blockquote><p>
2731                        
2732  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an  </p>
2733    <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2734                        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
2735                      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
2736                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2737                      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 2740  Intellectual Property and Copyright Stat
2740  </p>  </p>
2741  <p>Possible Answers:  <p>Possible Answers:
2742  </p>  </p>
2743  <p></p>  <p>
2744                            </p>
2745  <blockquote class="text">  <blockquote class="text">
2746  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2747                                  </p>                                  </p>
# Line 2187  Intellectual Property and Copyright Stat Line 2750  Intellectual Property and Copyright Stat
2750                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2751  </p>  </p>
2752  </blockquote>  </blockquote>
2753                                
2754    
2755  <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;" -
2756                                  </p>                                  </p>
# Line 2197  Intellectual Property and Copyright Stat Line 2761  Intellectual Property and Copyright Stat
2761                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2762  </p>  </p>
2763  </blockquote>  </blockquote>
2764                                
2765    
2766  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2767                                  </p>                                  </p>
# Line 2204  Intellectual Property and Copyright Stat Line 2769  Intellectual Property and Copyright Stat
2769  <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
2770  </p>  </p>
2771  </blockquote>  </blockquote>
2772                                
2773    
2774  </blockquote>  </blockquote><p>
2775                        
2776    </p>
2777  <p>Example:  <p>Example:
2778  </p>  </p>
2779  <p></p>  <p>
2780                            </p>
2781  <blockquote class="text">  <blockquote class="text">
2782  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2783  </p>  </p>
2784  <p>S: "OK[0]"  <p>S: "OK[0]"
2785  </p>  </p>
2786  </blockquote>  </blockquote><p>
2787                        
2788  <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>
2789    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2790    <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>
2791    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2792    Destroying a MIDI input device</h3>
2793    
2794  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2795  </p>  </p>
2796  <p></p>  <p>
2797                            </p>
2798  <blockquote class="text">  <blockquote class="text">
2799  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2800  </p>  </p>
2801  </blockquote>  </blockquote><p>
2802                        
2803  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID.  </p>
2804    <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2805                        <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>
2806                        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>
2807                        command.
2808  </p>  </p>
2809  <p>Possible Answers:  <p>Possible Answers:
2810  </p>  </p>
2811  <p></p>  <p>
2812                            </p>
2813  <blockquote class="text">  <blockquote class="text">
2814  <p>"OK" -  <p>"OK" -
2815                                  </p>                                  </p>
# Line 2239  Intellectual Property and Copyright Stat Line 2817  Intellectual Property and Copyright Stat
2817  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2818  </p>  </p>
2819  </blockquote>  </blockquote>
2820                                
2821    
2822  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2823                                  </p>                                  </p>
# Line 2248  Intellectual Property and Copyright Stat Line 2827  Intellectual Property and Copyright Stat
2827                                      warning message                                      warning message
2828  </p>  </p>
2829  </blockquote>  </blockquote>
2830                                
2831    
2832  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2833                                  </p>                                  </p>
# Line 2255  Intellectual Property and Copyright Stat Line 2835  Intellectual Property and Copyright Stat
2835  <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
2836  </p>  </p>
2837  </blockquote>  </blockquote>
2838                                
2839    
2840  </blockquote>  </blockquote><p>
2841                        
2842    </p>
2843  <p>Example:  <p>Example:
2844  </p>  </p>
2845  <p></p>  <p>
2846                            </p>
2847  <blockquote class="text">  <blockquote class="text">
2848  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2849  </p>  </p>
2850  <p>S: "OK"  <p>S: "OK"
2851  </p>  </p>
2852  </blockquote>  </blockquote><p>
2853                        
2854  <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>
2855    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2856    <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>
2857    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2858    Getting all created MIDI input device count</h3>
2859    
2860  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2861  </p>  </p>
2862  <p></p>  <p>
2863                            </p>
2864  <blockquote class="text">  <blockquote class="text">
2865  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2866  </p>  </p>
2867  </blockquote>  </blockquote><p>
2868                        
2869    </p>
2870  <p>Possible Answers:  <p>Possible Answers:
2871  </p>  </p>
2872  <p></p>  <p>
2873                            </p>
2874  <blockquote class="text">  <blockquote class="text">
2875  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2876                              MIDI input devices.                              MIDI input devices.
2877  </p>  </p>
2878  </blockquote>  </blockquote><p>
2879                        
2880    </p>
2881  <p>Example:  <p>Example:
2882  </p>  </p>
2883  <p></p>  <p>
2884                            </p>
2885  <blockquote class="text">  <blockquote class="text">
2886  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2887  </p>  </p>
2888  <p>S: "3"  <p>S: "3"
2889  </p>  </p>
2890  </blockquote>  </blockquote><p>
2891                        
2892  <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>
2893    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2894    <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>
2895    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2896    Getting all created MIDI input device list</h3>
2897    
2898  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2899  </p>  </p>
2900  <p></p>  <p>
2901                            </p>
2902  <blockquote class="text">  <blockquote class="text">
2903  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2904  </p>  </p>
2905  </blockquote>  </blockquote><p>
2906                        
2907    </p>
2908  <p>Possible Answers:  <p>Possible Answers:
2909  </p>  </p>
2910  <p></p>  <p>
2911                            </p>
2912  <blockquote class="text">  <blockquote class="text">
2913  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2914                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2915  </p>  </p>
2916  </blockquote>  </blockquote><p>
2917                        
2918    </p>
2919  <p>Examples:  <p>Examples:
2920  </p>  </p>
2921  <p></p>  <p>
2922                            </p>
2923  <blockquote class="text">  <blockquote class="text">
2924  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2925  </p>  </p>
2926  <p>S: "0,1,2"  <p>S: "0,1,2"
2927  </p>  </p>
2928  </blockquote>  </blockquote><p>
2929                        
2930  <p></p>  </p>
2931    <p>
2932                            </p>
2933  <blockquote class="text">  <blockquote class="text">
2934  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2935  </p>  </p>
2936  <p>S: "1,3"  <p>S: "1,3"
2937  </p>  </p>
2938  </blockquote>  </blockquote><p>
2939                        
2940  <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>
2941    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2942    <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>
2943    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2944    Getting current settings of a MIDI input device</h3>
2945    
2946  <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:
2947  </p>  </p>
2948  <p></p>  <p>
2949                            </p>
2950  <blockquote class="text">  <blockquote class="text">
2951  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
2952  </p>  </p>
2953  </blockquote>  </blockquote><p>
2954                        
2955  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.  </p>
2956    <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2957                        <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>
2958                        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>
2959                        command.
2960  </p>  </p>
2961  <p>Possible Answers:  <p>Possible Answers:
2962  </p>  </p>
2963  <p></p>  <p>
2964                            </p>
2965  <blockquote class="text">  <blockquote class="text">
2966  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2967                              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 2971  Intellectual Property and Copyright Stat
2971                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
2972                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
2973  </p>  </p>
2974  <p></p>  <p>
2975                                    </p>
2976  <blockquote class="text">  <blockquote class="text">
2977  <p>DRIVER -  <p>DRIVER -
2978                                          </p>                                          </p>
2979  <blockquote class="text">  <blockquote class="text">
2980  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2981                                              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>
2982                                              command                                              command
2983  </p>  </p>
2984  </blockquote>  </blockquote>
2985                                        
2986    
2987  </blockquote>  </blockquote>
2988                                    
2989  <blockquote class="text">  <blockquote class="text">
2990  <p><p>ACTIVE -  <p>ACTIVE -
2991                                          </p>                                          </p>
2992  <blockquote class="text">  <blockquote class="text">
2993  <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 2996  Intellectual Property and Copyright Stat
2996                                              channels                                              channels
2997  </p>  </p>
2998  </blockquote>  </blockquote>
2999                                        
3000    
3001  </blockquote>  </blockquote>
3002                                
3003    
3004  </blockquote>  </blockquote><p>
3005                        
3006    </p>
3007  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
3008                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3009                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3010                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3011                      <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
3012                      by this command.                      by this command.
3013  </p>  </p>
3014  <p>Example:  <p>Example:
3015  </p>  </p>
3016  <p></p>  <p>
3017                            </p>
3018  <blockquote class="text">  <blockquote class="text">
3019  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
3020  </p>  </p>
# Line 2404  Intellectual Property and Copyright Stat Line 3024  Intellectual Property and Copyright Stat
3024  </p>  </p>
3025  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3026  </p>  </p>
3027  </blockquote>  </blockquote><p>
3028                        
3029  <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>
3030    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3031    <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>
3032    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3033    Changing settings of MIDI input devices</h3>
3034    
3035  <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:
3036  </p>  </p>
3037  <p></p>  <p>
3038                            </p>
3039  <blockquote class="text">  <blockquote class="text">
3040  <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;
3041  </p>  </p>
3042  </blockquote>  </blockquote><p>
3043                        
3044    </p>
3045  <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
3046                      MIDI input device, &lt;key&gt; by the name of the parameter to change and                      MIDI input device as returned by the
3047                        <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>
3048                        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>
3049                        command, &lt;key&gt; by the name of the parameter to change and
3050                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3051  </p>  </p>
3052  <p>Possible Answers:  <p>Possible Answers:
3053  </p>  </p>
3054  <p></p>  <p>
3055                            </p>
3056  <blockquote class="text">  <blockquote class="text">
3057  <p>"OK" -  <p>"OK" -
3058                                  </p>                                  </p>
# Line 2430  Intellectual Property and Copyright Stat Line 3060  Intellectual Property and Copyright Stat
3060  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3061  </p>  </p>
3062  </blockquote>  </blockquote>
3063                                
3064    
3065  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3066                                  </p>                                  </p>
# Line 2439  Intellectual Property and Copyright Stat Line 3070  Intellectual Property and Copyright Stat
3070                                      warning code and warning message                                      warning code and warning message
3071  </p>  </p>
3072  </blockquote>  </blockquote>
3073                                
3074    
3075  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3076                                  </p>                                  </p>
# Line 2446  Intellectual Property and Copyright Stat Line 3078  Intellectual Property and Copyright Stat
3078  <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
3079  </p>  </p>
3080  </blockquote>  </blockquote>
3081                                
3082    
3083  </blockquote>  </blockquote><p>
3084                        
3085    </p>
3086  <p>Example:  <p>Example:
3087  </p>  </p>
3088  <p></p>  <p>
3089                            </p>
3090  <blockquote class="text">  <blockquote class="text">
3091  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3092  </p>  </p>
3093  <p>S: "OK"  <p>S: "OK"
3094  </p>  </p>
3095  </blockquote>  </blockquote><p>
3096                        
3097  <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>
3098    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3099    <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>
3100    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3101    Getting information about a MIDI port</h3>
3102    
3103  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3104  </p>  </p>
3105  <p></p>  <p>
3106                            </p>
3107  <blockquote class="text">  <blockquote class="text">
3108  <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;
3109  </p>  </p>
3110  </blockquote>  </blockquote><p>
3111                        
3112  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device  </p>
3113                      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
3114                        <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>
3115                        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>
3116                        command and &lt;midi-port&gt; the MIDI input port number.
3117  </p>  </p>
3118  <p>Possible Answers:  <p>Possible Answers:
3119  </p>  </p>
3120  <p></p>  <p>
3121                            </p>
3122  <blockquote class="text">  <blockquote class="text">
3123  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3124                              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 3132  Intellectual Property and Copyright Stat
3132  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3133  </p>  </p>
3134  </blockquote>  </blockquote>
3135                                
3136    
3137  </blockquote>  </blockquote><p>
3138                        
3139    </p>
3140  <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
3141                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3142                      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 3144  Intellectual Property and Copyright Stat
3144  </p>  </p>
3145  <p>Example:  <p>Example:
3146  </p>  </p>
3147  <p></p>  <p>
3148                            </p>
3149  <blockquote class="text">  <blockquote class="text">
3150  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3151  </p>  </p>
# Line 2508  Intellectual Property and Copyright Stat Line 3155  Intellectual Property and Copyright Stat
3155  </p>  </p>
3156  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3157  </p>  </p>
3158  </blockquote>  </blockquote><p>
3159                        
3160  <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>
3161    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3162    <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>
3163    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3164    Getting information about specific MIDI port parameter</h3>
3165    
3166  <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:
3167  </p>  </p>
3168  <p></p>  <p>
3169                            </p>
3170  <blockquote class="text">  <blockquote class="text">
3171  <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;
3172  </p>  </p>
3173  </blockquote>  </blockquote><p>
3174                        
3175  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned  </p>
3176                      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
3177                        <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>
3178                        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>
3179                        command, &lt;port&gt; the MIDI port number and
3180                      &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
3181                      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).
3182  </p>  </p>
3183  <p>Possible Answers:  <p>Possible Answers:
3184  </p>  </p>
3185  <p></p>  <p>
3186                            </p>
3187  <blockquote class="text">  <blockquote class="text">
3188  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3189                              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 3203  Intellectual Property and Copyright Stat
3203                                      (always returned)                                      (always returned)
3204  </p>  </p>
3205  </blockquote>  </blockquote>
3206                                
3207    
3208  <p>DESCRIPTION -  <p>DESCRIPTION -
3209                                  </p>                                  </p>
# Line 2555  Intellectual Property and Copyright Stat Line 3212  Intellectual Property and Copyright Stat
3212                                      (always returned)                                      (always returned)
3213  </p>  </p>
3214  </blockquote>  </blockquote>
3215                                
3216    
3217  <p>FIX -  <p>FIX -
3218                                  </p>                                  </p>
# Line 2564  Intellectual Property and Copyright Stat Line 3222  Intellectual Property and Copyright Stat
3222                                      (always returned)                                      (always returned)
3223  </p>  </p>
3224  </blockquote>  </blockquote>
3225                                
3226    
3227  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3228                                  </p>                                  </p>
# Line 2574  Intellectual Property and Copyright Stat Line 3233  Intellectual Property and Copyright Stat
3233                                      (always returned)                                      (always returned)
3234  </p>  </p>
3235  </blockquote>  </blockquote>
3236                                
3237    
3238  <p>RANGE_MIN -  <p>RANGE_MIN -
3239                                  </p>                                  </p>
# Line 2586  Intellectual Property and Copyright Stat Line 3246  Intellectual Property and Copyright Stat
3246                                      parameter)                                      parameter)
3247  </p>  </p>
3248  </blockquote>  </blockquote>
3249                                
3250    
3251  <p>RANGE_MAX -  <p>RANGE_MAX -
3252                                  </p>                                  </p>
# Line 2598  Intellectual Property and Copyright Stat Line 3259  Intellectual Property and Copyright Stat
3259                                      parameter)                                      parameter)
3260  </p>  </p>
3261  </blockquote>  </blockquote>
3262                                
3263    
3264  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3265                                  </p>                                  </p>
# Line 2609  Intellectual Property and Copyright Stat Line 3271  Intellectual Property and Copyright Stat
3271                                      parameter)                                      parameter)
3272  </p>  </p>
3273  </blockquote>  </blockquote>
3274                                
3275    
3276  </blockquote>  </blockquote><p>
3277                        
3278    </p>
3279  <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.
3280  </p>  </p>
3281  <p>Example:  <p>Example:
3282  </p>  </p>
3283  <p></p>  <p>
3284                            </p>
3285  <blockquote class="text">  <blockquote class="text">
3286  <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"
3287  </p>  </p>
# Line 2632  Intellectual Property and Copyright Stat Line 3297  Intellectual Property and Copyright Stat
3297  </p>  </p>
3298  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3299  </p>  </p>
3300  </blockquote>  </blockquote><p>
3301                        
3302  <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>
3303    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3304    <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>
3305    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3306    Changing settings of MIDI input ports</h3>
3307    
3308  <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:
3309  </p>  </p>
3310  <p></p>  <p>
3311                            </p>
3312  <blockquote class="text">  <blockquote class="text">
3313  <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;
3314  </p>  </p>
3315  </blockquote>  </blockquote><p>
3316                        
3317    </p>
3318  <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
3319                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      MIDI device as returned by the
3320                        <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>
3321                        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>
3322                        command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3323                      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
3324                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3325                        for specifying no value for parameters allowing a list of values.
3326  </p>  </p>
3327  <p>Possible Answers:  <p>Possible Answers:
3328  </p>  </p>
3329  <p></p>  <p>
3330                            </p>
3331  <blockquote class="text">  <blockquote class="text">
3332  <p>"OK" -  <p>"OK" -
3333                                  </p>                                  </p>
# Line 2659  Intellectual Property and Copyright Stat Line 3335  Intellectual Property and Copyright Stat
3335  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3336  </p>  </p>
3337  </blockquote>  </blockquote>
3338                                
3339    
3340  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3341                                  </p>                                  </p>
# Line 2668  Intellectual Property and Copyright Stat Line 3345  Intellectual Property and Copyright Stat
3345                                      warning code and warning message                                      warning code and warning message
3346  </p>  </p>
3347  </blockquote>  </blockquote>
3348                                
3349    
3350  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3351                                  </p>                                  </p>
# Line 2675  Intellectual Property and Copyright Stat Line 3353  Intellectual Property and Copyright Stat
3353  <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
3354  </p>  </p>
3355  </blockquote>  </blockquote>
3356                                
3357    
3358  </blockquote>  </blockquote><p>
3359                        
3360    </p>
3361  <p>Example:  <p>Example:
3362  </p>  </p>
3363  <p></p>  <p>
3364                            </p>
3365  <blockquote class="text">  <blockquote class="text">
3366    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3367    </p>
3368    <p>S: "OK"
3369    </p>
3370    </blockquote><p>
3371                        
3372    </p>
3373  <p>  <p>
3374                            </p>
3375    <blockquote class="text">
3376    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3377  </p>  </p>
3378  </blockquote>  <p>S: "OK"
3379    </p>
3380  <a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a>&nbsp;Configuring sampler channels</h4>  </blockquote><p>
3381                        
 <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.  
3382  </p>  </p>
3383  <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 />
3384    <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>
3385    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3386    Configuring sampler channels</h3>
3387    
3388    <p>The following commands describe how to add and remove sampler channels, associate a
3389                    sampler channel with a sampler engine, load instruments and connect sampler channels to
3390                    MIDI and audio devices.
3391    </p>
3392    <a name="LOAD INSTRUMENT"></a><br /><hr />
3393    <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>
3394    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3395    Loading an instrument</h3>
3396    
3397  <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:
3398  </p>  </p>
3399  <p></p>  <p>
3400                            </p>
3401  <blockquote class="text">  <blockquote class="text">
3402  <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;
3403  </p>  </p>
3404  </blockquote>  </blockquote><p>
3405                        
3406    </p>
3407  <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
3408                      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
3409                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
3410                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3411                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3412  </p>  </p>
3413    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3414                        escape characters for special characters (see chapter
3415                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"
3416                        for details) and accordingly backslash characters in the filename
3417                        MUST now be escaped as well!
3418    </p>
3419  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3420                      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
3421                      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
3422                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3423                      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>
3424                      command can be used to obtain loading                      command can be used to obtain loading
3425                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3426                      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 3429  Intellectual Property and Copyright Stat
3429  </p>  </p>
3430  <p>Possible Answers:  <p>Possible Answers:
3431  </p>  </p>
3432  <p></p>  <p>
3433                            </p>
3434  <blockquote class="text">  <blockquote class="text">
3435  <p>"OK" -  <p>"OK" -
3436                                  </p>                                  </p>
# Line 2728  Intellectual Property and Copyright Stat Line 3438  Intellectual Property and Copyright Stat
3438  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3439  </p>  </p>
3440  </blockquote>  </blockquote>
3441                                
3442    
3443  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3444                                  </p>                                  </p>
# Line 2739  Intellectual Property and Copyright Stat Line 3450  Intellectual Property and Copyright Stat
3450                                      warning message                                      warning message
3451  </p>  </p>
3452  </blockquote>  </blockquote>
3453                                
3454    
3455  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3456                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3458  Intellectual Property and Copyright Stat
3458  <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
3459  </p>  </p>
3460  </blockquote>  </blockquote>
3461                                
3462    
3463  </blockquote>  </blockquote><p>
3464                        
3465  <p>Example:  </p>
3466    <p>Example (Unix):
3467  </p>  </p>
3468  <p></p>  <p>
3469                            </p>
3470  <blockquote class="text">  <blockquote class="text">
3471    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3472    </p>
3473    <p>S: OK
3474    </p>
3475    </blockquote><p>
3476                        
3477    </p>
3478    <p>Example (Windows):
3479    </p>
3480  <p>  <p>
3481                            </p>
3482    <blockquote class="text">
3483    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3484  </p>  </p>
3485  </blockquote>  <p>S: OK
3486    </p>
3487  <a name="rfc.section.5.4.2"></a><h4><a name="LOAD ENGINE">5.4.2</a>&nbsp;Loading a sampler engine</h4>  </blockquote><p>
3488                        
3489    </p>
3490    <a name="LOAD ENGINE"></a><br /><hr />
3491    <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>
3492    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3493    Loading a sampler engine</h3>
3494    
3495  <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
3496                      channel by the following command:                      channel by the following command:
3497  </p>  </p>
3498  <p></p>  <p>
3499                            </p>
3500  <blockquote class="text">  <blockquote class="text">
3501  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3502  </p>  </p>
3503  </blockquote>  </blockquote><p>
3504                        
3505    </p>
3506  <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
3507                      <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;
3508                      deployed engine should be assigned to. Even if the respective                      the sampler channel as returned by the
3509                      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
3510                      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
3511                        the engine type should be assigned to. This command should be issued
3512                        after adding a new sampler channel and before any other control
3513                        commands on the new sampler channel. It can also be used to change
3514                        the engine type of a sampler channel. This command has (currently) no
3515                        way to define or force if a new engine instance should be created and
3516                        assigned to the given sampler channel or if an already existing
3517                        instance of that engine type, shared with other sampler channels,
3518                        should be used.
3519  </p>  </p>
3520  <p>Possible Answers:  <p>Possible Answers:
3521  </p>  </p>
3522  <p></p>  <p>
3523                            </p>
3524  <blockquote class="text">  <blockquote class="text">
3525  <p>"OK" -  <p>"OK" -
3526                                  </p>                                  </p>
# Line 2784  Intellectual Property and Copyright Stat Line 3528  Intellectual Property and Copyright Stat
3528  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3529  </p>  </p>
3530  </blockquote>  </blockquote>
3531                                
3532    
3533  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3534                                  </p>                                  </p>
# Line 2793  Intellectual Property and Copyright Stat Line 3538  Intellectual Property and Copyright Stat
3538                                      warning code and warning message                                      warning code and warning message
3539  </p>  </p>
3540  </blockquote>  </blockquote>
3541                                
3542    
3543  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3544                                  </p>                                  </p>
# Line 2801  Intellectual Property and Copyright Stat Line 3547  Intellectual Property and Copyright Stat
3547                                      error message                                      error message
3548  </p>  </p>
3549  </blockquote>  </blockquote>
3550                                
3551    
3552  </blockquote>  </blockquote><p>
3553                        
3554    </p>
3555  <p>Example:  <p>Example:
3556  </p>  </p>
3557  <p></p>  <p>
3558                            </p>
3559  <blockquote class="text">  <blockquote class="text">
3560  <p>  <p>
3561  </p>  </p>
3562  </blockquote>  </blockquote><p>
3563                        
3564  <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>
3565    <a name="GET CHANNELS"></a><br /><hr />
3566    <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>
3567    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3568    Getting all created sampler channel count</h3>
3569    
3570  <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
3571                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3572                      following command:                      following command:
3573  </p>  </p>
3574  <p></p>  <p>
3575                            </p>
3576  <blockquote class="text">  <blockquote class="text">
3577  <p>GET CHANNELS  <p>GET CHANNELS
3578  </p>  </p>
3579  </blockquote>  </blockquote><p>
3580                        
3581    </p>
3582  <p>Possible Answers:  <p>Possible Answers:
3583  </p>  </p>
3584  <p></p>  <p>
3585                            </p>
3586  <blockquote class="text">  <blockquote class="text">
3587  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3588  </p>  </p>
3589  </blockquote>  </blockquote><p>
3590                        
3591    </p>
3592  <p>Example:  <p>Example:
3593  </p>  </p>
3594  <p></p>  <p>
3595                            </p>
3596  <blockquote class="text">  <blockquote class="text">
3597  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3598  </p>  </p>
3599  <p>S: "12"  <p>S: "12"
3600  </p>  </p>
3601  </blockquote>  </blockquote><p>
3602                        
3603  <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>
3604    <a name="LIST CHANNELS"></a><br /><hr />
3605    <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>
3606    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3607    Getting all created sampler channel list</h3>
3608    
3609  <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
3610                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3611                      following command:                      following command:
3612  </p>  </p>
3613  <p></p>  <p>
3614                            </p>
3615  <blockquote class="text">  <blockquote class="text">
3616  <p>LIST CHANNELS  <p>LIST CHANNELS
3617  </p>  </p>
3618  </blockquote>  </blockquote><p>
3619                        
3620    </p>
3621  <p>Possible Answers:  <p>Possible Answers:
3622  </p>  </p>
3623  <p></p>  <p>
3624                            </p>
3625  <blockquote class="text">  <blockquote class="text">
3626  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3627                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3628  </p>  </p>
3629  </blockquote>  </blockquote><p>
3630                        
3631    </p>
3632  <p>Example:  <p>Example:
3633  </p>  </p>
3634  <p></p>  <p>
3635                            </p>
3636  <blockquote class="text">  <blockquote class="text">
3637  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3638  </p>  </p>
3639  <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"
3640  </p>  </p>
3641  </blockquote>  </blockquote><p>
3642                        
3643  <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>
3644    <a name="ADD CHANNEL"></a><br /><hr />
3645    <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>
3646    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3647    Adding a new sampler channel</h3>
3648    
3649  <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
3650                      channel list by sending the following command:                      channel list by sending the following command:
3651  </p>  </p>
3652  <p></p>  <p>
3653                            </p>
3654  <blockquote class="text">  <blockquote class="text">
3655  <p>ADD CHANNEL  <p>ADD CHANNEL
3656  </p>  </p>
3657  </blockquote>  </blockquote><p>
3658                        
3659    </p>
3660  <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
3661                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3662                      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 3669  Intellectual Property and Copyright Stat
3669  </p>  </p>
3670  <p>Possible Answers:  <p>Possible Answers:
3671  </p>  </p>
3672  <p></p>  <p>
3673                            </p>
3674  <blockquote class="text">  <blockquote class="text">
3675  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3676                                  </p>                                  </p>
# Line 2908  Intellectual Property and Copyright Stat Line 3682  Intellectual Property and Copyright Stat
3682                                      commands                                      commands
3683  </p>  </p>
3684  </blockquote>  </blockquote>
3685                                
3686    
3687  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3688                                  </p>                                  </p>
# Line 2917  Intellectual Property and Copyright Stat Line 3692  Intellectual Property and Copyright Stat
3692                                      warning code and warning message                                      warning code and warning message
3693  </p>  </p>
3694  </blockquote>  </blockquote>
3695                                
3696    
3697  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3698                                  </p>                                  </p>
# Line 2925  Intellectual Property and Copyright Stat Line 3701  Intellectual Property and Copyright Stat
3701                                      error message                                      error message
3702  </p>  </p>
3703  </blockquote>  </blockquote>
3704                                
3705    
3706  </blockquote>  </blockquote><p>
3707                        
3708    </p>
3709  <p>Example:  <p>Example:
3710  </p>  </p>
3711  <p></p>  <p>
3712                            </p>
3713  <blockquote class="text">  <blockquote class="text">
3714  <p>  <p>
3715  </p>  </p>
3716  </blockquote>  </blockquote><p>
3717                        
3718  <a name="rfc.section.5.4.6"></a><h4><a name="REMOVE CHANNEL">5.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3719    <a name="REMOVE CHANNEL"></a><br /><hr />
3720    <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>
3721    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3722    Removing a sampler channel</h3>
3723    
3724  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3725  </p>  </p>
3726  <p></p>  <p>
3727                            </p>
3728  <blockquote class="text">  <blockquote class="text">
3729  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3730  </p>  </p>
3731  </blockquote>  </blockquote><p>
3732                        
3733    </p>
3734  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3735                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3736                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3737                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a>                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3738                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3739                      remain the same.                      remain the same.
3740  </p>  </p>
3741  <p>Possible Answers:  <p>Possible Answers:
3742  </p>  </p>
3743  <p></p>  <p>
3744                            </p>
3745  <blockquote class="text">  <blockquote class="text">
3746  <p>"OK" -  <p>"OK" -
3747                                  </p>                                  </p>
# Line 2963  Intellectual Property and Copyright Stat Line 3749  Intellectual Property and Copyright Stat
3749  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3750  </p>  </p>
3751  </blockquote>  </blockquote>
3752                                
3753    
3754  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3755                                  </p>                                  </p>
# Line 2972  Intellectual Property and Copyright Stat Line 3759  Intellectual Property and Copyright Stat
3759                                      warning code and warning message                                      warning code and warning message
3760  </p>  </p>
3761  </blockquote>  </blockquote>
3762                                
3763    
3764  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3765                                  </p>                                  </p>
# Line 2980  Intellectual Property and Copyright Stat Line 3768  Intellectual Property and Copyright Stat
3768                                      error message                                      error message
3769  </p>  </p>
3770  </blockquote>  </blockquote>
3771                                
3772    
3773  </blockquote>  </blockquote><p>
3774                        
3775    </p>
3776  <p>Example:  <p>Example:
3777  </p>  </p>
3778  <p></p>  <p>
3779                            </p>
3780  <blockquote class="text">  <blockquote class="text">
3781  <p>  <p>
3782  </p>  </p>
3783  </blockquote>  </blockquote><p>
3784                        
3785  <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>
3786    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3787    <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>
3788    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3789    Getting amount of available engines</h3>
3790    
3791  <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:
3792  </p>  </p>
3793  <p></p>  <p>
3794                            </p>
3795  <blockquote class="text">  <blockquote class="text">
3796  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3797  </p>  </p>
3798  </blockquote>  </blockquote><p>
3799                        
3800    </p>
3801  <p>Possible Answers:  <p>Possible Answers:
3802  </p>  </p>
3803  <p></p>  <p>
3804                            </p>
3805  <blockquote class="text">  <blockquote class="text">
3806  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3807  </p>  </p>
3808  </blockquote>  </blockquote><p>
3809                        
3810    </p>
3811  <p>Example:  <p>Example:
3812  </p>  </p>
3813  <p></p>  <p>
3814                            </p>
3815  <blockquote class="text">  <blockquote class="text">
3816  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3817  </p>  </p>
3818  <p>S: "4"  <p>S: "4"
3819  </p>  </p>
3820  </blockquote>  </blockquote><p>
3821                        
3822  <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>
3823    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3824    <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>
3825    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3826    Getting all available engines</h3>
3827    
3828  <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:
3829  </p>  </p>
3830  <p></p>  <p>
3831                            </p>
3832  <blockquote class="text">  <blockquote class="text">
3833  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3834  </p>  </p>
3835  </blockquote>  </blockquote><p>
3836                        
3837    </p>
3838  <p>Possible Answers:  <p>Possible Answers:
3839  </p>  </p>
3840  <p></p>  <p>
3841                            </p>
3842  <blockquote class="text">  <blockquote class="text">
3843  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
3844                              of the engines' names encapsulated into apostrophes (').                              of the engines' names encapsulated into apostrophes (').
3845                              Engine names can consist of lower and upper cases,                              Engine names can consist of lower and upper cases,
3846                              digits and underlines ("_" character).                              digits and underlines ("_" character).
3847  </p>  </p>
3848  </blockquote>  </blockquote><p>
3849                        
3850    </p>
3851  <p>Example:  <p>Example:
3852  </p>  </p>
3853  <p></p>  <p>
3854                            </p>
3855  <blockquote class="text">  <blockquote class="text">
3856  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3857  </p>  </p>
3858  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3859  </p>  </p>
3860  </blockquote>  </blockquote><p>
3861                        
3862  <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>
3863    <a name="GET ENGINE INFO"></a><br /><hr />
3864    <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>
3865    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3866    Getting information about an engine</h3>
3867    
3868  <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
3869                      sending the following command:                      sending the following command:
3870  </p>  </p>
3871  <p></p>  <p>
3872                            </p>
3873  <blockquote class="text">  <blockquote class="text">
3874  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3875  </p>  </p>
3876  </blockquote>  </blockquote><p>
3877                        
3878    </p>
3879  <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
3880                      <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.
3881  </p>  </p>
3882  <p>Possible Answers:  <p>Possible Answers:
3883  </p>  </p>
3884  <p></p>  <p>
3885                            </p>
3886  <blockquote class="text">  <blockquote class="text">
3887  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3888                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 3074  Intellectual Property and Copyright Stat Line 3890  Intellectual Property and Copyright Stat
3890                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3891                              the following categories are defined:                              the following categories are defined:
3892  </p>  </p>
3893  <p></p>  <p>
3894                                    </p>
3895  <blockquote class="text">  <blockquote class="text">
3896  <p>DESCRIPTION -  <p>DESCRIPTION -
3897                                          </p>                                          </p>
3898  <blockquote class="text">  <blockquote class="text">
3899  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3900                                                (note that the character string may contain
3901                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3902  </p>  </p>
3903  </blockquote>  </blockquote>
3904                                        
3905    
3906  <p>VERSION -  <p>VERSION -
3907                                          </p>                                          </p>
# Line 3089  Intellectual Property and Copyright Stat Line 3909  Intellectual Property and Copyright Stat
3909  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3910  </p>  </p>
3911  </blockquote>  </blockquote>
3912                                        
3913    
3914  </blockquote>  </blockquote>
3915                                
3916    
3917  </blockquote>  </blockquote><p>
3918                        
3919    </p>
3920  <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.
3921  </p>  </p>
3922  <p>Example:  <p>Example:
3923  </p>  </p>
3924  <p></p>  <p>
3925                            </p>
3926  <blockquote class="text">  <blockquote class="text">
3927  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3928  </p>  </p>
# Line 3108  Intellectual Property and Copyright Stat Line 3932  Intellectual Property and Copyright Stat
3932  </p>  </p>
3933  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3934  </p>  </p>
3935  </blockquote>  </blockquote><p>
3936                        
3937  <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>
3938    <a name="GET CHANNEL INFO"></a><br /><hr />
3939    <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>
3940    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3941    Getting sampler channel information</h3>
3942    
3943  <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
3944                      by sending the following command:                      by sending the following command:
3945  </p>  </p>
3946  <p></p>  <p>
3947                            </p>
3948  <blockquote class="text">  <blockquote class="text">
3949  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
3950  </p>  </p>
3951  </blockquote>  </blockquote><p>
3952                        
3953  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
3954    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
3955                        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>
3956                        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.
3957  </p>  </p>
3958  <p>Possible Answers:  <p>Possible Answers:
3959  </p>  </p>
3960  <p></p>  <p>
3961                            </p>
3962  <blockquote class="text">  <blockquote class="text">
3963  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3964                              Each answer line begins with the settings category name                              Each answer line begins with the settings category name
# Line 3133  Intellectual Property and Copyright Stat Line 3966  Intellectual Property and Copyright Stat
3966                              the info character string to that setting category. At the                              the info character string to that setting category. At the
3967                              moment the following categories are defined:                              moment the following categories are defined:
3968  </p>  </p>
3969  <p></p>  <p>
3970                                    </p>
3971  <blockquote class="text">  <blockquote class="text">
3972  <p>ENGINE_NAME -  <p>ENGINE_NAME -
3973                                          </p>                                          </p>
3974  <blockquote class="text">  <blockquote class="text">
3975  <p>name of the engine that is deployed on the sampler  <p>name of the engine that is associated with the sampler
3976                                              channel, "NONE" if there's no engine deployed yet for                                              channel, "NONE" if there's no engine associated yet for
3977                                              this sampler channel                                              this sampler channel
3978  </p>  </p>
3979  </blockquote>  </blockquote>
3980                                        
3981    
3982  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
3983                                          </p>                                          </p>
# Line 3153  Intellectual Property and Copyright Stat Line 3988  Intellectual Property and Copyright Stat
3988                                              connected to this sampler channel                                              connected to this sampler channel
3989  </p>  </p>
3990  </blockquote>  </blockquote>
3991                                        
3992    
3993  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
3994                                          </p>                                          </p>
# Line 3161  Intellectual Property and Copyright Stat Line 3997  Intellectual Property and Copyright Stat
3997                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
3998  </p>  </p>
3999  </blockquote>  </blockquote>
4000                                        
4001    
4002  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
4003                                          </p>                                          </p>
# Line 3174  Intellectual Property and Copyright Stat Line 4011  Intellectual Property and Copyright Stat
4011                                              output device                                              output device
4012  </p>  </p>
4013  </blockquote>  </blockquote>
4014                                        
4015    
4016  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
4017                                          </p>                                          </p>
4018  <blockquote class="text">  <blockquote class="text">
4019  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4020                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4021                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4022                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4023  </p>  </p>
4024  </blockquote>  </blockquote>
4025                                        
4026    
4027  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4028                                          </p>                                          </p>
# Line 3190  Intellectual Property and Copyright Stat Line 4030  Intellectual Property and Copyright Stat
4030  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument
4031  </p>  </p>
4032  </blockquote>  </blockquote>
4033                                        
4034    
4035  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
4036                                          </p>                                          </p>
4037  <blockquote class="text">  <blockquote class="text">
4038  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4039                                                (note: since LSCP 1.2 this character string may contain
4040                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4041  </p>  </p>
4042  </blockquote>  </blockquote>
4043                                        
4044    
4045  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4046                                          </p>                                          </p>
# Line 3206  Intellectual Property and Copyright Stat Line 4050  Intellectual Property and Copyright Stat
4050                                              loaded.                                              loaded.
4051  </p>  </p>
4052  </blockquote>  </blockquote>
4053                                        
4054    
4055  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
4056                                          </p>                                          </p>
# Line 3216  Intellectual Property and Copyright Stat Line 4061  Intellectual Property and Copyright Stat
4061                                              connected to this sampler channel                                              connected to this sampler channel
4062  </p>  </p>
4063  </blockquote>  </blockquote>
4064                                        
4065    
4066  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4067                                          </p>                                          </p>
# Line 3223  Intellectual Property and Copyright Stat Line 4069  Intellectual Property and Copyright Stat
4069  <p>port number of the MIDI input device  <p>port number of the MIDI input device
4070  </p>  </p>
4071  </blockquote>  </blockquote>
4072                                        
4073    
4074  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
4075                                          </p>                                          </p>
# Line 3231  Intellectual Property and Copyright Stat Line 4078  Intellectual Property and Copyright Stat
4078                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
4079  </p>  </p>
4080  </blockquote>  </blockquote>
4081                                        
4082    
4083  <p>VOLUME -  <p>VOLUME -
4084                                          </p>                                          </p>
4085  <blockquote class="text">  <blockquote class="text">
4086  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4087                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4088                                              1.0 means amplification)                                              1.0 means amplification)
4089  </p>  </p>
4090  </blockquote>  </blockquote>
4091                                        
4092    
4093    <p>MUTE -
4094                                            </p>
4095    <blockquote class="text">
4096    <p>Determines whether the channel is muted, "true" if the
4097                                                channel is muted, "false" if the channel is not muted, and
4098                                                "MUTED_BY_SOLO" if the channel is muted because of the
4099                                                presence of a solo channel and will be unmuted when
4100                                                there are no solo channels left
4101    </p>
4102    </blockquote>
4103                                        
4104    
4105    <p>SOLO -
4106                                            </p>
4107    <blockquote class="text">
4108    <p>Determines whether this is a solo channel, "true" if
4109                                                the channel is a solo channel; "false" otherwise
4110    </p>
4111    </blockquote>
4112                                        
4113    
4114    <p>MIDI_INSTRUMENT_MAP -
4115                                            </p>
4116    <blockquote class="text">
4117    <p>Determines to which MIDI instrument map this sampler
4118                                                channel is assigned to. Read chapter
4119                                                <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>
4120                                                for a list of possible values.
4121    </p>
4122  </blockquote>  </blockquote>
4123                                        
4124    
4125  </blockquote>  </blockquote>
4126                                
4127    
4128    </blockquote><p>
4129                        
4130    </p>
4131  <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.
4132  </p>  </p>
4133  <p>Example:  <p>Example:
4134  </p>  </p>
4135  <p></p>  <p>
4136                            </p>
4137  <blockquote class="text">  <blockquote class="text">
4138  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4139  </p>  </p>
# Line 3277  Intellectual Property and Copyright Stat Line 4161  Intellectual Property and Copyright Stat
4161  </p>  </p>
4162  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4163  </p>  </p>
4164    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4165    </p>
4166    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4167    </p>
4168    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4169    </p>
4170    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4171    </p>
4172  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4173  </p>  </p>
4174  </blockquote>  </blockquote><p>
4175                        
4176  <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>
4177    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4178    <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>
4179    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4180    Current number of active voices</h3>
4181    
4182  <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
4183                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4184  </p>  </p>
4185  <p></p>  <p>
4186                            </p>
4187  <blockquote class="text">  <blockquote class="text">
4188  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4189  </p>  </p>
4190  </blockquote>  </blockquote><p>
4191                        
4192  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4193    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4194                        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>
4195                        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.
4196  </p>  </p>
4197  <p>Possible Answers:  <p>Possible Answers:
4198  </p>  </p>
4199  <p></p>  <p>
4200                            </p>
4201  <blockquote class="text">  <blockquote class="text">
4202  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4203                              voices on that channel.                              voices on that channel.
4204  </p>  </p>
4205  </blockquote>  </blockquote><p>
4206                        
4207    </p>
4208  <p>Example:  <p>Example:
4209  </p>  </p>
4210  <p></p>  <p>
4211                            </p>
4212  <blockquote class="text">  <blockquote class="text">
4213  <p>  <p>
4214  </p>  </p>
4215  </blockquote>  </blockquote><p>
4216                        
4217  <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>
4218    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4219    <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>
4220    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4221    Current number of active disk streams</h3>
4222    
4223  <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
4224                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4225  </p>  </p>
4226  <p></p>  <p>
4227                            </p>
4228  <blockquote class="text">  <blockquote class="text">
4229  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4230  </p>  </p>
4231  </blockquote>  </blockquote><p>
4232                        
4233  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4234    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4235                        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>
4236                        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.
4237  </p>  </p>
4238  <p>Possible Answers:  <p>Possible Answers:
4239  </p>  </p>
4240  <p></p>  <p>
4241                            </p>
4242  <blockquote class="text">  <blockquote class="text">
4243  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4244                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4245                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4246                              return "NA" for not available.                              return "NA" for not available.
4247  </p>  </p>
4248  </blockquote>  </blockquote><p>
4249                        
4250    </p>
4251  <p>Example:  <p>Example:
4252  </p>  </p>
4253  <p></p>  <p>
4254                            </p>
4255  <blockquote class="text">  <blockquote class="text">
4256  <p>  <p>
4257  </p>  </p>
4258  </blockquote>  </blockquote><p>
4259                        
4260  <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>
4261    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4262    <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>
4263    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4264    Current fill state of disk stream buffers</h3>
4265    
4266  <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
4267                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4268  </p>  </p>
4269  <p></p>  <p>
4270                            </p>
4271  <blockquote class="text">  <blockquote class="text">
4272  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4273  </p>  </p>
4274  </blockquote>  </blockquote><p>
4275                        
4276    </p>
4277  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4278  </p>  </p>
4279  <p></p>  <p>
4280                            </p>
4281  <blockquote class="text">  <blockquote class="text">
4282  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4283  </p>  </p>
4284  </blockquote>  </blockquote><p>
4285                        
4286    </p>
4287  <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
4288                      sampler channel number the front-end is interested in.                      sampler channel number the front-end is interested in
4289                        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>
4290                        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.
4291  </p>  </p>
4292  <p>Possible Answers:  <p>Possible Answers:
4293  </p>  </p>
4294  <p></p>  <p>
4295                            </p>
4296  <blockquote class="text">  <blockquote class="text">
4297  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4298                              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 3380  Intellectual Property and Copyright Stat Line 4305  Intellectual Property and Copyright Stat
4305                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4306                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4307  </p>  </p>
4308  </blockquote>  </blockquote><p>
4309                        
4310    </p>
4311  <p>Examples:  <p>Examples:
4312  </p>  </p>
4313  <p></p>  <p>
4314                            </p>
4315  <blockquote class="text">  <blockquote class="text">
4316  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4317  </p>  </p>
4318  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
4319  </p>  </p>
4320  </blockquote>  </blockquote><p>
4321    
4322                            </p>
4323  <blockquote class="text">  <blockquote class="text">
4324  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4325  </p>  </p>
4326  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4327  </p>  </p>
4328  </blockquote>  </blockquote><p>
4329    
4330                            </p>
4331  <blockquote class="text">  <blockquote class="text">
4332  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4333  </p>  </p>
4334  <p>S: ""  <p>S: ""
4335  </p>  </p>
4336  </blockquote>  </blockquote><p>
4337                        
4338  <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>
4339    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4340    <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>
4341    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4342    Setting audio output device</h3>
4343    
4344  <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
4345                      channel by sending the following command:                      channel by sending the following command:
4346  </p>  </p>
4347  <p></p>  <p>
4348                            </p>
4349  <blockquote class="text">  <blockquote class="text">
4350  <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;
4351  </p>  </p>
4352  </blockquote>  </blockquote><p>
4353                        
4354  <p>Where &lt;audio-device-id&gt; is the numerical ID of the audio output  </p>
4355                      device and &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4356                      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>
4357                        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
4358                        &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4359                        <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>
4360                        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>
4361                        command.
4362  </p>  </p>
4363  <p>Possible Answers:  <p>Possible Answers:
4364  </p>  </p>
4365  <p></p>  <p>
4366                            </p>
4367  <blockquote class="text">  <blockquote class="text">
4368  <p>"OK" -  <p>"OK" -
4369                                  </p>                                  </p>
# Line 3429  Intellectual Property and Copyright Stat Line 4371  Intellectual Property and Copyright Stat
4371  <p>on success  <p>on success
4372  </p>  </p>
4373  </blockquote>  </blockquote>
4374                                
4375    
4376  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4377                                  </p>                                  </p>
# Line 3438  Intellectual Property and Copyright Stat Line 4381  Intellectual Property and Copyright Stat
4381                                      warning message                                      warning message
4382  </p>  </p>
4383  </blockquote>  </blockquote>
4384                                
4385    
4386  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4387                                  </p>                                  </p>
# Line 3445  Intellectual Property and Copyright Stat Line 4389  Intellectual Property and Copyright Stat
4389  <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
4390  </p>  </p>
4391  </blockquote>  </blockquote>
4392                                
4393    
4394  </blockquote>  </blockquote><p>
4395                        
4396    </p>
4397  <p>Examples:  <p>Examples:
4398  </p>  </p>
4399  <p></p>  <p>
4400                            </p>
4401  <blockquote class="text">  <blockquote class="text">
4402  <p>  <p>
4403  </p>  </p>
4404  </blockquote>  </blockquote><p>
4405                        
4406  <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>
4407    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4408    <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>
4409    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4410    Setting audio output type</h3>
4411    
4412  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4413  </p>  </p>
4414  <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
4415                      channel by sending the following command:                      channel by sending the following command:
4416  </p>  </p>
4417  <p></p>  <p>
4418                            </p>
4419  <blockquote class="text">  <blockquote class="text">
4420  <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;
4421  </p>  </p>
4422  </blockquote>  </blockquote><p>
4423                        
4424    </p>
4425  <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
4426                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4427  </p>  </p>
4428  <p>Possible Answers:  <p>Possible Answers:
4429  </p>  </p>
4430  <p></p>  <p>
4431                            </p>
4432  <blockquote class="text">  <blockquote class="text">
4433  <p>"OK" -  <p>"OK" -
4434                                  </p>                                  </p>
# Line 3482  Intellectual Property and Copyright Stat Line 4436  Intellectual Property and Copyright Stat
4436  <p>on success  <p>on success
4437  </p>  </p>
4438  </blockquote>  </blockquote>
4439                                
4440    
4441  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4442                                  </p>                                  </p>
# Line 3491  Intellectual Property and Copyright Stat Line 4446  Intellectual Property and Copyright Stat
4446                                      warning message                                      warning message
4447  </p>  </p>
4448  </blockquote>  </blockquote>
4449                                
4450    
4451  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4452                                  </p>                                  </p>
# Line 3498  Intellectual Property and Copyright Stat Line 4454  Intellectual Property and Copyright Stat
4454  <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
4455  </p>  </p>
4456  </blockquote>  </blockquote>
4457                                
4458    
4459  </blockquote>  </blockquote><p>
4460                        
4461    </p>
4462  <p>Examples:  <p>Examples:
4463  </p>  </p>
4464  <p></p>  <p>
4465                            </p>
4466  <blockquote class="text">  <blockquote class="text">
4467  <p>  <p>
4468  </p>  </p>
4469  </blockquote>  </blockquote><p>
4470                        
4471  <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>
4472    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4473    <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>
4474    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4475    Setting audio output channel</h3>
4476    
4477  <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
4478                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4479  </p>  </p>
4480  <p></p>  <p>
4481                            </p>
4482  <blockquote class="text">  <blockquote class="text">
4483  <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;
4484  </p>  </p>
4485  </blockquote>  </blockquote><p>
4486                        
4487  <p>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the  </p>
4488    <p>Where &lt;sampler-chan&gt; is the sampler channel number
4489                        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>
4490                        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
4491                      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
4492                      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
4493                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4494  </p>  </p>
4495  <p>Possible Answers:  <p>Possible Answers:
4496  </p>  </p>
4497  <p></p>  <p>
4498                            </p>
4499  <blockquote class="text">  <blockquote class="text">
4500  <p>"OK" -  <p>"OK" -
4501                                  </p>                                  </p>
# Line 3535  Intellectual Property and Copyright Stat Line 4503  Intellectual Property and Copyright Stat
4503  <p>on success  <p>on success
4504  </p>  </p>
4505  </blockquote>  </blockquote>
4506                                
4507    
4508  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4509                                  </p>                                  </p>
# Line 3544  Intellectual Property and Copyright Stat Line 4513  Intellectual Property and Copyright Stat
4513                                      warning message                                      warning message
4514  </p>  </p>
4515  </blockquote>  </blockquote>
4516                                
4517    
4518  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4519                                  </p>                                  </p>
# Line 3551  Intellectual Property and Copyright Stat Line 4521  Intellectual Property and Copyright Stat
4521  <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
4522  </p>  </p>
4523  </blockquote>  </blockquote>
4524                                
4525    
4526  </blockquote>  </blockquote><p>
4527                        
4528    </p>
4529  <p>Examples:  <p>Examples:
4530  </p>  </p>
4531  <p></p>  <p>
4532                            </p>
4533  <blockquote class="text">  <blockquote class="text">
4534  <p>  <p>
4535  </p>  </p>
4536  </blockquote>  </blockquote><p>
4537                        
4538  <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>
4539    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4540    <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>
4541    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4542    Setting MIDI input device</h3>
4543    
4544  <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
4545                      channel by sending the following command:                      channel by sending the following command:
4546  </p>  </p>
4547  <p></p>  <p>
4548                            </p>
4549  <blockquote class="text">  <blockquote class="text">
4550  <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;
4551  </p>  </p>
4552  </blockquote>  </blockquote><p>
4553                        
4554  <p>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the  </p>
4555                      the numerical ID of the MIDI input device.  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4556                        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>
4557                        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
4558                        and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4559                        <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>
4560                        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.
4561  </p>  </p>
4562  <p>Possible Answers:  <p>Possible Answers:
4563  </p>  </p>
4564  <p></p>  <p>
4565                            </p>
4566  <blockquote class="text">  <blockquote class="text">
4567  <p>"OK" -  <p>"OK" -
4568                                  </p>                                  </p>
# Line 3586  Intellectual Property and Copyright Stat Line 4570  Intellectual Property and Copyright Stat
4570  <p>on success  <p>on success
4571  </p>  </p>
4572  </blockquote>  </blockquote>
4573                                
4574    
4575  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4576                                  </p>                                  </p>
# Line 3595  Intellectual Property and Copyright Stat Line 4580  Intellectual Property and Copyright Stat
4580                                      warning message                                      warning message
4581  </p>  </p>
4582  </blockquote>  </blockquote>
4583                                
4584    
4585  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4586                                  </p>                                  </p>
# Line 3602  Intellectual Property and Copyright Stat Line 4588  Intellectual Property and Copyright Stat
4588  <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
4589  </p>  </p>
4590  </blockquote>  </blockquote>
4591                                
4592    
4593  </blockquote>  </blockquote><p>
4594                        
4595    </p>
4596  <p>Examples:  <p>Examples:
4597  </p>  </p>
4598  <p></p>  <p>
4599                            </p>
4600  <blockquote class="text">  <blockquote class="text">
4601  <p>  <p>
4602  </p>  </p>
4603  </blockquote>  </blockquote><p>
4604                        
4605  <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>
4606    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4607    <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>
4608    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4609    Setting MIDI input type</h3>
4610    
4611  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4612  </p>  </p>
4613  <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
4614                      channel by sending the following command:                      channel by sending the following command:
4615  </p>  </p>
4616  <p></p>  <p>
4617                            </p>
4618  <blockquote class="text">  <blockquote class="text">
4619  <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;
4620  </p>  </p>
4621  </blockquote>  </blockquote><p>
4622                        
4623    </p>
4624  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4625                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4626  </p>  </p>
4627  <p>Possible Answers:  <p>Possible Answers:
4628  </p>  </p>
4629  <p></p>  <p>
4630                            </p>
4631  <blockquote class="text">  <blockquote class="text">
4632  <p>"OK" -  <p>"OK" -
4633                                  </p>                                  </p>
# Line 3639  Intellectual Property and Copyright Stat Line 4635  Intellectual Property and Copyright Stat
4635  <p>on success  <p>on success
4636  </p>  </p>
4637  </blockquote>  </blockquote>
4638                                
4639    
4640  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4641                                  </p>                                  </p>
# Line 3648  Intellectual Property and Copyright Stat Line 4645  Intellectual Property and Copyright Stat
4645                                      warning message                                      warning message
4646  </p>  </p>
4647  </blockquote>  </blockquote>
4648                                
4649    
4650  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4651                                  </p>                                  </p>
# Line 3655  Intellectual Property and Copyright Stat Line 4653  Intellectual Property and Copyright Stat
4653  <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
4654  </p>  </p>
4655  </blockquote>  </blockquote>
4656                                
4657    
4658  </blockquote>  </blockquote><p>
4659                        
4660    </p>
4661  <p>Examples:  <p>Examples:
4662  </p>  </p>
4663  <p></p>  <p>
4664                            </p>
4665  <blockquote class="text">  <blockquote class="text">
4666  <p>  <p>
4667  </p>  </p>
4668  </blockquote>  </blockquote><p>
4669                        
4670  <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>
4671    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4672    <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>
4673    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4674    Setting MIDI input port</h3>
4675    
4676  <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
4677                      channel by sending the following command:                      channel by sending the following command:
4678  </p>  </p>
4679  <p></p>  <p>
4680                            </p>
4681  <blockquote class="text">  <blockquote class="text">
4682  <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;
4683  </p>  </p>
4684  </blockquote>  </blockquote><p>
4685                        
4686    </p>
4687  <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
4688                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4689                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4690  </p>  </p>
4691  <p>Possible Answers:  <p>Possible Answers:
4692  </p>  </p>
4693  <p></p>  <p>
4694                            </p>
4695  <blockquote class="text">  <blockquote class="text">
4696  <p>"OK" -  <p>"OK" -
4697                                  </p>                                  </p>
# Line 3691  Intellectual Property and Copyright Stat Line 4699  Intellectual Property and Copyright Stat
4699  <p>on success  <p>on success
4700  </p>  </p>
4701  </blockquote>  </blockquote>
4702                                
4703    
4704  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4705                                  </p>                                  </p>
# Line 3700  Intellectual Property and Copyright Stat Line 4709  Intellectual Property and Copyright Stat
4709                                      warning message                                      warning message
4710  </p>  </p>
4711  </blockquote>  </blockquote>
4712                                
4713    
4714  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4715                                  </p>                                  </p>
# Line 3707  Intellectual Property and Copyright Stat Line 4717  Intellectual Property and Copyright Stat
4717  <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
4718  </p>  </p>
4719  </blockquote>  </blockquote>
4720                                
4721    
4722  </blockquote>  </blockquote><p>
4723                        
4724    </p>
4725  <p>Examples:  <p>Examples:
4726  </p>  </p>
4727  <p></p>  <p>
4728                            </p>
4729  <blockquote class="text">  <blockquote class="text">
4730  <p>  <p>
4731  </p>  </p>
4732  </blockquote>  </blockquote><p>
4733                        
4734  <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>
4735    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4736    <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>
4737    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4738    Setting MIDI input channel</h3>
4739    
4740  <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
4741                      listen to by sending the following command:                      listen to by sending the following command:
4742  </p>  </p>
4743  <p></p>  <p>
4744                            </p>
4745  <blockquote class="text">  <blockquote class="text">
4746  <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;
4747  </p>  </p>
4748  </blockquote>  </blockquote><p>
4749                        
4750    </p>
4751  <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
4752                      &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
4753                      channels.                      channels.
4754  </p>  </p>
4755  <p>Possible Answers:  <p>Possible Answers:
4756  </p>  </p>
4757  <p></p>  <p>
4758                            </p>
4759  <blockquote class="text">  <blockquote class="text">
4760  <p>"OK" -  <p>"OK" -
4761                                  </p>                                  </p>
# Line 3743  Intellectual Property and Copyright Stat Line 4763  Intellectual Property and Copyright Stat
4763  <p>on success  <p>on success
4764  </p>  </p>
4765  </blockquote>  </blockquote>
4766                                
4767    
4768  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4769                                  </p>                                  </p>
# Line 3752  Intellectual Property and Copyright Stat Line 4773  Intellectual Property and Copyright Stat
4773                                      warning message                                      warning message
4774  </p>  </p>
4775  </blockquote>  </blockquote>
4776                                
4777    
4778  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4779                                  </p>                                  </p>
# Line 3759  Intellectual Property and Copyright Stat Line 4781  Intellectual Property and Copyright Stat
4781  <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
4782  </p>  </p>
4783  </blockquote>  </blockquote>
4784                                
4785    
4786  </blockquote>  </blockquote><p>
4787                        
4788    </p>
4789  <p>Examples:  <p>Examples:
4790  </p>  </p>
4791  <p></p>  <p>
4792                            </p>
4793  <blockquote class="text">  <blockquote class="text">
4794  <p>  <p>
4795  </p>  </p>
4796  </blockquote>  </blockquote><p>
4797                        
4798  <a name="rfc.section.5.4.21"></a><h4><a name="SET CHANNEL VOLUME">5.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4799    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4800    <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>
4801    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4802    Setting channel volume</h3>
4803    
4804  <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
4805                      the following command:                      the following command:
4806  </p>  </p>
4807  <p></p>  <p>
4808                            </p>
4809  <blockquote class="text">  <blockquote class="text">
4810  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4811  </p>  </p>
4812  </blockquote>  </blockquote><p>
4813                        
4814    </p>
4815  <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
4816                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4817                      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 3788  Intellectual Property and Copyright Stat Line 4819  Intellectual Property and Copyright Stat
4819  </p>  </p>
4820  <p>Possible Answers:  <p>Possible Answers:
4821  </p>  </p>
4822  <p></p>  <p>
4823                            </p>
4824  <blockquote class="text">  <blockquote class="text">
4825  <p>"OK" -  <p>"OK" -
4826                                  </p>                                  </p>
# Line 3796  Intellectual Property and Copyright Stat Line 4828  Intellectual Property and Copyright Stat
4828  <p>on success  <p>on success
4829  </p>  </p>
4830  </blockquote>  </blockquote>
4831                                
4832    
4833  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4834                                  </p>                                  </p>
# Line 3805  Intellectual Property and Copyright Stat Line 4838  Intellectual Property and Copyright Stat
4838                                      warning message                                      warning message
4839  </p>  </p>
4840  </blockquote>  </blockquote>
4841                                
4842    
4843  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4844                                  </p>                                  </p>
# Line 3812  Intellectual Property and Copyright Stat Line 4846  Intellectual Property and Copyright Stat
4846  <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
4847  </p>  </p>
4848  </blockquote>  </blockquote>
4849                                
4850    
4851    </blockquote><p>
4852                        
4853    </p>
4854    <p>Examples:
4855    </p>
4856    <p>
4857                            </p>
4858    <blockquote class="text">
4859    <p>
4860    </p>
4861    </blockquote><p>
4862                        
4863    </p>
4864    <a name="SET CHANNEL MUTE"></a><br /><hr />
4865    <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>
4866    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4867    Muting a sampler channel</h3>
4868    
4869    <p>The front-end can mute/unmute a specific sampler
4870                        channel by sending the following command:
4871    </p>
4872    <p>
4873                            </p>
4874    <blockquote class="text">
4875    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4876    </p>
4877    </blockquote><p>
4878                        
4879    </p>
4880    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4881                        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>
4882                        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
4883                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4884                        to unmute the channel.
4885    </p>
4886    <p>Possible Answers:
4887    </p>
4888    <p>
4889                            </p>
4890    <blockquote class="text">
4891    <p>"OK" -
4892                                    </p>
4893    <blockquote class="text">
4894    <p>on success
4895    </p>
4896    </blockquote>
4897                                
4898    
4899    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4900                                    </p>
4901    <blockquote class="text">
4902    <p>if the channel was muted/unmuted, but there are noteworthy
4903                                        issue(s) related, providing an appropriate warning code and
4904                                        warning message
4905    </p>
4906    </blockquote>
4907                                
4908    
4909    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4910                                    </p>
4911    <blockquote class="text">
4912    <p>in case it failed, providing an appropriate error code and error message
4913    </p>
4914    </blockquote>
4915                                
4916    
4917    </blockquote><p>
4918                        
4919    </p>
4920    <p>Examples:
4921    </p>
4922    <p>
4923                            </p>
4924    <blockquote class="text">
4925    <p>
4926    </p>
4927    </blockquote><p>
4928                        
4929    </p>
4930    <a name="SET CHANNEL SOLO"></a><br /><hr />
4931    <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>
4932    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4933    Soloing a sampler channel</h3>
4934    
4935    <p>The front-end can solo/unsolo a specific sampler channel
4936                        by sending the following command:
4937    </p>
4938    <p>
4939                            </p>
4940    <blockquote class="text">
4941    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4942    </p>
4943    </blockquote><p>
4944                        
4945    </p>
4946    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4947                        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>
4948                        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
4949                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4950                        to unsolo the channel.
4951    </p>
4952    <p>Possible Answers:
4953    </p>
4954    <p>
4955                            </p>
4956    <blockquote class="text">
4957    <p>"OK" -
4958                                    </p>
4959    <blockquote class="text">
4960    <p>on success
4961    </p>
4962    </blockquote>
4963                                
4964    
4965    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4966                                    </p>
4967    <blockquote class="text">
4968    <p>if the channel was soloed/unsoloed, but there are noteworthy
4969                                        issue(s) related, providing an appropriate warning code and
4970                                        warning message
4971    </p>
4972    </blockquote>
4973                                
4974    
4975    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4976                                    </p>
4977    <blockquote class="text">
4978    <p>in case it failed, providing an appropriate error code and error message
4979    </p>
4980  </blockquote>  </blockquote>
4981                                
4982    
4983    </blockquote><p>
4984                        
4985    </p>
4986  <p>Examples:  <p>Examples:
4987  </p>  </p>
4988  <p></p>  <p>
4989                            </p>
4990    <blockquote class="text">
4991    <p>
4992    </p>
4993    </blockquote><p>
4994                        
4995    </p>
4996    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4997    <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>
4998    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4999    Assigning a MIDI instrument map to a sampler channel</h3>
5000    
5001    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5002                        by sending the following command:
5003    </p>
5004    <p>
5005                            </p>
5006  <blockquote class="text">  <blockquote class="text">
5007    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5008    </p>
5009    </blockquote><p>
5010                        
5011    </p>
5012    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5013                        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>
5014                        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
5015                        &lt;map&gt; can have the following possibilites:
5016    </p>
5017  <p>  <p>
5018                            </p>
5019    <blockquote class="text">
5020    <p>"NONE" -
5021                                    </p>
5022    <blockquote class="text">
5023    <p>This is the default setting. In this case
5024                                        the sampler channel is not assigned any MIDI
5025                                        instrument map and thus will ignore all MIDI
5026                                        program change messages.
5027  </p>  </p>
5028  </blockquote>  </blockquote>
5029                                
5030    
5031  <a name="rfc.section.5.4.22"></a><h4><a name="RESET CHANNEL">5.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>"DEFAULT" -
5032                                    </p>
5033    <blockquote class="text">
5034    <p>The sampler channel will always use the
5035                                        default MIDI instrument map to handle MIDI
5036                                        program change messages.
5037    </p>
5038    </blockquote>
5039                                
5040    
5041  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>numeric ID -
5042                                    </p>
5043    <blockquote class="text">
5044    <p>You can assign a specific MIDI instrument map
5045                                        by replacing &lt;map&gt; with the respective numeric
5046                                        ID of the MIDI instrument map as returned by the
5047                                        <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>
5048                                        command. Once that map will be deleted, the sampler
5049                                        channel would fall back to "NONE".
5050    </p>
5051    </blockquote>
5052                                
5053    
5054    </blockquote><p>
5055                        
5056    </p>
5057    <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>
5058                        for details regarding MIDI instrument mapping.
5059    </p>
5060    <p>Possible Answers:
5061  </p>  </p>
5062  <p></p>  <p>
5063                            </p>
5064  <blockquote class="text">  <blockquote class="text">
5065  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>"OK" -
5066                                    </p>
5067    <blockquote class="text">
5068    <p>on success
5069  </p>  </p>
5070  </blockquote>  </blockquote>
5071                                
5072    
5073    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5074                                    </p>
5075    <blockquote class="text">
5076    <p>in case it failed, providing an appropriate error code and error message
5077    </p>
5078    </blockquote>
5079                                
5080    
5081    </blockquote><p>
5082                        
5083    </p>
5084    <p>Examples:
5085    </p>
5086    <p>
5087                            </p>
5088    <blockquote class="text">
5089    <p>
5090    </p>
5091    </blockquote><p>
5092                        
5093    </p>
5094    <a name="CREATE FX_SEND"></a><br /><hr />
5095    <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>
5096    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5097    Adding an effect send to a sampler channel</h3>
5098    
5099    <p>The front-end can create an additional effect send on a specific sampler channel
5100                        by sending the following command:
5101    </p>
5102    <p>
5103                            </p>
5104    <blockquote class="text">
5105    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5106    </p>
5107    </blockquote><p>
5108                        
5109    </p>
5110    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5111                        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>
5112                        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
5113                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5114                        is a number between 0..127 defining the MIDI controller which can alter the
5115                        effect send level and &lt;name&gt; is an optional argument defining a name
5116                        for the effect send entity. The name does not have to be unique, but MUST be
5117                        encapsulated into apostrophes and supports escape sequences as described in chapter
5118                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
5119    </p>
5120    <p>By default, that is as initial routing, the effect send's audio channels
5121                        are automatically routed to the last audio channels of the sampler channel's
5122                        audio output device, that way you can i.e. first increase the amount of audio
5123                        channels on the audio output device for having dedicated effect send output
5124                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5125                        be picked. You can alter the destination channels however with
5126                        <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>.
5127                        
5128    </p>
5129    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5130                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5131                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5132                        the voices and route the audio signal afterwards to the master outputs and effect send
5133                        outputs (along with their respective effect send levels). A sampler channel without effect
5134                        sends however can mix its voices directly into the audio output devices's audio buffers
5135                        and is thus faster.
5136                        
5137    </p>
5138    <p>Possible Answers:
5139    </p>
5140    <p>
5141                            </p>
5142    <blockquote class="text">
5143    <p>"OK[&lt;fx-send-id&gt;]" -
5144                                    </p>
5145    <blockquote class="text">
5146    <p>in case a new effect send could be added to the
5147                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5148                                        unique ID of the newly created effect send entity
5149    </p>
5150    </blockquote>
5151                                
5152    
5153    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5154                                    </p>
5155    <blockquote class="text">
5156    <p>when a new effect send could not be added, i.e.
5157                                        due to invalid parameters
5158    </p>
5159    </blockquote>
5160                                
5161    
5162    </blockquote><p>
5163                        
5164    </p>
5165    <p>Examples:
5166    </p>
5167    <p>
5168                            </p>
5169    <blockquote class="text">
5170    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5171    </p>
5172    <p>S: "OK[0]"
5173    </p>
5174    </blockquote><p>
5175                        
5176    </p>
5177    <p>
5178                            </p>
5179    <blockquote class="text">
5180    <p>C: "CREATE FX_SEND 0 93"
5181    </p>
5182    <p>S: "OK[1]"
5183    </p>
5184    </blockquote><p>
5185                        
5186    </p>
5187    <a name="DESTROY FX_SEND"></a><br /><hr />
5188    <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>
5189    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5190    Removing an effect send from a sampler channel</h3>
5191    
5192    <p>The front-end can remove an existing effect send on a specific sampler channel
5193                        by sending the following command:
5194    </p>
5195    <p>
5196                            </p>
5197    <blockquote class="text">
5198    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5199    </p>
5200    </blockquote><p>
5201                        
5202    </p>
5203    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5204                        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>
5205                        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
5206                        sampler channel from which the effect send should be removed from and
5207                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5208                        <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>
5209                        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.
5210    </p>
5211    <p>Possible Answers:
5212    </p>
5213    <p>
5214                            </p>
5215    <blockquote class="text">
5216    <p>"OK" -
5217                                    </p>
5218    <blockquote class="text">
5219    <p>on success
5220    </p>
5221    </blockquote>
5222                                
5223    
5224    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5225                                    </p>
5226    <blockquote class="text">
5227    <p>in case it failed, providing an appropriate error code and
5228                                        error message
5229    </p>
5230    </blockquote>
5231                                
5232    
5233    </blockquote><p>
5234                        
5235    </p>
5236    <p>Example:
5237    </p>
5238    <p>
5239                            </p>
5240    <blockquote class="text">
5241    <p>C: "DESTROY FX_SEND 0 0"
5242    </p>
5243    <p>S: "OK"
5244    </p>
5245    </blockquote><p>
5246                        
5247    </p>
5248    <a name="GET FX_SENDS"></a><br /><hr />
5249    <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>
5250    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5251    Getting amount of effect sends on a sampler channel</h3>
5252    
5253    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5254                        by sending the following command:
5255    </p>
5256    <p>
5257                            </p>
5258    <blockquote class="text">
5259    <p>GET FX_SENDS &lt;sampler-channel&gt;
5260    </p>
5261    </blockquote><p>
5262                        
5263    </p>
5264    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5265                        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>
5266                        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.
5267    </p>
5268    <p>Possible Answers:
5269    </p>
5270    <p>
5271                            </p>
5272    <blockquote class="text">
5273    <p>The sampler will answer by returning the number of effect
5274                                sends on the given sampler channel.
5275    </p>
5276    </blockquote><p>
5277                        
5278    </p>
5279    <p>Example:
5280    </p>
5281    <p>
5282                            </p>
5283    <blockquote class="text">
5284    <p>C: "GET FX_SENDS 0"
5285    </p>
5286    <p>S: "2"
5287    </p>
5288    </blockquote><p>
5289                        
5290    </p>
5291    <a name="LIST FX_SENDS"></a><br /><hr />
5292    <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>
5293    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5294    Listing all effect sends on a sampler channel</h3>
5295    
5296    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5297                        by sending the following command:
5298    </p>
5299    <p>
5300                            </p>
5301    <blockquote class="text">
5302    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5303    </p>
5304    </blockquote><p>
5305                        
5306    </p>
5307    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5308                        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>
5309                        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.
5310    </p>
5311    <p>Possible Answers:
5312    </p>
5313    <p>
5314                            </p>
5315    <blockquote class="text">
5316    <p>The sampler will answer by returning a comma separated list
5317                                with all effect sends' numerical IDs on the given sampler
5318                                channel.
5319    </p>
5320    </blockquote><p>
5321                        
5322    </p>
5323    <p>Examples:
5324    </p>
5325    <p>
5326                            </p>
5327    <blockquote class="text">
5328    <p>C: "LIST FX_SENDS 0"
5329    </p>
5330    <p>S: "0,1"
5331    </p>
5332    </blockquote><p>
5333                        
5334    </p>
5335    <p>
5336                            </p>
5337    <blockquote class="text">
5338    <p>C: "LIST FX_SENDS 1"
5339    </p>
5340    <p>S: ""
5341    </p>
5342    </blockquote><p>
5343                        
5344    </p>
5345    <a name="GET FX_SEND INFO"></a><br /><hr />
5346    <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>
5347    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5348    Getting effect send information</h3>
5349    
5350    <p>The front-end can ask for the current settings of an effect send entity
5351                        by sending the following command:
5352    </p>
5353    <p>
5354                            </p>
5355    <blockquote class="text">
5356    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5357    </p>
5358    </blockquote><p>
5359                        
5360    </p>
5361    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5362                        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>
5363                        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
5364                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5365                        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>
5366                        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.
5367                      
5368    </p>
5369    <p>Possible Answers:
5370    </p>
5371    <p>
5372                            </p>
5373    <blockquote class="text">
5374    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5375                                Each answer line begins with the settings category name
5376                                followed by a colon and then a space character &lt;SP&gt; and finally
5377                                the info character string to that setting category. At the
5378                                moment the following categories are defined:
5379    </p>
5380    <p>
5381                                    </p>
5382    <blockquote class="text">
5383    <p>NAME -
5384                                            </p>
5385    <blockquote class="text">
5386    <p>name of the effect send entity
5387                                                (note that this character string may contain
5388                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5389    </p>
5390    </blockquote>
5391                                        
5392    
5393    <p>MIDI_CONTROLLER -
5394                                            </p>
5395    <blockquote class="text">
5396    <p>a value between 0 and 127 reflecting the MIDI controller
5397                                                which is able to modify the effect send's send level
5398    </p>
5399    </blockquote>
5400                                        
5401    
5402    <p>LEVEL -
5403                                            </p>
5404    <blockquote class="text">
5405    <p>optionally dotted number reflecting the effect send's
5406                                                current send level (where a value &lt; 1.0 means attenuation
5407                                                and a value > 1.0 means amplification)
5408    </p>
5409    </blockquote>
5410                                        
5411    
5412    <p>AUDIO_OUTPUT_ROUTING -
5413                                            </p>
5414    <blockquote class="text">
5415    <p>comma separated list which reflects to which audio
5416                                                channel of the selected audio output device each
5417                                                effect send output channel is routed to, e.g. "0,3" would
5418                                                mean the effect send's output channel 0 is routed to channel
5419                                                0 of the audio output device and the effect send's output
5420                                                channel 1 is routed to the channel 3 of the audio
5421                                                output device (see
5422                                                <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>
5423                                                for details)
5424    </p>
5425    </blockquote>
5426                                        
5427    
5428    </blockquote>
5429                                
5430    
5431    </blockquote><p>
5432                        
5433    </p>
5434    <p>The mentioned fields above don't have to be in particular order.
5435    </p>
5436    <p>Example:
5437    </p>
5438    <p>
5439                            </p>
5440    <blockquote class="text">
5441    <p>C: "GET FX_SEND INFO 0 0"
5442    </p>
5443    <p>S: "NAME: Reverb Send"
5444    </p>
5445    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5446    </p>
5447    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5448    </p>
5449    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5450    </p>
5451    <p>&nbsp;&nbsp;&nbsp;"."
5452    </p>
5453    </blockquote><p>
5454                        
5455    </p>
5456    <a name="SET FX_SEND NAME"></a><br /><hr />
5457    <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>
5458    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5459    Changing effect send's name</h3>
5460    
5461    <p>The front-end can alter the current name of an effect
5462                        send entity by sending the following command:
5463    </p>
5464    <p>
5465                            </p>
5466    <blockquote class="text">
5467    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5468    </p>
5469    </blockquote><p>
5470                        
5471    </p>
5472    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5473                        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>
5474                        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,
5475                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5476                        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>
5477                        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
5478                        &lt;name&gt; is the new name of the effect send entity, which
5479                        does not have to be unique (name MUST be encapsulated into apostrophes
5480                        and supports escape sequences as described in chapter
5481                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
5482                        
5483    </p>
5484    <p>Possible Answers:
5485    </p>
5486    <p>
5487                            </p>
5488    <blockquote class="text">
5489    <p>"OK" -
5490                                    </p>
5491    <blockquote class="text">
5492    <p>on success
5493    </p>
5494    </blockquote>
5495                                
5496    
5497    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5498                                    </p>
5499    <blockquote class="text">
5500    <p>in case it failed, providing an appropriate error code and error message
5501    </p>
5502    </blockquote>
5503                                
5504    
5505    </blockquote><p>
5506                        
5507    </p>
5508    <p>Example:
5509    </p>
5510    <p>
5511                            </p>
5512    <blockquote class="text">
5513    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5514    </p>
5515    <p>S: "OK"
5516    </p>
5517    </blockquote><p>
5518                        
5519    </p>
5520    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5521    <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>
5522    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5523    Altering effect send's audio routing</h3>
5524    
5525    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5526                        sampler channel by sending the following command:
5527    </p>
5528    <p>
5529                            </p>
5530    <blockquote class="text">
5531    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5532    </p>
5533    </blockquote><p>
5534                        
5535    </p>
5536    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5537                        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>
5538                        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,
5539                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5540                        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>
5541                        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,
5542                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5543                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5544                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5545                        should be routed to.
5546    </p>
5547    <p>Note that effect sends can only route audio to the same audio output
5548                        device as assigned to the effect send's sampler channel. Also note that an
5549                        effect send entity does always have exactly as much audio channels as its
5550                        sampler channel. So if the sampler channel is stereo, the effect send does
5551                        have two audio channels as well. Also keep in mind that the amount of audio
5552                        channels on a sampler channel might be dependant not only to the deployed
5553                        sampler engine on the sampler channel, but also dependant to the instrument
5554                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5555                        send into a mono one by simply altering its audio routing appropriately.
5556    </p>
5557    <p>Possible Answers:
5558    </p>
5559    <p>
5560                            </p>
5561    <blockquote class="text">
5562    <p>"OK" -
5563                                    </p>
5564    <blockquote class="text">
5565    <p>on success
5566    </p>
5567    </blockquote>
5568                                
5569    
5570    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5571                                    </p>
5572    <blockquote class="text">
5573    <p>if audio output channel was set, but there are noteworthy
5574                                        issue(s) related, providing an appropriate warning code and
5575                                        warning message
5576    </p>
5577    </blockquote>
5578                                
5579    
5580    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5581                                    </p>
5582    <blockquote class="text">
5583    <p>in case it failed, providing an appropriate error code and error message
5584    </p>
5585    </blockquote>
5586                                
5587    
5588    </blockquote><p>
5589                        
5590    </p>
5591    <p>Example:
5592    </p>
5593    <p>
5594                            </p>
5595    <blockquote class="text">
5596    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5597    </p>
5598    <p>S: "OK"
5599    </p>
5600    </blockquote><p>
5601                        
5602    </p>
5603    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5604    <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>
5605    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5606    Altering effect send's MIDI controller</h3>
5607    
5608    <p>The front-end can alter the MIDI controller of an effect
5609                        send entity by sending the following command:
5610    </p>
5611    <p>
5612                            </p>
5613    <blockquote class="text">
5614    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5615    </p>
5616    </blockquote><p>
5617                        
5618    </p>
5619    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5620                        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>
5621                        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,
5622                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5623                        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>
5624                        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
5625                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5626                        able to modify the effect send's send level.
5627    </p>
5628    <p>Possible Answers:
5629    </p>
5630    <p>
5631                            </p>
5632    <blockquote class="text">
5633    <p>"OK" -
5634                                    </p>
5635    <blockquote class="text">
5636    <p>on success
5637    </p>
5638    </blockquote>
5639                                
5640    
5641    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5642                                    </p>
5643    <blockquote class="text">
5644    <p>if MIDI controller was set, but there are noteworthy
5645                                        issue(s) related, providing an appropriate warning code and
5646                                        warning message
5647    </p>
5648    </blockquote>
5649                                
5650    
5651    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5652                                    </p>
5653    <blockquote class="text">
5654    <p>in case it failed, providing an appropriate error code and error message
5655    </p>
5656    </blockquote>
5657                                
5658    
5659    </blockquote><p>
5660                        
5661    </p>
5662    <p>Example:
5663    </p>
5664    <p>
5665                            </p>
5666    <blockquote class="text">
5667    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5668    </p>
5669    <p>S: "OK"
5670    </p>
5671    </blockquote><p>
5672                        
5673    </p>
5674    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5675    <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>
5676    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5677    Altering effect send's send level</h3>
5678    
5679    <p>The front-end can alter the current send level of an effect
5680                        send entity by sending the following command:
5681    </p>
5682    <p>
5683                            </p>
5684    <blockquote class="text">
5685    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5686    </p>
5687    </blockquote><p>
5688                        
5689    </p>
5690    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5691                        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>
5692                        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,
5693                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5694                        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>
5695                        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
5696                        &lt;volume&gt; is an optionally dotted positive number (a value
5697                        smaller than 1.0 means attenuation, whereas a value greater than
5698                        1.0 means amplification) reflecting the new send level.
5699    </p>
5700    <p>Possible Answers:
5701    </p>
5702    <p>
5703                            </p>
5704    <blockquote class="text">
5705    <p>"OK" -
5706                                    </p>
5707    <blockquote class="text">
5708    <p>on success
5709    </p>
5710    </blockquote>
5711                                
5712    
5713    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5714                                    </p>
5715    <blockquote class="text">
5716    <p>if new send level was set, but there are noteworthy
5717                                        issue(s) related, providing an appropriate warning code and
5718                                        warning message
5719    </p>
5720    </blockquote>
5721                                
5722    
5723    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5724                                    </p>
5725    <blockquote class="text">
5726    <p>in case it failed, providing an appropriate error code and error message
5727    </p>
5728    </blockquote>
5729                                
5730    
5731    </blockquote><p>
5732                        
5733    </p>
5734    <p>Example:
5735    </p>
5736    <p>
5737                            </p>
5738    <blockquote class="text">
5739    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5740    </p>
5741    <p>S: "OK"
5742    </p>
5743    </blockquote><p>
5744                        
5745    </p>
5746    <a name="RESET CHANNEL"></a><br /><hr />
5747    <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>
5748    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5749    Resetting a sampler channel</h3>
5750    
5751    <p>The front-end can reset a particular sampler channel by sending the following command:
5752    </p>
5753    <p>
5754                            </p>
5755    <blockquote class="text">
5756    <p>RESET CHANNEL &lt;sampler-channel&gt;
5757    </p>
5758    </blockquote><p>
5759                        
5760    </p>
5761  <p>  <p>
5762                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
5763                      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 3841  Intellectual Property and Copyright Stat Line 5766  Intellectual Property and Copyright Stat
5766  </p>  </p>
5767  <p>Possible Answers:  <p>Possible Answers:
5768  </p>  </p>
5769  <p></p>  <p>
5770                            </p>
5771  <blockquote class="text">  <blockquote class="text">
5772  <p>"OK" -  <p>"OK" -
5773                                  </p>                                  </p>
# Line 3849  Intellectual Property and Copyright Stat Line 5775  Intellectual Property and Copyright Stat
5775  <p>on success  <p>on success
5776  </p>  </p>
5777  </blockquote>  </blockquote>
5778                                
5779    
5780  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5781                                  </p>                                  </p>
# Line 3858  Intellectual Property and Copyright Stat Line 5785  Intellectual Property and Copyright Stat
5785                                      message                                      message
5786  </p>  </p>
5787  </blockquote>  </blockquote>
5788                                
5789    
5790  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5791                                  </p>                                  </p>
# Line 3866  Intellectual Property and Copyright Stat Line 5794  Intellectual Property and Copyright Stat
5794                                      error message                                      error message
5795  </p>  </p>
5796  </blockquote>  </blockquote>
5797                                
5798    
5799  </blockquote>  </blockquote><p>
5800                        
5801    </p>
5802  <p>Examples:  <p>Examples:
5803  </p>  </p>
5804  <p></p>  <p>
5805                            </p>
5806  <blockquote class="text">  <blockquote class="text">
5807  <p>  <p>
5808  </p>  </p>
5809  </blockquote>  </blockquote><p>
5810                        
5811  <a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a>&nbsp;Controlling connection</h4>  </p>
5812    <a name="anchor12"></a><br /><hr />
5813    <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>
5814    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5815    Controlling connection</h3>
5816    
5817  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5818  </p>  </p>
5819  <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 />
5820    <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>
5821    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5822    Register front-end for receiving event messages</h3>
5823    
5824  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5825                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
5826  </p>  </p>
5827  <p></p>  <p>
5828                            </p>
5829  <blockquote class="text">  <blockquote class="text">
5830  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
5831  </p>  </p>
5832  </blockquote>  </blockquote><p>
5833                        
5834    </p>
5835  <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
5836                      client wants to subscribe to.                      client wants to subscribe to.
5837  </p>  </p>
5838  <p>Possible Answers:  <p>Possible Answers:
5839  </p>  </p>
5840  <p></p>  <p>
5841                            </p>
5842  <blockquote class="text">  <blockquote class="text">
5843  <p>"OK" -  <p>"OK" -
5844                                  </p>                                  </p>
# Line 3905  Intellectual Property and Copyright Stat Line 5846  Intellectual Property and Copyright Stat
5846  <p>on success  <p>on success
5847  </p>  </p>
5848  </blockquote>  </blockquote>
5849                                
5850    
5851  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5852                                  </p>                                  </p>
# Line 3914  Intellectual Property and Copyright Stat Line 5856  Intellectual Property and Copyright Stat
5856                                      warning message                                      warning message
5857  </p>  </p>
5858  </blockquote>  </blockquote>
5859                                
5860    
5861  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5862                                  </p>                                  </p>
# Line 3922  Intellectual Property and Copyright Stat Line 5865  Intellectual Property and Copyright Stat
5865                                      error message                                      error message
5866  </p>  </p>
5867  </blockquote>  </blockquote>
5868                                
5869    
5870  </blockquote>  </blockquote><p>
5871                        
5872    </p>
5873  <p>Examples:  <p>Examples:
5874  </p>  </p>
5875  <p></p>  <p>
5876                            </p>
5877  <blockquote class="text">  <blockquote class="text">
5878  <p>  <p>
5879  </p>  </p>
5880  </blockquote>  </blockquote><p>
5881                        
5882  <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>
5883    <a name="UNSUBSCRIBE"></a><br /><hr />
5884    <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>
5885    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5886    Unregister front-end for not receiving event messages</h3>
5887    
5888  <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
5889                      messages anymore by sending the following command:                      messages anymore by sending the following command:
5890  </p>  </p>
5891  <p></p>  <p>
5892                            </p>
5893  <blockquote class="text">  <blockquote class="text">
5894  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
5895  </p>  </p>
5896  </blockquote>  </blockquote><p>
5897                        
5898    </p>
5899  <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
5900                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
5901  </p>  </p>
5902  <p>Possible Answers:  <p>Possible Answers:
5903  </p>  </p>
5904  <p></p>  <p>
5905                            </p>
5906  <blockquote class="text">  <blockquote class="text">
5907  <p>"OK" -  <p>"OK" -
5908                                  </p>                                  </p>
# Line 3957  Intellectual Property and Copyright Stat Line 5910  Intellectual Property and Copyright Stat
5910  <p>on success  <p>on success
5911  </p>  </p>
5912  </blockquote>  </blockquote>
5913                                
5914    
5915  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5916                                  </p>                                  </p>
# Line 3966  Intellectual Property and Copyright Stat Line 5920  Intellectual Property and Copyright Stat
5920                                      warning message                                      warning message
5921  </p>  </p>
5922  </blockquote>  </blockquote>
5923                                
5924    
5925  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5926                                  </p>                                  </p>
# Line 3974  Intellectual Property and Copyright Stat Line 5929  Intellectual Property and Copyright Stat
5929                                      error message                                      error message
5930  </p>  </p>
5931  </blockquote>  </blockquote>
5932                                
5933    
5934  </blockquote>  </blockquote><p>
5935                        
5936    </p>
5937  <p>Examples:  <p>Examples:
5938  </p>  </p>
5939  <p></p>  <p>
5940                            </p>
5941  <blockquote class="text">  <blockquote class="text">
5942  <p>  <p>
5943  </p>  </p>
5944  </blockquote>  </blockquote><p>
5945                        
5946  <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>
5947    <a name="SET ECHO"></a><br /><hr />
5948    <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>
5949    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
5950    Enable or disable echo of commands</h3>
5951    
5952  <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:
5953  </p>  </p>
5954  <p></p>  <p>
5955                            </p>
5956  <blockquote class="text">  <blockquote class="text">
5957  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
5958  </p>  </p>
5959  </blockquote>  </blockquote><p>
5960                        
5961    </p>
5962  <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
5963                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
5964                      commands send to LinuxSampler will be immediately send back and                      commands send to LinuxSampler will be immediately send back and
# Line 4005  Intellectual Property and Copyright Stat Line 5969  Intellectual Property and Copyright Stat
5969  </p>  </p>
5970  <p>Possible Answers:  <p>Possible Answers:
5971  </p>  </p>
5972  <p></p>  <p>
5973                            </p>
5974  <blockquote class="text">  <blockquote class="text">
5975  <p>"OK" -  <p>"OK" -
5976                                  </p>                                  </p>
# Line 4013  Intellectual Property and Copyright Stat Line 5978  Intellectual Property and Copyright Stat
5978  <p>usually  <p>usually
5979  </p>  </p>
5980  </blockquote>  </blockquote>
5981                                
5982    
5983  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5984                                  </p>                                  </p>
# Line 4020  Intellectual Property and Copyright Stat Line 5986  Intellectual Property and Copyright Stat
5986  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
5987  </p>  </p>
5988  </blockquote>  </blockquote>
5989                                
5990    
5991  </blockquote>  </blockquote><p>
5992                        
5993    </p>
5994  <p>Examples:  <p>Examples:
5995  </p>  </p>
5996  <p></p>  <p>
5997                            </p>
5998  <blockquote class="text">  <blockquote class="text">
5999  <p>  <p>
6000  </p>  </p>
6001  </blockquote>  </blockquote><p>
6002                        
6003  <a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a>&nbsp;Close client connection</h4>  </p>
6004    <a name="QUIT"></a><br /><hr />
6005    <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>
6006    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
6007    Close client connection</h3>
6008    
6009  <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:
6010  </p>  </p>
6011  <p></p>  <p>
6012                            </p>
6013  <blockquote class="text">  <blockquote class="text">
6014  <p>QUIT  <p>QUIT
6015  </p>  </p>
6016  </blockquote>  </blockquote><p>
6017                        
6018    </p>
6019  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
6020                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6021  </p>  </p>
6022  <a name="rfc.section.5.6"></a><h4><a name="anchor14">5.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
6023    <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>
6024    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
6025    Global commands</h3>
6026    
6027  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6028  </p>  </p>
6029  <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 />
6030    <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>
6031    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
6032    Current number of active voices</h3>
6033    
6034    <p>The front-end can ask for the current number of active voices on
6035                        the sampler by sending the following command:
6036    </p>
6037    <p>
6038                            </p>
6039    <blockquote class="text">
6040    <p>GET TOTAL_VOICE_COUNT
6041    </p>
6042    </blockquote><p>
6043                        
6044    </p>
6045    <p>Possible Answers:
6046    </p>
6047    <p>
6048                            </p>
6049    <blockquote class="text">
6050    <p>LinuxSampler will answer by returning the number of all active
6051                                voices on the sampler.
6052    </p>
6053    </blockquote><p>
6054                        
6055    </p>
6056    <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6057    <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>
6058    <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6059    Maximum amount of active voices</h3>
6060    
6061    <p>The front-end can ask for the maximum number of active voices
6062                        by sending the following command:
6063    </p>
6064    <p>
6065                            </p>
6066    <blockquote class="text">
6067    <p>GET TOTAL_VOICE_COUNT_MAX
6068    </p>
6069    </blockquote><p>
6070                        
6071    </p>
6072    <p>Possible Answers:
6073    </p>
6074    <p>
6075                            </p>
6076    <blockquote class="text">
6077    <p>LinuxSampler will answer by returning the maximum number
6078                                of active voices.
6079    </p>
6080    </blockquote><p>
6081                        
6082    </p>
6083    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6084    <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>
6085    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6086    Current number of active disk streams</h3>
6087    
6088    <p>The front-end can ask for the current number of active disk streams on
6089                        the sampler by sending the following command:
6090    </p>
6091    <p>
6092                            </p>
6093    <blockquote class="text">
6094    <p>GET TOTAL_STREAM_COUNT
6095    </p>
6096    </blockquote><p>
6097                        
6098    </p>
6099    <p>Possible Answers:
6100    </p>
6101    <p>
6102                            </p>
6103    <blockquote class="text">
6104    <p>LinuxSampler will answer by returning the number of all active
6105                                disk streams on the sampler.
6106    </p>
6107    </blockquote><p>
6108                        
6109    </p>
6110    <a name="RESET"></a><br /><hr />
6111    <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>
6112    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6113    Reset sampler</h3>
6114    
6115  <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:
6116  </p>  </p>
6117  <p></p>  <p>
6118                            </p>
6119  <blockquote class="text">  <blockquote class="text">
6120  <p>RESET  <p>RESET
6121  </p>  </p>
6122    </blockquote><p>
6123                        
6124    </p>
6125    <p>Possible Answers:
6126    </p>
6127    <p>
6128                            </p>
6129    <blockquote class="text">
6130    <p>"OK" -
6131                                    </p>
6132    <blockquote class="text">
6133    <p>always
6134    </p>
6135  </blockquote>  </blockquote>
6136                                
6137    
6138    </blockquote><p>
6139                        
6140    </p>
6141    <p>Examples:
6142    </p>
6143    <p>
6144                            </p>
6145    <blockquote class="text">
6146    <p>
6147    </p>
6148    </blockquote><p>
6149                        
6150    </p>
6151    <a name="GET SERVER INFO"></a><br /><hr />
6152    <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>
6153    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6154    General sampler informations</h3>
6155    
6156    <p>The client can ask for general informations about the LinuxSampler
6157                           instance by sending the following command:
6158    </p>
6159    <p>
6160                            </p>
6161    <blockquote class="text">
6162    <p>GET SERVER INFO
6163    </p>
6164    </blockquote><p>
6165                        
6166    </p>
6167    <p>Possible Answers:
6168    </p>
6169    <p>
6170                            </p>
6171    <blockquote class="text">
6172    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6173                                   Each answer line begins with the information category name
6174                                   followed by a colon and then a space character &lt;SP&gt; and finally
6175                                   the info character string to that information category. At the
6176                                   moment the following categories are defined:
6177                                
6178    </p>
6179    <p>
6180                                    </p>
6181    <blockquote class="text">
6182    <p>DESCRIPTION -
6183                                            </p>
6184    <blockquote class="text">
6185    <p>arbitrary textual description about the sampler
6186                                                (note that the character string may contain
6187                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6188    </p>
6189    </blockquote>
6190                                        
6191    
6192    <p>VERSION -
6193                                            </p>
6194    <blockquote class="text">
6195    <p>version of the sampler
6196    </p>
6197    </blockquote>
6198                                        
6199    
6200    <p>PROTOCOL_VERSION -
6201                                            </p>
6202    <blockquote class="text">
6203    <p>version of the LSCP specification the sampler
6204                                                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)
6205    </p>
6206    </blockquote>
6207                                        
6208    
6209    <p>INSTRUMENTS_DB_SUPPORT -
6210                                            </p>
6211    <blockquote class="text">
6212    <p>either yes or no, specifies whether the
6213                                                sampler is build with instruments database support.
6214    </p>
6215    </blockquote>
6216                                        
6217    
6218    </blockquote>
6219                                
6220    
6221    </blockquote><p>
6222                        
6223    </p>
6224    <p>The mentioned fields above don't have to be in particular order.
6225                        Other fields might be added in future.
6226    </p>
6227    <a name="GET VOLUME"></a><br /><hr />
6228    <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>
6229    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6230    Getting global volume attenuation</h3>
6231    
6232    <p>The client can ask for the current global sampler-wide volume
6233                        attenuation by sending the following command:
6234    </p>
6235    <p>
6236                            </p>
6237    <blockquote class="text">
6238    <p>GET VOLUME
6239    </p>
6240    </blockquote><p>
6241                        
6242    </p>
6243    <p>Possible Answers:
6244    </p>
6245    <p>
6246                            </p>
6247    <blockquote class="text">
6248    <p>The sampler will always answer by returning the optional
6249                                dotted floating point coefficient, reflecting the current
6250                                global volume attenuation.
6251                                
6252    </p>
6253    </blockquote><p>
6254                        
6255    </p>
6256    <p>Note: it is up to the respective sampler engine whether to obey
6257                        that global volume parameter or not, but in general all engines SHOULD
6258                        use this parameter.
6259    </p>
6260    <a name="SET VOLUME"></a><br /><hr />
6261    <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>
6262    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6263    Setting global volume attenuation</h3>
6264    
6265    <p>The client can alter the current global sampler-wide volume
6266                        attenuation by sending the following command:
6267    </p>
6268    <p>
6269                            </p>
6270    <blockquote class="text">
6271    <p>SET VOLUME &lt;volume&gt;
6272    </p>
6273    </blockquote><p>
6274                        
6275    </p>
6276    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6277                       floating point value, reflecting the new global volume parameter.
6278                       This value might usually be in the range between 0.0 and 1.0, that
6279                       is for attenuating the overall volume.
6280    </p>
6281    <p>Possible Answers:
6282    </p>
6283    <p>
6284                            </p>
6285    <blockquote class="text">
6286    <p>"OK" -
6287                                    </p>
6288    <blockquote class="text">
6289    <p>on success
6290    </p>
6291    </blockquote>
6292                                
6293    
6294    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6295                                    </p>
6296    <blockquote class="text">
6297    <p>if the global volume was set, but there are noteworthy
6298                                        issue(s) related, providing an appropriate warning code and
6299                                        warning message
6300    </p>
6301    </blockquote>
6302                                
6303    
6304    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6305                                    </p>
6306    <blockquote class="text">
6307    <p>in case it failed, providing an appropriate error code and error message
6308    </p>
6309    </blockquote>
6310                                
6311    
6312    </blockquote><p>
6313                        
6314    </p>
6315    <a name="MIDI Instrument Mapping"></a><br /><hr />
6316    <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>
6317    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6318    MIDI Instrument Mapping</h3>
6319    
6320    <p>The MIDI protocol provides a way to switch between instruments
6321                    by sending so called MIDI bank select and MIDI program change
6322                    messages which are essentially just numbers. The following commands
6323                    allow to actually map arbitrary MIDI bank select / program change
6324                    numbers with real instruments.
6325    </p>
6326    <p>The sampler allows to manage an arbitrary amount of MIDI
6327                    instrument maps which define which instrument to load on
6328                    which MIDI program change message.
6329    </p>
6330    <p>By default, that is when the sampler is launched, there is no
6331                    map, thus the sampler will simply ignore all program change
6332                    messages. The front-end has to explicitly create at least one
6333                    map, add entries to the map and tell the respective sampler
6334                    channel(s) which MIDI instrument map to use, so the sampler
6335                    knows how to react on a given program change message on the
6336                    respective sampler channel, that is by switching to the
6337                    respectively defined engine type and loading the respective
6338                    instrument. See command
6339                    <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>
6340                    for how to assign a MIDI instrument map to a sampler channel.
6341    </p>
6342    <p>Also note per MIDI specification a bank select message does not
6343                    cause to switch to another instrument. Instead when receiving a
6344                    bank select message the bank value will be stored and a subsequent
6345                    program change message (which may occur at any time) will finally
6346                    cause the sampler to switch to the respective instrument as
6347                    reflected by the current MIDI instrument map.
6348    </p>
6349    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6350    <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>
6351    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6352    Create a new MIDI instrument map</h3>
6353    
6354    <p>The front-end can add a new MIDI instrument map by sending
6355                        the following command:
6356    </p>
6357    <p>
6358                            </p>
6359    <blockquote class="text">
6360    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6361    </p>
6362    </blockquote><p>
6363                        
6364    </p>
6365    <p>Where &lt;name&gt; is an optional argument allowing to
6366                        assign a custom name to the new map. MIDI instrument Map
6367                        names do not have to be unique, but MUST be encapsulated
6368                        into apostrophes and support escape sequences as described
6369                        in chapter "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
6370                        
6371    </p>
6372    <p>Possible Answers:
6373    </p>
6374    <p>
6375                            </p>
6376    <blockquote class="text">
6377    <p>"OK[&lt;map&gt;]" -
6378                                    </p>
6379    <blockquote class="text">
6380    <p>in case a new MIDI instrument map could
6381                                        be added, where &lt;map&gt; reflects the
6382                                        unique ID of the newly created MIDI
6383                                        instrument map
6384    </p>
6385    </blockquote>
6386                                
6387    
6388    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6389                                    </p>
6390    <blockquote class="text">
6391    <p>when a new map could not be created, which
6392                                        might never occur in practice
6393    </p>
6394    </blockquote>
6395                                
6396    
6397    </blockquote><p>
6398                        
6399    </p>
6400    <p>Examples:
6401    </p>
6402    <p>
6403                            </p>
6404    <blockquote class="text">
6405    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6406    </p>
6407    <p>S: "OK[0]"
6408    </p>
6409    </blockquote><p>
6410                        
6411    </p>
6412    <p>
6413                            </p>
6414    <blockquote class="text">
6415    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6416    </p>
6417    <p>S: "OK[1]"
6418    </p>
6419    </blockquote><p>
6420                        
6421    </p>
6422    <p>
6423                            </p>
6424    <blockquote class="text">
6425    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6426    </p>
6427    <p>S: "OK[5]"
6428    </p>
6429    </blockquote><p>
6430                        
6431    </p>
6432    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6433    <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>
6434    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6435    Delete one particular or all MIDI instrument maps</h3>
6436    
6437    <p>The front-end can delete a particular MIDI instrument map
6438                        by sending the following command:
6439    </p>
6440    <p>
6441                            </p>
6442    <blockquote class="text">
6443    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6444    </p>
6445    </blockquote><p>
6446                        
6447    </p>
6448    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6449                        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>
6450                        command.
6451    </p>
6452    <p>The front-end can delete all MIDI instrument maps by
6453                        sending the following command:
6454    </p>
6455    <p>
6456                            </p>
6457    <blockquote class="text">
6458    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6459    </p>
6460    </blockquote><p>
6461                        
6462    </p>
6463    <p>Possible Answers:
6464    </p>
6465    <p>
6466                            </p>
6467    <blockquote class="text">
6468    <p>"OK" -
6469                                    </p>
6470    <blockquote class="text">
6471    <p>in case the map(s) could be deleted
6472    </p>
6473    </blockquote>
6474                                
6475    
6476    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6477                                    </p>
6478    <blockquote class="text">
6479    <p>when the given map does not exist
6480    </p>
6481    </blockquote>
6482                                
6483    
6484    </blockquote><p>
6485                        
6486    </p>
6487    <p>Examples:
6488    </p>
6489    <p>
6490                            </p>
6491    <blockquote class="text">
6492    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6493    </p>
6494    <p>S: "OK"
6495    </p>
6496    </blockquote><p>
6497                        
6498    </p>
6499    <p>
6500                            </p>
6501    <blockquote class="text">
6502    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6503    </p>
6504    <p>S: "OK"
6505    </p>
6506    </blockquote><p>
6507                        
6508    </p>
6509    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6510    <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>
6511    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6512    Get amount of existing MIDI instrument maps</h3>
6513    
6514    <p>The front-end can retrieve the current amount of MIDI
6515                        instrument maps by sending the following command:
6516    </p>
6517    <p>
6518                            </p>
6519    <blockquote class="text">
6520    <p>GET MIDI_INSTRUMENT_MAPS
6521    </p>
6522    </blockquote><p>
6523                        
6524    </p>
6525    <p>Possible Answers:
6526    </p>
6527    <p>
6528                            </p>
6529    <blockquote class="text">
6530    <p>The sampler will answer by returning the current
6531                                number of MIDI instrument maps.
6532    </p>
6533    </blockquote><p>
6534                        
6535    </p>
6536    <p>Example:
6537    </p>
6538    <p>
6539                            </p>
6540    <blockquote class="text">
6541    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6542    </p>
6543    <p>S: "2"
6544    </p>
6545    </blockquote><p>
6546                        
6547    </p>
6548    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6549    <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>
6550    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6551    Getting all created MIDI instrument maps</h3>
6552    
6553    <p>The number of MIDI instrument maps can change on runtime. To get the
6554                        current list of MIDI instrument maps, the front-end can send the
6555                        following command:
6556    </p>
6557    <p>
6558                            </p>
6559    <blockquote class="text">
6560    <p>LIST MIDI_INSTRUMENT_MAPS
6561    </p>
6562    </blockquote><p>
6563                        
6564    </p>
6565    <p>Possible Answers:
6566    </p>
6567    <p>
6568                            </p>
6569    <blockquote class="text">
6570    <p>The sampler will answer by returning a comma separated list
6571                                with all MIDI instrument maps' numerical IDs.
6572    </p>
6573    </blockquote><p>
6574                        
6575    </p>
6576    <p>Example:
6577    </p>
6578    <p>
6579                            </p>
6580    <blockquote class="text">
6581    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6582    </p>
6583    <p>S: "0,1,5,12"
6584    </p>
6585    </blockquote><p>
6586                        
6587    </p>
6588    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6589    <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>
6590    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6591    Getting MIDI instrument map information</h3>
6592    
6593    <p>The front-end can ask for the current settings of a MIDI
6594                        instrument map by sending the following command:
6595    </p>
6596    <p>
6597                            </p>
6598    <blockquote class="text">
6599    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6600    </p>
6601    </blockquote><p>
6602                        
6603    </p>
6604    <p>Where &lt;map&gt; is the numerical ID of the map the
6605                        front-end is interested in as returned by the
6606                        <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>
6607                        command.
6608    </p>
6609    <p>Possible Answers:
6610    </p>
6611    <p>
6612                            </p>
6613    <blockquote class="text">
6614    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6615                                Each answer line begins with the settings category name
6616                                followed by a colon and then a space character &lt;SP&gt; and finally
6617                                the info character string to that setting category. At the
6618                                moment the following categories are defined:
6619    </p>
6620    <p>
6621                                    </p>
6622    <blockquote class="text">
6623    <p>NAME -
6624                                            </p>
6625    <blockquote class="text">
6626    <p>custom name of the given map,
6627                                                which does not have to be unique
6628                                                (note that this character string may contain
6629                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6630    </p>
6631    </blockquote>
6632                                        
6633    
6634    <p>DEFAULT -
6635                                            </p>
6636    <blockquote class="text">
6637    <p>either true or false,
6638                                                defines whether this map is the default map
6639    </p>
6640    </blockquote>
6641                                        
6642    
6643    </blockquote>
6644                                
6645    
6646    </blockquote><p>
6647                        
6648    </p>
6649    <p>The mentioned fields above don't have to be in particular order.
6650    </p>
6651    <p>Example:
6652    </p>
6653    <p>
6654                            </p>
6655    <blockquote class="text">
6656    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6657    </p>
6658    <p>S: "NAME: Standard Map"
6659    </p>
6660    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6661    </p>
6662    <p>&nbsp;&nbsp;&nbsp;"."
6663    </p>
6664    </blockquote><p>
6665                        
6666    </p>
6667    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6668    <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>
6669    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6670    Renaming a MIDI instrument map</h3>
6671    
6672    <p>The front-end can alter the custom name of a MIDI
6673                        instrument map by sending the following command:
6674    </p>
6675    <p>
6676                            </p>
6677    <blockquote class="text">
6678    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6679    </p>
6680    </blockquote><p>
6681                        
6682    </p>
6683    <p>Where &lt;map&gt; is the numerical ID of the map and
6684                        &lt;name&gt; the new custom name of the map, which does not
6685                        have to be unique (name MUST be encapsulated into apostrophes
6686                        and supports escape sequences as described in chapter
6687                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
6688                        
6689    </p>
6690    <p>Possible Answers:
6691    </p>
6692    <p>
6693                            </p>
6694    <blockquote class="text">
6695    <p>"OK" -
6696                                    </p>
6697    <blockquote class="text">
6698    <p>on success
6699    </p>
6700    </blockquote>
6701                                
6702    
6703    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6704                                    </p>
6705    <blockquote class="text">
6706    <p>in case the given map does not exist
6707    </p>
6708    </blockquote>
6709                                
6710    
6711    </blockquote><p>
6712                        
6713    </p>
6714    <p>Example:
6715    </p>
6716    <p>
6717                            </p>
6718    <blockquote class="text">
6719    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6720    </p>
6721    <p>S: "OK"
6722    </p>
6723    </blockquote><p>
6724                        
6725    </p>
6726    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6727    <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>
6728    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6729    Create or replace a MIDI instrument map entry</h3>
6730    
6731    <p>The front-end can create a new or replace an existing entry
6732                        in a sampler's MIDI instrument map by sending the following
6733                        command:
6734    </p>
6735    <p>
6736                            </p>
6737    <blockquote class="text">
6738    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6739                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6740                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6741                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6742    </p>
6743    </blockquote><p>
6744                        
6745    </p>
6746    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6747                        &lt;midi_bank&gt; is an integer value between
6748                        0..16383 reflecting the MIDI bank select index,
6749                        &lt;midi_prog&gt; an
6750                        integer value between 0..127 reflecting the MIDI program change
6751                        index, &lt;engine_name&gt; a sampler engine name as returned by
6752                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6753                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6754                        of the instrument's file to be deployed (encapsulated into apostrophes,
6755                        supporting escape sequences as described in chapter
6756                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"),
6757                        &lt;instrument_index&gt; the index (integer value) of the instrument
6758                        within the given file, &lt;volume_value&gt; reflects the master
6759                        volume of the instrument as optionally dotted number (where a
6760                        value &lt; 1.0 means attenuation and a value > 1.0 means
6761                        amplification). This parameter easily allows to adjust the
6762                        volume of all intruments within a custom instrument map
6763                        without having to adjust their instrument files. The
6764                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6765                        time of the instrument, that is when the instrument should
6766                        be loaded, when freed and has exactly the following
6767                        possibilities:
6768    </p>
6769    <p>
6770                            </p>
6771    <blockquote class="text">
6772    <p>"ON_DEMAND" -
6773                                    </p>
6774    <blockquote class="text">
6775    <p>The instrument will be loaded when needed,
6776                                        that is when demanded by at least one sampler
6777                                        channel. It will immediately be freed from memory
6778                                        when not needed by any sampler channel anymore.
6779    </p>
6780    </blockquote>
6781                                
6782    
6783    <p>"ON_DEMAND_HOLD" -
6784                                    </p>
6785    <blockquote class="text">
6786    <p>The instrument will be loaded when needed,
6787                                        that is when demanded by at least one sampler
6788                                        channel. It will be kept in memory even when
6789                                        not needed by any sampler channel anymore.
6790                                        Instruments with this mode are only freed
6791                                        when the sampler is reset or all mapping
6792                                        entries with this mode (and respective
6793                                        instrument) are explicitly changed to
6794                                        "ON_DEMAND" and no sampler channel is using
6795                                        the instrument anymore.
6796    </p>
6797    </blockquote>
6798                                
6799    
6800    <p>"PERSISTENT" -
6801                                    </p>
6802    <blockquote class="text">
6803    <p>The instrument will immediately be loaded
6804                                        into memory when this mapping
6805                                        command is sent and the instrument is kept all
6806                                        the time. Instruments with this mode are
6807                                        only freed when the sampler is reset or all
6808                                        mapping entries with this mode (and
6809                                        respective instrument) are explicitly
6810                                        changed to "ON_DEMAND" and no sampler
6811                                        channel is using the instrument anymore.
6812    </p>
6813    </blockquote>
6814                                
6815    
6816    <p>not supplied -
6817                                    </p>
6818    <blockquote class="text">
6819    <p>In case there is no &lt;instr_load_mode&gt;
6820                                        argument given, it will be up to the
6821                                        InstrumentManager to decide which mode to use.
6822                                        Usually it will use "ON_DEMAND" if an entry
6823                                        for the given instrument does not exist in
6824                                        the InstrumentManager's list yet, otherwise
6825                                        if an entry already exists, it will simply
6826                                        stick with the mode currently reflected by
6827                                        the already existing entry, that is it will
6828                                        not change the mode.
6829    </p>
6830    </blockquote>
6831                                
6832    
6833    </blockquote><p>
6834                        
6835    </p>
6836    <p>
6837                        The &lt;instr_load_mode&gt; argument thus allows to define an
6838                        appropriate strategy (low memory consumption vs. fast
6839                        instrument switching) for each instrument individually. Note, the
6840                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6841                        "PERSISTENT" have to be supported by the respective sampler engine
6842                        (which is technically the case when the engine provides an
6843                        InstrumentManager for its format). If this is not the case the
6844                        argument will automatically fall back to the default value
6845                        "ON_DEMAND". Also the load mode of one instrument may
6846                        automatically change the laod mode of other instrument(s), i.e.
6847                        because the instruments are part of the same file and the
6848                        engine does not allow a way to manage load modes for them
6849                        individually. Due to this, in case the frontend shows the
6850                        load modes of entries, the frontend should retrieve the actual
6851                        mode by i.e. sending
6852                        <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>
6853                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6854                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6855                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") for the
6856                        mapping entry, useful for frontends for displaying an appropriate name for
6857                        mapped instruments (using
6858                        <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>).
6859                        
6860    </p>
6861    <p>
6862                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6863                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6864                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6865                        immediately, that is to let the sampler establish the mapping in the
6866                        background. So this argument might be especially useful for mappings with
6867                        a "PERSISTENT" type, because these have to load the respective instruments
6868                        immediately and might thus block for a very long time. It is recommended
6869                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6870                        because it has the following drawbacks: as "NON_MODAL" instructions return
6871                        immediately, they may not necessarily return an error i.e. when the given
6872                        instrument file turns out to be corrupt, beside that subsequent commands
6873                        in a LSCP instruction sequence might fail, because mandatory mappings are
6874                        not yet completed.
6875                        
6876    </p>
6877    <p>Possible Answers:
6878    </p>
6879    <p>
6880                            </p>
6881    <blockquote class="text">
6882    <p>"OK" -
6883                                    </p>
6884    <blockquote class="text">
6885    <p>usually
6886    </p>
6887    </blockquote>
6888                                
6889    
6890    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6891                                    </p>
6892    <blockquote class="text">
6893    <p>when the given map or engine does not exist or a value
6894                                        is out of range
6895    </p>
6896    </blockquote>
6897                                
6898    
6899    </blockquote><p>
6900                        
6901    </p>
6902    <p>Examples:
6903    </p>
6904    <p>
6905                            </p>
6906    <blockquote class="text">
6907    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6908    </p>
6909    <p>S: "OK"
6910    </p>
6911    </blockquote><p>
6912                        
6913    </p>
6914    <p>
6915                            </p>
6916    <blockquote class="text">
6917    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6918    </p>
6919    <p>S: "OK"
6920    </p>
6921    </blockquote><p>
6922                        
6923    </p>
6924    <p>
6925                            </p>
6926    <blockquote class="text">
6927    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6928    </p>
6929    <p>S: "OK"
6930    </p>
6931    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6932    </p>
6933    <p>S: "OK"
6934    </p>
6935    </blockquote><p>
6936                        
6937    </p>
6938    <p>
6939                            </p>
6940    <blockquote class="text">
6941    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6942    </p>
6943    <p>S: "OK"
6944    </p>
6945    </blockquote><p>
6946                        
6947    </p>
6948    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6949    <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>
6950    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6951    Getting ammount of MIDI instrument map entries</h3>
6952    
6953    <p>The front-end can query the amount of currently existing
6954                        entries in a MIDI instrument map by sending the following
6955                        command:
6956    </p>
6957    <p>
6958                            </p>
6959    <blockquote class="text">
6960    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6961    </p>
6962    </blockquote><p>
6963                        
6964    </p>
6965    <p>The front-end can query the amount of currently existing
6966                        entries in all MIDI instrument maps by sending the following
6967                        command:
6968    </p>
6969    <p>
6970                            </p>
6971    <blockquote class="text">
6972    <p>GET MIDI_INSTRUMENTS ALL
6973    </p>
6974    </blockquote><p>
6975                        
6976    </p>
6977    <p>Possible Answers:
6978    </p>
6979    <p>
6980                            </p>
6981    <blockquote class="text">
6982    <p>The sampler will answer by sending the current number of
6983                                entries in the MIDI instrument map(s).
6984    </p>
6985    </blockquote><p>
6986                        
6987    </p>
6988    <p>Example:
6989    </p>
6990    <p>
6991                            </p>
6992    <blockquote class="text">
6993    <p>C: "GET MIDI_INSTRUMENTS 0"
6994    </p>
6995    <p>S: "234"
6996    </p>
6997    </blockquote><p>
6998                        
6999    </p>
7000    <p>
7001                            </p>
7002    <blockquote class="text">
7003    <p>C: "GET MIDI_INSTRUMENTS ALL"
7004    </p>
7005    <p>S: "954"
7006    </p>
7007    </blockquote><p>
7008                        
7009    </p>
7010    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7011    <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>
7012    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7013    Getting indeces of all entries of a MIDI instrument map</h3>
7014    
7015    <p>The front-end can query a list of all currently existing
7016                        entries in a certain MIDI instrument map by sending the following
7017                        command:
7018    </p>
7019    <p>
7020                            </p>
7021    <blockquote class="text">
7022    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7023    </p>
7024    </blockquote><p>
7025                        
7026    </p>
7027    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7028    </p>
7029    <p>The front-end can query a list of all currently existing
7030                        entries of all MIDI instrument maps by sending the following
7031                        command:
7032    </p>
7033    <p>
7034                            </p>
7035    <blockquote class="text">
7036    <p>LIST MIDI_INSTRUMENTS ALL
7037    </p>
7038    </blockquote><p>
7039                        
7040    </p>
7041    <p>Possible Answers:
7042    </p>
7043    <p>
7044                            </p>
7045    <blockquote class="text">
7046    <p>The sampler will answer by sending a comma separated
7047                                list of map ID - MIDI bank - MIDI program triples, where
7048                                each triple is encapsulated into curly braces. The
7049                                list is returned in one single line. Each triple
7050                                just reflects the key of the respective map entry,
7051                                thus subsequent
7052                                <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>
7053                                command(s) are necessary to retrieve detailed informations
7054                                about each entry.
7055    </p>
7056    </blockquote><p>
7057                        
7058    </p>
7059    <p>Example:
7060    </p>
7061    <p>
7062                            </p>
7063    <blockquote class="text">
7064    <p>C: "LIST MIDI_INSTRUMENTS 0"
7065    </p>
7066    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7067    </p>
7068    </blockquote><p>
7069                        
7070    </p>
7071    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7072    <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>
7073    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7074    Remove an entry from the MIDI instrument map</h3>
7075    
7076    <p>The front-end can delete an entry from a MIDI instrument
7077                        map by sending the following command:
7078    </p>
7079    <p>
7080                            </p>
7081    <blockquote class="text">
7082    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7083    </p>
7084    </blockquote><p>
7085                        
7086    </p>
7087    <p>
7088                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7089                        &lt;midi_bank&gt; is an integer value between 0..16383
7090                        reflecting the MIDI bank value and
7091                        &lt;midi_prog&gt; an integer value between
7092                        0..127 reflecting the MIDI program value of the map's entrie's key
7093                        index triple.
7094                        
7095    </p>
7096    <p>Possible Answers:
7097    </p>
7098    <p>
7099                            </p>
7100    <blockquote class="text">
7101    <p>"OK" -
7102                                    </p>
7103    <blockquote class="text">
7104    <p>usually
7105    </p>
7106    </blockquote>
7107                                
7108    
7109    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7110                                    </p>
7111    <blockquote class="text">
7112    <p>when index out of bounds
7113    </p>
7114    </blockquote>
7115                                
7116    
7117    </blockquote><p>
7118                        
7119    </p>
7120    <p>Example:
7121    </p>
7122    <p>
7123                            </p>
7124    <blockquote class="text">
7125    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7126    </p>
7127    <p>S: "OK"
7128    </p>
7129    </blockquote><p>
7130                        
7131    </p>
7132    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7133    <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>
7134    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7135    Get current settings of MIDI instrument map entry</h3>
7136    
7137    <p>The front-end can retrieve the current settings of a certain
7138                        instrument map entry by sending the following command:
7139    </p>
7140    <p>
7141                            </p>
7142    <blockquote class="text">
7143    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7144    </p>
7145    </blockquote><p>
7146                        
7147    </p>
7148    <p>
7149                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7150                        &lt;midi_bank&gt; is an integer value between 0..16383
7151                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7152                        and &lt;midi_prog&gt; an integer value between
7153                        0..127 reflecting the MIDI program value of the map's entrie's key
7154                        index triple.
7155                        
7156    </p>
7157    <p>Possible Answers:
7158    </p>
7159    <p>
7160                            </p>
7161    <blockquote class="text">
7162    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7163                                separated list. Each answer line begins with the
7164                                information category name followed by a colon and then
7165                                a space character &lt;SP&gt; and finally the info
7166                                character string to that info category. At the moment
7167                                the following categories are defined:
7168    </p>
7169    <p>"NAME" -
7170                                    </p>
7171    <blockquote class="text">
7172    <p>Name for this MIDI instrument map entry (if defined).
7173                                        This name shall be used by frontends for displaying a
7174                                        name for this mapped instrument. It can be set and
7175                                        changed with the
7176                                        <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>
7177                                        command and does not have to be unique.
7178                                        (note that this character string may contain
7179                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7180    </p>
7181    </blockquote>
7182                                
7183    
7184    <p>"ENGINE_NAME" -
7185                                    </p>
7186    <blockquote class="text">
7187    <p>Name of the engine to be deployed for this
7188                                        instrument.
7189    </p>
7190    </blockquote>
7191                                
7192    
7193    <p>"INSTRUMENT_FILE" -
7194                                    </p>
7195    <blockquote class="text">
7196    <p>File name of the instrument
7197                                        (note that this path may contain
7198                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7199    </p>
7200    </blockquote>
7201                                
7202    
7203    <p>"INSTRUMENT_NR" -
7204                                    </p>
7205    <blockquote class="text">
7206    <p>Index of the instrument within the file.
7207    </p>
7208    </blockquote>
7209                                
7210    
7211    <p>"INSTRUMENT_NAME" -
7212                                    </p>
7213    <blockquote class="text">
7214    <p>Name of the loaded instrument as reflected by its file.
7215                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7216                                        cannot be changed (note that this character string may contain
7217                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7218    </p>
7219    </blockquote>
7220                                
7221    
7222    <p>"LOAD_MODE" -
7223                                    </p>
7224    <blockquote class="text">
7225    <p>Life time of instrument
7226                                        (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).
7227    </p>
7228    </blockquote>
7229                                
7230    
7231    <p>"VOLUME" -
7232                                    </p>
7233    <blockquote class="text">
7234    <p>master volume of the instrument as optionally
7235                                        dotted number (where a value &lt; 1.0 means attenuation
7236                                        and a value > 1.0 means amplification)
7237    </p>
7238    </blockquote>
7239                                
7240    
7241    <p>The mentioned fields above don't have to be in particular order.
7242    </p>
7243    </blockquote><p>
7244                        
7245    </p>
7246    <p>Example:
7247    </p>
7248    <p>
7249                            </p>
7250    <blockquote class="text">
7251    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7252    </p>
7253    <p>S: "NAME: Drums for Foo Song"
7254    </p>
7255    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7256    </p>
7257    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7258    </p>
7259    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7260    </p>
7261    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7262    </p>
7263    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7264    </p>
7265    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7266    </p>
7267    <p>&nbsp;&nbsp;&nbsp;"."
7268    </p>
7269    </blockquote><p>
7270                        
7271    </p>
7272    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7273    <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>
7274    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7275    Clear MIDI instrument map</h3>
7276    
7277    <p>The front-end can clear a whole MIDI instrument map, that
7278                        is delete all its entries by sending the following command:
7279    </p>
7280    <p>
7281                            </p>
7282    <blockquote class="text">
7283    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7284    </p>
7285    </blockquote><p>
7286                        
7287    </p>
7288    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7289    </p>
7290    <p>The front-end can clear all MIDI instrument maps, that
7291                        is delete all entries of all maps by sending the following
7292                        command:
7293    </p>
7294    <p>
7295                            </p>
7296    <blockquote class="text">
7297    <p>CLEAR MIDI_INSTRUMENTS ALL
7298    </p>
7299    </blockquote><p>
7300                        
7301    </p>
7302    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7303                        maps, only their entries, thus the map's settings like
7304                        custom name will be preservevd.
7305    </p>
7306  <p>Possible Answers:  <p>Possible Answers:
7307  </p>  </p>
7308  <p></p>  <p>
7309                            </p>
7310  <blockquote class="text">  <blockquote class="text">
7311  <p>"OK" -  <p>"OK" -
7312                                  </p>                                  </p>
# Line 4068  Intellectual Property and Copyright Stat Line 7314  Intellectual Property and Copyright Stat
7314  <p>always  <p>always
7315  </p>  </p>
7316  </blockquote>  </blockquote>
7317                                
7318    
7319    </blockquote><p>
7320                        
7321    </p>
7322    <p>Examples:
7323    </p>
7324    <p>
7325                           </p>
7326    <blockquote class="text">
7327    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7328    </p>
7329    <p>S: "OK"
7330    </p>
7331    </blockquote><p>
7332                        
7333    </p>
7334    <p>
7335                           </p>
7336    <blockquote class="text">
7337    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7338    </p>
7339    <p>S: "OK"
7340    </p>
7341    </blockquote><p>
7342                        
7343    </p>
7344    <a name="Managing Instruments Database"></a><br /><hr />
7345    <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>
7346    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7347    Managing Instruments Database</h3>
7348    
7349    <p>The following commands describe how to use and manage
7350                    the instruments database.
7351    </p>
7352    <p>Notice:
7353    </p>
7354    <p>
7355                            </p>
7356    <blockquote class="text">
7357    <p>All command arguments representing a path or
7358                                instrument/directory name support escape sequences as described in chapter
7359                                "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
7360                                
7361    </p>
7362    <p>All occurrences of a forward slash in instrument and directory
7363                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7364                                
7365    </p>
7366    </blockquote><p>
7367                        
7368    </p>
7369    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7370    <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>
7371    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7372    Creating a new instrument directory</h3>
7373    
7374    <p>The front-end can add a new instrument directory to the
7375                        instruments database by sending the following command:
7376    </p>
7377    <p>
7378                            </p>
7379    <blockquote class="text">
7380    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7381    </p>
7382    </blockquote><p>
7383                        
7384    </p>
7385    <p>Where &lt;dir&gt; is the absolute path name of the directory
7386                        to be created (encapsulated into apostrophes).
7387    </p>
7388    <p>Possible Answers:
7389    </p>
7390    <p>
7391                            </p>
7392    <blockquote class="text">
7393    <p>"OK" -
7394                                    </p>
7395    <blockquote class="text">
7396    <p>on success
7397    </p>
7398    </blockquote>
7399                                
7400    
7401    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7402                                    </p>
7403    <blockquote class="text">
7404    <p>when the directory could not be created, which
7405                                        can happen if the directory already exists or the
7406                                        name contains not allowed symbols
7407    </p>
7408    </blockquote>
7409                                
7410    
7411    </blockquote><p>
7412                        
7413    </p>
7414    <p>Examples:
7415    </p>
7416    <p>
7417                            </p>
7418    <blockquote class="text">
7419    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7420    </p>
7421    <p>S: "OK"
7422    </p>
7423    </blockquote><p>
7424                        
7425    </p>
7426    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7427    <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>
7428    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7429    Deleting an instrument directory</h3>
7430    
7431    <p>The front-end can delete a particular instrument directory
7432                        from the instruments database by sending the following command:
7433    </p>
7434    <p>
7435                            </p>
7436    <blockquote class="text">
7437    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7438    </p>
7439    </blockquote><p>
7440                        
7441    </p>
7442    <p>Where &lt;dir&gt; is the absolute path name of the directory
7443                        to delete. The optional FORCE argument can be used to
7444                        force the deletion of a non-empty directory and all its content.
7445    </p>
7446    <p>Possible Answers:
7447    </p>
7448    <p>
7449                            </p>
7450    <blockquote class="text">
7451    <p>"OK" -
7452                                    </p>
7453    <blockquote class="text">
7454    <p>if the directory is deleted successfully
7455    </p>
7456    </blockquote>
7457                                
7458    
7459    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7460                                    </p>
7461    <blockquote class="text">
7462    <p>if the given directory does not exist, or
7463                                        if trying to delete a non-empty directory,
7464                                        without using the FORCE argument.
7465    </p>
7466  </blockquote>  </blockquote>
7467                                
7468    
7469    </blockquote><p>
7470                        
7471    </p>
7472  <p>Examples:  <p>Examples:
7473  </p>  </p>
7474  <p></p>  <p>
7475                            </p>
7476    <blockquote class="text">
7477    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7478    </p>
7479    <p>S: "OK"
7480    </p>
7481    </blockquote><p>
7482                        
7483    </p>
7484    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7485    <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>
7486    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7487    Getting amount of instrument directories</h3>
7488    
7489    <p>The front-end can retrieve the current amount of
7490                        directories in a specific directory by sending the following command:
7491    </p>
7492    <p>
7493                            </p>
7494    <blockquote class="text">
7495    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7496    </p>
7497    </blockquote><p>
7498                        
7499    </p>
7500    <p>Where &lt;dir&gt; should be replaced by the absolute path
7501                        name of the directory. If RECURSIVE is specified, the number of
7502                        all directories, including those located in subdirectories of the
7503                        specified directory, will be returned.
7504    </p>
7505    <p>Possible Answers:
7506    </p>
7507    <p>
7508                            </p>
7509    <blockquote class="text">
7510    <p>The current number of instrument directories
7511                                in the specified directory.
7512    </p>
7513    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7514                                    </p>
7515    <blockquote class="text">
7516    <p>if the given directory does not exist.
7517    </p>
7518    </blockquote>
7519                                
7520    
7521    </blockquote><p>
7522                        
7523    </p>
7524    <p>Example:
7525    </p>
7526    <p>
7527                            </p>
7528    <blockquote class="text">
7529    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7530    </p>
7531    <p>S: "2"
7532    </p>
7533    </blockquote><p>
7534                        
7535    </p>
7536    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7537    <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>
7538    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7539    Listing all directories in specific directory</h3>
7540    
7541    <p>The front-end can retrieve the current list of directories
7542                        in specific directory by sending the following command:
7543    </p>
7544    <p>
7545                            </p>
7546    <blockquote class="text">
7547    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7548    </p>
7549    </blockquote><p>
7550                        
7551    </p>
7552    <p>Where &lt;dir&gt; should be replaced by the absolute path
7553                        name of the directory. If RECURSIVE is specified, the absolute path names
7554                        of all directories, including those located in subdirectories of the
7555                        specified directory, will be returned.
7556    </p>
7557    <p>Possible Answers:
7558    </p>
7559    <p>
7560                            </p>
7561    <blockquote class="text">
7562    <p>A comma separated list of all instrument directories
7563                                (encapsulated into apostrophes) in the specified directory.
7564    </p>
7565    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7566                                    </p>
7567    <blockquote class="text">
7568    <p>if the given directory does not exist.
7569    </p>
7570    </blockquote>
7571                                
7572    
7573    </blockquote><p>
7574                        
7575    </p>
7576    <p>Example:
7577    </p>
7578    <p>
7579                            </p>
7580    <blockquote class="text">
7581    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7582    </p>
7583    <p>S: "'Piano Collection','Percussion Collection'"
7584    </p>
7585    </blockquote><p>
7586                        
7587    </p>
7588    <p>
7589                            </p>
7590    <blockquote class="text">
7591    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7592    </p>
7593    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7594    </p>
7595    </blockquote><p>
7596                        
7597    </p>
7598    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7599    <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>
7600    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7601    Getting instrument directory information</h3>
7602    
7603    <p>The front-end can ask for the current settings of an
7604                        instrument directory by sending the following command:
7605    </p>
7606    <p>
7607                            </p>
7608    <blockquote class="text">
7609    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7610    </p>
7611    </blockquote><p>
7612                        
7613    </p>
7614    <p>Where &lt;dir&gt; should be replaced by the absolute path
7615                        name of the directory the front-end is interested in.
7616    </p>
7617    <p>Possible Answers:
7618    </p>
7619    <p>
7620                            </p>
7621    <blockquote class="text">
7622    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7623                                Each answer line begins with the settings category name
7624                                followed by a colon and then a space character &lt;SP&gt; and finally
7625                                the info character string to that setting category. At the
7626                                moment the following categories are defined:
7627    </p>
7628    <p>
7629                                    </p>
7630    <blockquote class="text">
7631    <p>DESCRIPTION -
7632                                            </p>
7633    <blockquote class="text">
7634    <p>A brief description of the directory content.
7635                                                Note that the character string may contain
7636                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7637    </p>
7638    </blockquote>
7639                                        
7640    
7641    <p>CREATED -
7642                                            </p>
7643    <blockquote class="text">
7644    <p>The creation date and time of the directory,
7645                                                represented in "YYYY-MM-DD HH:MM:SS" format
7646    </p>
7647    </blockquote>
7648                                        
7649    
7650    <p>MODIFIED -
7651                                            </p>
7652    <blockquote class="text">
7653    <p>The date and time of the last modification of the
7654                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7655    </p>
7656    </blockquote>
7657                                        
7658    
7659    </blockquote>
7660                                
7661    
7662    </blockquote><p>
7663                        
7664    </p>
7665    <p>The mentioned fields above don't have to be in particular order.
7666    </p>
7667    <p>Example:
7668    </p>
7669    <p>
7670                            </p>
7671    <blockquote class="text">
7672    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7673    </p>
7674    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7675    </p>
7676    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7677    </p>
7678    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7679    </p>
7680    <p>&nbsp;&nbsp;&nbsp;"."
7681    </p>
7682    </blockquote><p>
7683                        
7684    </p>
7685    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7686    <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>
7687    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7688    Renaming an instrument directory</h3>
7689    
7690    <p>The front-end can alter the name of a specific
7691                        instrument directory by sending the following command:
7692    </p>
7693    <p>
7694                            </p>
7695    <blockquote class="text">
7696    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7697    </p>
7698    </blockquote><p>
7699                        
7700    </p>
7701    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7702                        &lt;name&gt; is the new name for that directory.
7703    </p>
7704    <p>Possible Answers:
7705    </p>
7706    <p>
7707                            </p>
7708    <blockquote class="text">
7709    <p>"OK" -
7710                                    </p>
7711    <blockquote class="text">
7712    <p>on success
7713    </p>
7714    </blockquote>
7715                                
7716    
7717    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7718                                    </p>
7719    <blockquote class="text">
7720    <p>in case the given directory does not exists,
7721                                        or if a directory with name equal to the new
7722                                        name already exists.
7723    </p>
7724    </blockquote>
7725                                
7726    
7727    </blockquote><p>
7728                        
7729    </p>
7730    <p>Example:
7731    </p>
7732    <p>
7733                            </p>
7734    <blockquote class="text">
7735    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7736    </p>
7737    <p>S: "OK"
7738    </p>
7739    </blockquote><p>
7740                        
7741    </p>
7742    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7743    <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>
7744    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7745    Moving an instrument directory</h3>
7746    
7747    <p>The front-end can move a specific
7748                        instrument directory by sending the following command:
7749    </p>
7750    <p>
7751                            </p>
7752    <blockquote class="text">
7753    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7754    </p>
7755    </blockquote><p>
7756                        
7757    </p>
7758    <p>Where &lt;dir&gt; is the absolute path name of the directory
7759                        to move and &lt;dst&gt; is the location where the directory will
7760                        be moved to.
7761    </p>
7762    <p>Possible Answers:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>"OK" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>on success
7771    </p>
7772    </blockquote>
7773                                
7774    
7775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>in case a given directory does not exists,
7779                                        or if a directory with name equal to the name
7780                                        of the specified directory already exists in
7781                                        the destination directory. Error is also thrown
7782                                        when trying to move a directory to a subdirectory
7783                                        of itself.
7784    </p>
7785    </blockquote>
7786                                
7787    
7788    </blockquote><p>
7789                        
7790    </p>
7791    <p>Example:
7792    </p>
7793    <p>
7794                            </p>
7795    <blockquote class="text">
7796    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7797    </p>
7798    <p>S: "OK"
7799    </p>
7800    </blockquote><p>
7801                        
7802    </p>
7803    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7804    <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>
7805    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7806    Copying instrument directories</h3>
7807    
7808    <p>The front-end can copy a specific
7809                        instrument directory by sending the following command:
7810    </p>
7811    <p>
7812                            </p>
7813    <blockquote class="text">
7814    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7815    </p>
7816    </blockquote><p>
7817                        
7818    </p>
7819    <p>Where &lt;dir&gt; is the absolute path name of the directory
7820                        to copy and &lt;dst&gt; is the location where the directory will
7821                        be copied to.
7822    </p>
7823    <p>Possible Answers:
7824    </p>
7825    <p>
7826                            </p>
7827    <blockquote class="text">
7828    <p>"OK" -
7829                                    </p>
7830    <blockquote class="text">
7831    <p>on success
7832    </p>
7833    </blockquote>
7834                                
7835    
7836    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7837                                    </p>
7838    <blockquote class="text">
7839    <p>in case a given directory does not exists,
7840                                        or if a directory with name equal to the name
7841                                        of the specified directory already exists in
7842                                        the destination directory. Error is also thrown
7843                                        when trying to copy a directory to a subdirectory
7844                                        of itself.
7845    </p>
7846    </blockquote>
7847                                
7848    
7849    </blockquote><p>
7850                        
7851    </p>
7852    <p>Example:
7853    </p>
7854    <p>
7855                            </p>
7856    <blockquote class="text">
7857    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7858    </p>
7859    <p>S: "OK"
7860    </p>
7861    </blockquote><p>
7862                        
7863    </p>
7864    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7865    <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>
7866    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7867    Changing the description of directory</h3>
7868    
7869    <p>The front-end can alter the description of a specific
7870                        instrument directory by sending the following command:
7871    </p>
7872    <p>
7873                            </p>
7874    <blockquote class="text">
7875    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7876    </p>
7877    </blockquote><p>
7878                        
7879    </p>
7880    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7881                        &lt;desc&gt; is the new description for the directory
7882                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7883                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7884    </p>
7885    <p>Possible Answers:
7886    </p>
7887    <p>
7888                            </p>
7889    <blockquote class="text">
7890    <p>"OK" -
7891                                    </p>
7892    <blockquote class="text">
7893    <p>on success
7894    </p>
7895    </blockquote>
7896                                
7897    
7898    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7899                                    </p>
7900    <blockquote class="text">
7901    <p>in case the given directory does not exists.
7902    </p>
7903    </blockquote>
7904                                
7905    
7906    </blockquote><p>
7907                        
7908    </p>
7909    <p>Example:
7910    </p>
7911    <p>
7912                            </p>
7913    <blockquote class="text">
7914    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7915    </p>
7916    <p>S: "OK"
7917    </p>
7918    </blockquote><p>
7919                        
7920    </p>
7921    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7922    <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>
7923    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7924    Finding directories</h3>
7925    
7926    <p>The front-end can search for directories
7927                        in specific directory by sending the following command:
7928    </p>
7929    <p>
7930                            </p>
7931    <blockquote class="text">
7932    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7933    </p>
7934    </blockquote><p>
7935                        
7936    </p>
7937    <p>Where &lt;dir&gt; should be replaced by the absolute path
7938                        name of the directory to search in. If NON_RECURSIVE is specified, the
7939                        directories located in subdirectories of the specified directory will not
7940                        be searched. &lt;criteria-list&gt; is a list of search criterias
7941                        in form of "key1=val1 key2=val2 ...". The following criterias are
7942                        allowed:
7943    </p>
7944    <p>
7945                          
7946    <p>NAME='&lt;search-string&gt;'
7947                              </p>
7948    <blockquote class="text">
7949    <p>Restricts the search to directories, which names
7950                                  satisfy the supplied search string (encapsulated into apostrophes,
7951                                  supporting escape sequences as described in chapter
7952                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7953    </p>
7954    </blockquote><p>
7955                          
7956    </p>
7957    
7958                          
7959    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7960                              </p>
7961    <blockquote class="text">
7962    <p>Restricts the search to directories, which creation
7963                                  date satisfies the specified period, where &lt;date-after&gt;
7964                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7965                                  If &lt;date-after&gt; is omitted the search is restricted to
7966                                  directories created before &lt;date-before&gt;. If
7967                                  &lt;date-before&gt; is omitted, the search is restricted
7968                                  to directories created after &lt;date-after&gt;.
7969    </p>
7970    </blockquote><p>
7971                          
7972    </p>
7973    
7974                          
7975    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7976                              </p>
7977    <blockquote class="text">
7978    <p>Restricts the search to directories, which
7979                                  date of last modification satisfies the specified period, where
7980                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7981                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7982                                  directories, which are last modified before &lt;date-before&gt;. If
7983                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7984                                  which are last modified after &lt;date-after&gt;.
7985    </p>
7986    </blockquote><p>
7987                          
7988    </p>
7989    
7990                          
7991    <p>DESCRIPTION='&lt;search-string&gt;'
7992                              </p>
7993    <blockquote class="text">
7994    <p>Restricts the search to directories with description
7995                                  that satisfies the supplied search string
7996                                  (encapsulated into apostrophes, supporting escape
7997                                  sequences as described in chapter
7998                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
7999    </p>
8000    </blockquote><p>
8001                          
8002    </p>
8003                        
8004    
8005    <p>Where &lt;search-string&gt; is either a regular expression, or a
8006                        word list separated with spaces for OR search and with '+' for AND search.
8007    </p>
8008    <p>Possible Answers:
8009    </p>
8010    <p>
8011                            </p>
8012    <blockquote class="text">
8013    <p>A comma separated list with the absolute path names (encapsulated into
8014                                apostrophes) of all directories in the specified directory that satisfy
8015                                the supplied search criterias.
8016    </p>
8017    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8018                                    </p>
8019    <blockquote class="text">
8020    <p>if the given directory does not exist.
8021    </p>
8022    </blockquote>
8023                                
8024    
8025    </blockquote><p>
8026                        
8027    </p>
8028    <p>Example:
8029    </p>
8030    <p>
8031                            </p>
8032    <blockquote class="text">
8033    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8034    </p>
8035    <p>S: "'/Piano Collection'"
8036    </p>
8037    </blockquote><p>
8038                        
8039    </p>
8040    <p>
8041                            </p>
8042    <blockquote class="text">
8043    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8044    </p>
8045    <p>S: "'/Piano Collection','/Percussions'"
8046    </p>
8047    </blockquote><p>
8048                        
8049    </p>
8050    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8051    <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>
8052    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8053    Adding instruments to the instruments database</h3>
8054    
8055    <p>The front-end can add one or more instruments
8056                        to the instruments database by sending the following command:
8057    </p>
8058    <p>
8059                            </p>
8060    <blockquote class="text">
8061    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8062    </p>
8063    </blockquote><p>
8064                        
8065    </p>
8066    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8067                        (encapsulated into apostrophes) in the instruments database in which
8068                        only the new instruments (that are not already in the database) will
8069                        be added, &lt;file_path&gt; is the absolute path name of a file or
8070                        directory in the file system (encapsulated into apostrophes). In case
8071                        an instrument file is supplied, only the instruments in the specified
8072                        file will be added to the instruments database. If the optional
8073                        &lt;instr_index&gt; (the index of the instrument within the given file)
8074                        is supplied too, then only the specified instrument will be added.
8075                        In case a directory is supplied, the instruments in that directory
8076                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8077                        when a directory is provided as &lt;file_path&gt; and specifies how the
8078                        scanning will be done and has exactly the following possibilities:
8079    </p>
8080    <p>
8081                            </p>
8082    <blockquote class="text">
8083    <p>"RECURSIVE" -
8084                                    </p>
8085    <blockquote class="text">
8086    <p>All instruments will be processed, including those
8087                                        in the subdirectories, and the respective subdirectory
8088                                        tree structure will be recreated in the instruments
8089                                        database
8090    </p>
8091    </blockquote>
8092                                
8093    
8094    <p>"NON_RECURSIVE" -
8095                                    </p>
8096    <blockquote class="text">
8097    <p>Only the instruments in the specified directory
8098                                        will be added, the instruments in the subdirectories
8099                                        will not be processed.
8100    </p>
8101    </blockquote>
8102                                
8103    
8104    <p>"FLAT" -
8105                                    </p>
8106    <blockquote class="text">
8107    <p>All instruments will be processed, including those
8108                                        in the subdirectories, but the respective subdirectory
8109                                        structure will not be recreated in the instruments
8110                                        database. All instruments will be added directly in
8111                                        the specified database directory.
8112    </p>
8113    </blockquote>
8114                                
8115    
8116    </blockquote><p>
8117                        
8118    </p>
8119    <p>The difference between regular and NON_MODAL versions of the command
8120                        is that the regular command returns when the scanning is finished
8121                        while NON_MODAL version returns immediately and a background process is launched.
8122                        The <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8123                        command can be used to monitor the scanning progress.
8124    </p>
8125    <p>Possible Answers:
8126    </p>
8127    <p>
8128                            </p>
8129    <blockquote class="text">
8130    <p>"OK" -
8131                                    </p>
8132    <blockquote class="text">
8133    <p>on success when NON_MODAL is not supplied
8134    </p>
8135    </blockquote>
8136                                
8137    
8138    <p>"OK[&lt;job-id&gt;]" -
8139                                    </p>
8140    <blockquote class="text">
8141    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8142                                        is a numerical ID used to obtain status information about the job progress.
8143                                        See <a class='info' href='#GET DB_INSTRUMENTS_JOB INFO'>GET DB_INSTRUMENTS_JOB INFO<span> (</span><span class='info'>Getting job status information</span><span>)</span></a>
8144                                        
8145    </p>
8146    </blockquote>
8147                                
8148    
8149    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8150                                    </p>
8151    <blockquote class="text">
8152    <p>if an invalid path is specified.
8153    </p>
8154    </blockquote>
8155                                
8156    
8157    </blockquote><p>
8158                        
8159    </p>
8160    <p>Examples:
8161    </p>
8162    <p>
8163                            </p>
8164    <blockquote class="text">
8165    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8166    </p>
8167    <p>S: "OK"
8168    </p>
8169    </blockquote><p>
8170                        
8171    </p>
8172    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8173    <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>
8174    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8175    Removing an instrument</h3>
8176    
8177    <p>The front-end can remove a particular instrument
8178                        from the instruments database by sending the following command:
8179    </p>
8180    <p>
8181                            </p>
8182    <blockquote class="text">
8183    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8184    </p>
8185    </blockquote><p>
8186                        
8187    </p>
8188    <p>Where &lt;instr_path&gt; is the absolute path name
8189                        (in the instruments database) of the instrument to remove.
8190    </p>
8191    <p>Possible Answers:
8192    </p>
8193    <p>
8194                            </p>
8195    <blockquote class="text">
8196    <p>"OK" -
8197                                    </p>
8198    <blockquote class="text">
8199    <p>if the instrument is removed successfully
8200    </p>
8201    </blockquote>
8202                                
8203    
8204    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8205                                    </p>
8206    <blockquote class="text">
8207    <p>if the given path does not exist or
8208                                        is a directory.
8209    </p>
8210    </blockquote>
8211                                
8212    
8213    </blockquote><p>
8214                        
8215    </p>
8216    <p>Examples:
8217    </p>
8218    <p>
8219                            </p>
8220    <blockquote class="text">
8221    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8222    </p>
8223    <p>S: "OK"
8224    </p>
8225    </blockquote><p>
8226                        
8227    </p>
8228    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8229    <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>
8230    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8231    Getting amount of instruments</h3>
8232    
8233    <p>The front-end can retrieve the current amount of
8234                        instruments in a specific directory by sending the following command:
8235    </p>
8236    <p>
8237                            </p>
8238    <blockquote class="text">
8239    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8240    </p>
8241    </blockquote><p>
8242                        
8243    </p>
8244    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8245                        of the directory. If RECURSIVE is specified, the number of all
8246                        instruments, including those located in subdirectories of the
8247                        specified directory, will be returned.
8248    </p>
8249    <p>Possible Answers:
8250    </p>
8251    <p>
8252                            </p>
8253    <blockquote class="text">
8254    <p>The current number of instruments
8255                                in the specified directory.
8256    </p>
8257    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8258                                    </p>
8259    <blockquote class="text">
8260    <p>if the given directory does not exist.
8261    </p>
8262    </blockquote>
8263                                
8264    
8265    </blockquote><p>
8266                        
8267    </p>
8268    <p>Example:
8269    </p>
8270    <p>
8271                            </p>
8272    <blockquote class="text">
8273    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8274    </p>
8275    <p>S: "2"
8276    </p>
8277    </blockquote><p>
8278                        
8279    </p>
8280    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8281    <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>
8282    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8283    Listing all instruments in specific directory</h3>
8284    
8285    <p>The front-end can retrieve the current list of instruments
8286                        in specific directory by sending the following command:
8287    </p>
8288    <p>
8289                            </p>
8290    <blockquote class="text">
8291    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8292    </p>
8293    </blockquote><p>
8294                        
8295    </p>
8296    <p>Where &lt;dir&gt; should be replaced by the absolute path
8297                        name of the directory. If RECURSIVE is specified, the absolute path
8298                        names of all instruments, including those located in subdirectories
8299                        of the specified directory, will be returned.
8300    </p>
8301    <p>Possible Answers:
8302    </p>
8303    <p>
8304                            </p>
8305    <blockquote class="text">
8306    <p>A comma separated list of all instruments
8307                                (encapsulated into apostrophes) in the specified directory.
8308    </p>
8309    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8310                                    </p>
8311    <blockquote class="text">
8312    <p>if the given directory does not exist.
8313    </p>
8314    </blockquote>
8315                                
8316    
8317    </blockquote><p>
8318                        
8319    </p>
8320    <p>Example:
8321    </p>
8322    <p>
8323                            </p>
8324    <blockquote class="text">
8325    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8326    </p>
8327    <p>S: "'Bosendorfer 290','Steinway D'"
8328    </p>
8329    </blockquote><p>
8330                        
8331    </p>
8332    <p>
8333                            </p>
8334    <blockquote class="text">
8335    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8336    </p>
8337    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8338    </p>
8339    </blockquote><p>
8340                        
8341    </p>
8342    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8343    <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>
8344    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8345    Getting instrument information</h3>
8346    
8347    <p>The front-end can ask for the current settings of an
8348                        instrument by sending the following command:
8349    </p>
8350    <p>
8351                            </p>
8352  <blockquote class="text">  <blockquote class="text">
8353    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8354    </p>
8355    </blockquote><p>
8356                        
8357    </p>
8358    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8359                        name of the instrument the front-end is interested in.
8360    </p>
8361    <p>Possible Answers:
8362    </p>
8363    <p>
8364                            </p>
8365    <blockquote class="text">
8366    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8367                                Each answer line begins with the settings category name
8368                                followed by a colon and then a space character &lt;SP&gt; and finally
8369                                the info character string to that setting category. At the
8370                                moment the following categories are defined:
8371    </p>
8372  <p>  <p>
8373                                    </p>
8374    <blockquote class="text">
8375    <p>INSTRUMENT_FILE -
8376                                            </p>
8377    <blockquote class="text">
8378    <p>File name of the instrument.
8379                                                Note that the character string may contain
8380                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8381    </p>
8382    </blockquote>
8383                                        
8384    
8385    <p>INSTRUMENT_NR -
8386                                            </p>
8387    <blockquote class="text">
8388    <p>Index of the instrument within the file.
8389    </p>
8390    </blockquote>
8391                                        
8392    
8393    <p>FORMAT_FAMILY -
8394                                            </p>
8395    <blockquote class="text">
8396    <p>The format family of the instrument.
8397    </p>
8398    </blockquote>
8399                                        
8400    
8401    <p>FORMAT_VERSION -
8402                                            </p>
8403    <blockquote class="text">
8404    <p>The format version of the instrument.
8405    </p>
8406    </blockquote>
8407                                        
8408    
8409    <p>SIZE -
8410                                            </p>
8411    <blockquote class="text">
8412    <p>The size of the instrument in bytes.
8413    </p>
8414    </blockquote>
8415                                        
8416    
8417    <p>CREATED -
8418                                            </p>
8419    <blockquote class="text">
8420    <p>The date and time when the instrument is added
8421                                                in the instruments database, represented in
8422                                               "YYYY-MM-DD HH:MM:SS" format
8423    </p>
8424    </blockquote>
8425                                        
8426    
8427    <p>MODIFIED -
8428                                            </p>
8429    <blockquote class="text">
8430    <p>The date and time of the last modification of the
8431                                                instrument's database settings, represented in
8432                                                "YYYY-MM-DD HH:MM:SS" format
8433    </p>
8434    </blockquote>
8435                                        
8436    
8437    <p>DESCRIPTION -
8438                                            </p>
8439    <blockquote class="text">
8440    <p>A brief description of the instrument.
8441                                                Note that the character string may contain
8442                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8443    </p>
8444    </blockquote>
8445                                        
8446    
8447    <p>IS_DRUM -
8448                                            </p>
8449    <blockquote class="text">
8450    <p>either true or false, determines whether the
8451                                                instrument is a drumkit or a chromatic instrument
8452  </p>  </p>
8453  </blockquote>  </blockquote>
8454                                        
8455    
8456    <p>PRODUCT -
8457                                            </p>
8458    <blockquote class="text">
8459    <p>The product title of the instrument.
8460                                                Note that the character string may contain
8461                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8462    </p>
8463    </blockquote>
8464                                        
8465    
8466    <p>ARTISTS -
8467                                            </p>
8468    <blockquote class="text">
8469    <p>Lists the artist names.
8470                                                Note that the character string may contain
8471                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8472    </p>
8473    </blockquote>
8474                                        
8475    
8476    <p>KEYWORDS -
8477                                            </p>
8478    <blockquote class="text">
8479    <p>Provides a list of keywords that refer to the instrument.
8480                                                Keywords are separated with semicolon and blank.
8481                                                Note that the character string may contain
8482                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8483    </p>
8484    </blockquote>
8485                                        
8486    
8487    </blockquote>
8488                                
8489    
8490    </blockquote><p>
8491                        
8492    </p>
8493    <p>The mentioned fields above don't have to be in particular order.
8494    </p>
8495    <p>Example:
8496    </p>
8497    <p>
8498                            </p>
8499    <blockquote class="text">
8500    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8501    </p>
8502    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8503    </p>
8504    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8505    </p>
8506    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8507    </p>
8508    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8509    </p>
8510    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8511    </p>
8512    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8513    </p>
8514    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8515    </p>
8516    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8517    </p>
8518    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8519    </p>
8520    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8521    </p>
8522    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8523    </p>
8524    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8525    </p>
8526    <p>&nbsp;&nbsp;&nbsp;"."
8527    </p>
8528    </blockquote><p>
8529                        
8530    </p>
8531    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8532    <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>
8533    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8534    Renaming an instrument</h3>
8535    
8536    <p>The front-end can alter the name of a specific
8537                        instrument by sending the following command:
8538    </p>
8539    <p>
8540                            </p>
8541    <blockquote class="text">
8542    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8543    </p>
8544    </blockquote><p>
8545                        
8546    </p>
8547    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8548                        &lt;name&gt; is the new name for that instrument.
8549    </p>
8550    <p>Possible Answers:
8551    </p>
8552    <p>
8553                            </p>
8554    <blockquote class="text">
8555    <p>"OK" -
8556                                    </p>
8557    <blockquote class="text">
8558    <p>on success
8559    </p>
8560    </blockquote>
8561                                
8562    
8563    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8564                                    </p>
8565    <blockquote class="text">
8566    <p>in case the given instrument does not exists,
8567                                        or if an instrument with name equal to the new
8568                                        name already exists.
8569    </p>
8570    </blockquote>
8571                                
8572    
8573    </blockquote><p>
8574                        
8575    </p>
8576    <p>Example:
8577    </p>
8578    <p>
8579                            </p>
8580    <blockquote class="text">
8581    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8582    </p>
8583    <p>S: "OK"
8584    </p>
8585    </blockquote><p>
8586                        
8587    </p>
8588    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8589    <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>
8590    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8591    Moving an instrument</h3>
8592    
8593    <p>The front-end can move a specific instrument to another directory by
8594                        sending the following command:
8595    </p>
8596    <p>
8597                            </p>
8598    <blockquote class="text">
8599    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8600    </p>
8601    </blockquote><p>
8602                        
8603    </p>
8604    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8605                        to move and &lt;dst&gt; is the directory where the instrument will
8606                        be moved to.
8607    </p>
8608    <p>Possible Answers:
8609    </p>
8610    <p>
8611                            </p>
8612    <blockquote class="text">
8613    <p>"OK" -
8614                                    </p>
8615    <blockquote class="text">
8616    <p>on success
8617    </p>
8618    </blockquote>
8619                                
8620    
8621    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8622                                    </p>
8623    <blockquote class="text">
8624    <p>in case the given instrument does not exists,
8625                                        or if an instrument with name equal to the name of the
8626                                        specified instrument already exists in the destination
8627                                        directory.
8628    </p>
8629    </blockquote>
8630                                
8631    
8632    </blockquote><p>
8633                        
8634    </p>
8635    <p>Example:
8636    </p>
8637    <p>
8638                            </p>
8639    <blockquote class="text">
8640    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8641    </p>
8642    <p>S: "OK"
8643    </p>
8644    </blockquote><p>
8645                        
8646    </p>
8647    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8648    <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>
8649    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8650    Copying instruments</h3>
8651    
8652    <p>The front-end can copy a specific instrument to another directory by
8653                        sending the following command:
8654    </p>
8655    <p>
8656                            </p>
8657    <blockquote class="text">
8658    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8659    </p>
8660    </blockquote><p>
8661                        
8662    </p>
8663    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8664                        to copy and &lt;dst&gt; is the directory where the instrument will
8665                        be copied to.
8666    </p>
8667    <p>Possible Answers:
8668    </p>
8669    <p>
8670                            </p>
8671    <blockquote class="text">
8672    <p>"OK" -
8673                                    </p>
8674    <blockquote class="text">
8675    <p>on success
8676    </p>
8677    </blockquote>
8678                                
8679    
8680    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8681                                    </p>
8682    <blockquote class="text">
8683    <p>in case the given instrument does not exists,
8684                                        or if an instrument with name equal to the name of the
8685                                        specified instrument already exists in the destination
8686                                        directory.
8687    </p>
8688    </blockquote>
8689                                
8690    
8691    </blockquote><p>
8692                        
8693    </p>
8694    <p>Example:
8695    </p>
8696    <p>
8697                            </p>
8698    <blockquote class="text">
8699    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8700    </p>
8701    <p>S: "OK"
8702    </p>
8703    </blockquote><p>
8704                        
8705    </p>
8706    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8707    <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>
8708    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8709    Changing the description of instrument</h3>
8710    
8711    <p>The front-end can alter the description of a specific
8712                        instrument by sending the following command:
8713    </p>
8714    <p>
8715                            </p>
8716    <blockquote class="text">
8717    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8718    </p>
8719    </blockquote><p>
8720                        
8721    </p>
8722    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8723                        &lt;desc&gt; is the new description for the instrument
8724                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8725                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8726    </p>
8727    <p>Possible Answers:
8728    </p>
8729    <p>
8730                            </p>
8731    <blockquote class="text">
8732    <p>"OK" -
8733                                    </p>
8734    <blockquote class="text">
8735    <p>on success
8736    </p>
8737    </blockquote>
8738                                
8739    
8740    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8741                                    </p>
8742    <blockquote class="text">
8743    <p>in case the given instrument does not exists.
8744    </p>
8745    </blockquote>
8746                                
8747    
8748    </blockquote><p>
8749                        
8750    </p>
8751    <p>Example:
8752    </p>
8753    <p>
8754                            </p>
8755    <blockquote class="text">
8756    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8757    </p>
8758    <p>S: "OK"
8759    </p>
8760    </blockquote><p>
8761                        
8762    </p>
8763    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8764    <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>
8765    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8766    Finding instruments</h3>
8767    
8768    <p>The front-end can search for instruments
8769                        in specific directory by sending the following command:
8770    </p>
8771    <p>
8772                            </p>
8773    <blockquote class="text">
8774    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8775    </p>
8776    </blockquote><p>
8777                        
8778    </p>
8779    <p>Where &lt;dir&gt; should be replaced by the absolute path
8780                        name of the directory to search in. If NON_RECURSIVE is specified, the
8781                        directories located in subdirectories of the specified directory will not
8782                        be searched. &lt;criteria-list&gt; is a list of search criterias
8783                        in form of "key1=val1 key2=val2 ...". The following criterias are
8784                        allowed:
8785    </p>
8786    <p>
8787                          
8788    <p>NAME='&lt;search-string&gt;'
8789                              </p>
8790    <blockquote class="text">
8791    <p>Restricts the search to instruments, which names
8792                                  satisfy the supplied search string (encapsulated into apostrophes,
8793                                  supporting escape sequences as described in chapter
8794                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8795    </p>
8796    </blockquote><p>
8797                          
8798    </p>
8799    
8800                          
8801    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8802                              </p>
8803    <blockquote class="text">
8804    <p>Restricts the search to instruments, which
8805                                  size is in the specified range. If &lt;min&gt; is omitted,
8806                                  the search results are restricted to instruments with size less then
8807                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8808                                  search is restricted to instruments with size greater then
8809                                  or equal to &lt;min&gt;.
8810    </p>
8811    </blockquote><p>
8812                          
8813    </p>
8814    
8815                          
8816    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8817                              </p>
8818    <blockquote class="text">
8819    <p>Restricts the search to instruments, which creation
8820                                  date satisfies the specified period, where &lt;date-after&gt;
8821                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8822                                  If &lt;date-after&gt; is omitted the search is restricted to
8823                                  instruments created before &lt;date-before&gt;. If
8824                                  &lt;date-before&gt; is omitted, the search is restricted
8825                                  to instruments created after &lt;date-after&gt;.
8826    </p>
8827    </blockquote><p>
8828                          
8829    </p>
8830    
8831                          
8832    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8833                              </p>
8834    <blockquote class="text">
8835    <p>Restricts the search to instruments, which
8836                                  date of last modification satisfies the specified period, where
8837                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8838                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8839                                  instruments, which are last modified before &lt;date-before&gt;. If
8840                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8841                                  which are last modified after &lt;date-after&gt;.
8842    </p>
8843    </blockquote><p>
8844                          
8845    </p>
8846    
8847                          
8848    <p>DESCRIPTION='&lt;search-string&gt;'
8849                              </p>
8850    <blockquote class="text">
8851    <p>Restricts the search to instruments with description
8852                                  that satisfies the supplied search string (encapsulated into apostrophes,
8853                                  supporting escape sequences as described in chapter
8854                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8855    </p>
8856    </blockquote><p>
8857                          
8858    </p>
8859    
8860                          
8861    <p>PRODUCT='&lt;search-string&gt;'
8862                              </p>
8863    <blockquote class="text">
8864    <p>Restricts the search to instruments with product info
8865                                  that satisfies the supplied search string (encapsulated into apostrophes,
8866                                  supporting escape sequences as described in chapter
8867                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8868    </p>
8869    </blockquote><p>
8870                          
8871    </p>
8872    
8873                          
8874    <p>ARTISTS='&lt;search-string&gt;'
8875                              </p>
8876    <blockquote class="text">
8877    <p>Restricts the search to instruments with artists info
8878                                  that satisfies the supplied search string (encapsulated into apostrophes,
8879                                  supporting escape sequences as described in chapter
8880                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8881    </p>
8882    </blockquote><p>
8883                          
8884    </p>
8885    
8886                          
8887    <p>KEYWORDS='&lt;search-string&gt;'
8888                              </p>
8889    <blockquote class="text">
8890    <p>Restricts the search to instruments with keyword list
8891                                  that satisfies the supplied search string (encapsulated into apostrophes,
8892                                  supporting escape sequences as described in chapter
8893                                  "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
8894    </p>
8895    </blockquote><p>
8896                          
8897    </p>
8898    
8899                          
8900    <p>IS_DRUM=true | false
8901                              </p>
8902    <blockquote class="text">
8903    <p>Either true or false. Restricts the search to
8904                                  drum kits or chromatic instruments.
8905    </p>
8906    </blockquote><p>
8907                          
8908    </p>
8909    
8910                          
8911    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8912                              </p>
8913    <blockquote class="text">
8914    <p>Restricts the search to instruments of the supplied format families,
8915                                  where &lt;format-list&gt; is a comma separated list of format families.
8916    </p>
8917    </blockquote><p>
8918                          
8919    </p>
8920                        
8921    
8922    <p>Where &lt;search-string&gt; is either a regular expression, or a
8923                        word list separated with spaces for OR search and with '+' for AND search.
8924    </p>
8925    <p>Possible Answers:
8926    </p>
8927    <p>
8928                            </p>
8929    <blockquote class="text">
8930    <p>A comma separated list with the absolute path names (encapsulated into
8931                                apostrophes) of all instruments in the specified directory that satisfy
8932                                the supplied search criterias.
8933    </p>
8934    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8935                                    </p>
8936    <blockquote class="text">
8937    <p>if the given directory does not exist.
8938    </p>
8939    </blockquote>
8940                                
8941    
8942    </blockquote><p>
8943                        
8944    </p>
8945    <p>Example:
8946    </p>
8947    <p>
8948                            </p>
8949    <blockquote class="text">
8950    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8951    </p>
8952    <p>S: "'/Piano Collection/Bosendorfer 290'"
8953    </p>
8954    </blockquote><p>
8955                        
8956    </p>
8957    <p>
8958                            </p>
8959    <blockquote class="text">
8960    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8961    </p>
8962    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8963    </p>
8964    </blockquote><p>
8965                        
8966    </p>
8967    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8968    <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>
8969    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8970    Getting job status information</h3>
8971    
8972    <p>The front-end can ask for the current status of a
8973                        particular database instruments job by sending the following command:
8974    </p>
8975    <p>
8976                            </p>
8977    <blockquote class="text">
8978    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8979    </p>
8980    </blockquote><p>
8981                        
8982    </p>
8983    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8984                        of the job the front-end is interested in.
8985    </p>
8986    <p>Possible Answers:
8987    </p>
8988    <p>
8989                            </p>
8990    <blockquote class="text">
8991    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8992                                Each answer line begins with the settings category name
8993                                followed by a colon and then a space character &lt;SP&gt; and finally
8994                                the info character string to that setting category. At the
8995                                moment the following categories are defined:
8996    </p>
8997    <p>
8998                                    </p>
8999    <blockquote class="text">
9000    <p>FILES_TOTAL -
9001                                            </p>
9002    <blockquote class="text">
9003    <p>The total number of files scheduled for scanning
9004    </p>
9005    </blockquote>
9006                                        
9007    
9008    <p>FILES_SCANNED -
9009                                            </p>
9010    <blockquote class="text">
9011    <p>The current number of scanned files
9012    </p>
9013    </blockquote>
9014                                        
9015    
9016    <p>SCANNING -
9017                                            </p>
9018    <blockquote class="text">
9019    <p>The absolute path name of the file which is currently
9020                                                being scanned
9021    </p>
9022    </blockquote>
9023                                        
9024    
9025    <p>STATUS -
9026                                            </p>
9027    <blockquote class="text">
9028    <p>An integer value between 0 and 100 indicating the
9029                                                scanning progress percentage of the file which is
9030                                                currently being scanned
9031    </p>
9032    </blockquote>
9033                                        
9034    
9035    </blockquote>
9036                                
9037    
9038    </blockquote><p>
9039                        
9040    </p>
9041    <p>The mentioned fields above don't have to be in particular order.
9042    </p>
9043    <p>Example:
9044    </p>
9045    <p>
9046                            </p>
9047    <blockquote class="text">
9048    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9049    </p>
9050    <p>S: "FILES_TOTAL: 12"
9051    </p>
9052    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9057    </p>
9058    <p>&nbsp;&nbsp;&nbsp;"."
9059    </p>
9060    </blockquote><p>
9061                        
9062    </p>
9063    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9064    <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>
9065    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9066    Formatting the instruments database</h3>
9067    
9068    <p>The front-end can remove all instruments and directories and re-create
9069                        the instruments database structure (e.g., in case of a database corruption)
9070                        by sending the following command:
9071    </p>
9072    <p>
9073                            </p>
9074    <blockquote class="text">
9075    <p>FORMAT INSTRUMENTS_DB
9076    </p>
9077    </blockquote><p>
9078                        
9079    </p>
9080    <p>Possible Answers:
9081    </p>
9082    <p>
9083                            </p>
9084    <blockquote class="text">
9085    <p>"OK" -
9086                                    </p>
9087    <blockquote class="text">
9088    <p>on success
9089    </p>
9090    </blockquote>
9091                                
9092    
9093    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9094                                    </p>
9095    <blockquote class="text">
9096    <p>If the formatting of the instruments database
9097                                        failed.
9098    </p>
9099    </blockquote>
9100                                
9101    
9102    </blockquote><p>
9103                        
9104    </p>
9105    <a name="editing_instruments"></a><br /><hr />
9106    <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>
9107    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9108    Editing Instruments</h3>
9109    
9110    <p>The sampler allows to edit instruments while playing with the
9111                    sampler by spawning an external (3rd party) instrument editor
9112                    application for a given instrument. The 3rd party instrument
9113                    editor applications have to place a respective plugin DLL file
9114                    into the sampler's plugins directory. The sampler will
9115                    automatically try to load all plugin DLLs in that directory on
9116                    startup and only on startup!
9117    </p>
9118    <p>At the moment there is only one command for this feature set,
9119                    but this will most probably change in future.
9120    </p>
9121    <a name="EDIT INSTRUMENT"></a><br /><hr />
9122    <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>
9123    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9124    Opening an appropriate instrument editor application</h3>
9125    
9126    <p>The front-end can request to open an appropriate instrument
9127                        editor application by sending the following command:
9128    </p>
9129    <p>
9130                            </p>
9131    <blockquote class="text">
9132    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9133    </p>
9134    </blockquote><p>
9135                        
9136    </p>
9137    <p>Where &lt;sampler-channel&gt; should be replaced by the
9138                        number of the sampler channel as given by the
9139                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9140                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9141                        command.
9142    </p>
9143    <p>The sampler will try to ask all registered instrument
9144                        editors (or to be more specific: their sampler plugins)
9145                        whether they are capable to handle the instrument on the
9146                        given sampler channel. The sampler will simply use the first
9147                        instrument editor application which replied with a positive
9148                        answer and spawn that instrument editor application within
9149                        the sampler's process and provide that application access
9150                        to the instrument's data structures, so both applications
9151                        can share and access the same instruments data at the same
9152                        time, thus allowing to immediately hear changes with the
9153                        sampler made by the instrument editor.
9154    </p>
9155    <p>Note: consequently instrument editors are always spawned
9156                        locally on the same machine where the sampler is running
9157                        on!
9158    </p>
9159    <p>Possible Answers:
9160    </p>
9161    <p>
9162                            </p>
9163    <blockquote class="text">
9164    <p>"OK" -
9165                                    </p>
9166    <blockquote class="text">
9167    <p>when an appropriate instrument editor was
9168                                        launched
9169    </p>
9170    </blockquote>
9171                                
9172    
9173    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9174                                    </p>
9175    <blockquote class="text">
9176    <p>when an appropriate instrument editor was
9177                                        launched, but there are noteworthy issues
9178    </p>
9179    </blockquote>
9180                                
9181    
9182    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9183                                    </p>
9184    <blockquote class="text">
9185    <p>when an appropriate instrument editor
9186                                        could not be launched
9187    </p>
9188    </blockquote>
9189                                
9190    
9191    </blockquote><p>
9192                        
9193    </p>
9194    <p>Examples:
9195    </p>
9196    <p>
9197                            </p>
9198    <blockquote class="text">
9199    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9200    </p>
9201    <p>S: "OK"
9202    </p>
9203    </blockquote><p>
9204                        
9205    </p>
9206    <a name="file_management"></a><br /><hr />
9207    <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>
9208    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9209    Managing Files</h3>
9210    
9211    <p>You can query detailed informations about files located
9212                    at the same system where the sampler instance is running on.
9213                    Using this command set allows to retrieve file informations
9214                    even remotely from another machine.
9215    </p>
9216    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9217    <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>
9218    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9219    Retrieving amount of instruments of a file</h3>
9220    
9221    <p>The front-end can retrieve the amount of instruments
9222                        within a given instrument file by sending the
9223                        following command:
9224    </p>
9225    <p>
9226                            </p>
9227    <blockquote class="text">
9228    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9229    </p>
9230    </blockquote><p>
9231                        
9232    </p>
9233    <p>Where &lt;filename&gt; is the name of the instrument
9234                        file (encapsulated into apostrophes, supporting escape
9235                        sequences as described in chapter
9236                        "<a class='info' href='#character_set'>Character Set and Escape
9237                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9238    </p>
9239    <p>The sampler will try to ask all sampler engines,
9240                        whether they support the given file and ask the first
9241                        engine with a positive answer for the amount of
9242                        instruments.
9243    </p>
9244    <p>Possible Answers:
9245    </p>
9246    <p>
9247                            </p>
9248    <blockquote class="text">
9249    <p>On success, the sampler will answer by
9250                                   returning the amount of instruments.
9251                                
9252    </p>
9253    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9254                                    </p>
9255    <blockquote class="text">
9256    <p>if the file could not be handled
9257    </p>
9258    </blockquote>
9259                                
9260    
9261    </blockquote><p>
9262                        
9263    </p>
9264    <p>Examples:
9265    </p>
9266    <p>
9267                            </p>
9268    <blockquote class="text">
9269    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9270    </p>
9271    <p>S: "10"
9272    </p>
9273    </blockquote><p>
9274                        
9275    </p>
9276    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9277    <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>
9278    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9279    Retrieving all instruments of a file</h3>
9280    
9281    <p>The front-end can retrieve a list of all instruments
9282                        within a given instrument file by sending the
9283                        following command:
9284    </p>
9285    <p>
9286                            </p>
9287    <blockquote class="text">
9288    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9289    </p>
9290    </blockquote><p>
9291                        
9292    </p>
9293    <p>Where &lt;filename&gt; is the name of the instrument
9294                        file (encapsulated into apostrophes, supporting escape
9295                        sequences as described in chapter
9296                        "<a class='info' href='#character_set'>Character Set and Escape
9297                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9298    </p>
9299    <p>The sampler will try to ask all sampler engines,
9300                        whether they support the given file and ask the first
9301                        engine with a positive answer for a list of IDs for the
9302                        instruments in the given file.
9303    </p>
9304    <p>Possible Answers:
9305    </p>
9306    <p>
9307                            </p>
9308    <blockquote class="text">
9309    <p>On success, the sampler will answer by
9310                                   returning a comma separated list of
9311                                   instrument IDs.
9312                                
9313    </p>
9314    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9315                                    </p>
9316    <blockquote class="text">
9317    <p>if the file could not be handled
9318    </p>
9319    </blockquote>
9320                                
9321    
9322    </blockquote><p>
9323                        
9324    </p>
9325    <p>Examples:
9326    </p>
9327    <p>
9328                            </p>
9329    <blockquote class="text">
9330    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9331    </p>
9332    <p>S: "0,1,2,3,4,5,6,7,8,9"
9333    </p>
9334    </blockquote><p>
9335                        
9336    </p>
9337    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9338    <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>
9339    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9340    Retrieving informations about one instrument in a file</h3>
9341    
9342    <p>The front-end can retrieve detailed informations
9343                        about a specific instrument within a given instrument
9344                        file by sending the following command:
9345    </p>
9346    <p>
9347                            </p>
9348    <blockquote class="text">
9349    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9350                                &lt;instr-id&gt;
9351    </p>
9352    </blockquote><p>
9353                        
9354    </p>
9355    <p>Where &lt;filename&gt; is the name of the instrument
9356                        file (encapsulated into apostrophes, supporting escape
9357                        sequences as described in chapter
9358                        "<a class='info' href='#character_set'>Character Set and Escape
9359                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9360                        instrument ID as returned by the
9361                        <a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> command.
9362    </p>
9363    <p>The sampler will try to ask all sampler engines,
9364                        whether they support the given file and ask the first
9365                        engine with a positive answer for informations about the
9366                        specific instrument in the given file.
9367    </p>
9368    <p>Possible Answers:
9369    </p>
9370    <p>
9371                            </p>
9372    <blockquote class="text">
9373    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9374                                Each answer line begins with the settings category name
9375                                followed by a colon and then a space character &lt;SP&gt; and finally
9376                                the info character string to that setting category. At the
9377                                moment the following categories are defined:
9378    </p>
9379    <p>
9380                                    </p>
9381    <blockquote class="text">
9382    <p>NAME -
9383                                            </p>
9384    <blockquote class="text">
9385    <p>name of the instrument as
9386                                                stored in the instrument file
9387    </p>
9388    </blockquote>
9389                                        
9390    
9391    <p>FORMAT_FAMILY -
9392                                            </p>
9393    <blockquote class="text">
9394    <p>name of the sampler format
9395                                                of the given instrument
9396    </p>
9397    </blockquote>
9398                                        
9399    
9400    <p>FORMAT_VERSION -
9401                                            </p>
9402    <blockquote class="text">
9403    <p>version of the sampler format
9404                                                the instrumen is stored as
9405    </p>
9406    </blockquote>
9407                                        
9408    
9409    <p>PRODUCT -
9410                                            </p>
9411    <blockquote class="text">
9412    <p>official product name of the
9413                                                instrument as stored in the file
9414                                                
9415    </p>
9416    </blockquote>
9417                                        
9418    
9419    <p>ARTISTS -
9420                                            </p>
9421    <blockquote class="text">
9422    <p>artists / sample library
9423                                                vendor of the instrument
9424    </p>
9425    </blockquote>
9426                                        
9427    
9428    </blockquote>
9429                                
9430    
9431    </blockquote><p>
9432                        
9433    </p>
9434    <p>The mentioned fields above don't have to be in particular order.
9435    </p>
9436    <p>Example:
9437    </p>
9438    <p>
9439                            </p>
9440    <blockquote class="text">
9441    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9442    </p>
9443    <p>S: "NAME: Lunatic Loops"
9444    </p>
9445    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9446    </p>
9447    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9448    </p>
9449    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9450    </p>
9451    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9452    </p>
9453    <p>&nbsp;&nbsp;&nbsp;"."
9454    </p>
9455    </blockquote><p>
9456                        
9457    </p>
9458  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9459  <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>
9460  <a name="rfc.section.6"></a><h3>6.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9461    Command Syntax</h3>
9462    
9463    <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>
9464                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>)
9465                where applicable.
9466                
9467    </p>
9468    <p>input =
9469            </p>
9470    <blockquote class="text">
9471    <p>line LF
9472                    
9473    </p>
9474    <p>/ line CR LF
9475                    
9476    </p>
9477    </blockquote><p>
9478    
9479    </p>
9480    <p>line =
9481            </p>
9482    <blockquote class="text">
9483    <p>/* epsilon (empty line ignored) */
9484                    
9485    </p>
9486    <p>/ comment
9487                    
9488    </p>
9489    <p>/ command
9490                    
9491    </p>
9492    <p>/ error
9493                    
9494    </p>
9495    </blockquote><p>
9496    
9497    </p>
9498    <p>comment =
9499            </p>
9500    <blockquote class="text">
9501    <p>'#'
9502                    
9503    </p>
9504    <p>/ comment '#'
9505                    
9506    </p>
9507    <p>/ comment SP
9508                    
9509    </p>
9510    <p>/ comment number
9511                    
9512    </p>
9513    <p>/ comment string
9514                    
9515    </p>
9516    </blockquote><p>
9517    
9518    </p>
9519    <p>command =
9520            </p>
9521    <blockquote class="text">
9522    <p>ADD SP add_instruction
9523                    
9524    </p>
9525    <p>/ MAP SP map_instruction
9526                    
9527    </p>
9528    <p>/ UNMAP SP unmap_instruction
9529                    
9530    </p>
9531    <p>/ GET SP get_instruction
9532                    
9533    </p>
9534    <p>/ CREATE SP create_instruction
9535                    
9536    </p>
9537    <p>/ DESTROY SP destroy_instruction
9538                    
9539    </p>
9540    <p>/ LIST SP list_instruction
9541                    
9542    </p>
9543    <p>/ LOAD SP load_instruction
9544                    
9545    </p>
9546    <p>/ REMOVE SP remove_instruction
9547                    
9548    </p>
9549    <p>/ SET SP set_instruction
9550                    
9551    </p>
9552    <p>/ SUBSCRIBE SP subscribe_event
9553                    
9554    </p>
9555    <p>/ UNSUBSCRIBE SP unsubscribe_event
9556                    
9557    </p>
9558    <p>/ RESET SP reset_instruction
9559                    
9560    </p>
9561    <p>/ CLEAR SP clear_instruction
9562                    
9563    </p>
9564    <p>/ FIND SP find_instruction
9565                    
9566    </p>
9567    <p>/ MOVE SP move_instruction
9568                    
9569    </p>
9570    <p>/ COPY SP copy_instruction
9571                    
9572    </p>
9573    <p>/ EDIT SP edit_instruction
9574                    
9575    </p>
9576    <p>/ FORMAT SP format_instruction
9577                    
9578    </p>
9579    <p>/ RESET
9580                    
9581    </p>
9582    <p>/ QUIT
9583                    
9584    </p>
9585    </blockquote><p>
9586    
9587  <p>TODO: will soon automatically included from src/network/lscp.y,  </p>
9588              meanwhile have a look at that file to get the exact definition of  <p>add_instruction =
9589              the command syntax.          </p>
9590    <blockquote class="text">
9591    <p>CHANNEL
9592                    
9593    </p>
9594    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9595                    
9596    </p>
9597    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9598                    
9599    </p>
9600    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9601                    
9602    </p>
9603    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9604                    
9605    </p>
9606    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9607                    
9608    </p>
9609    <p>/ DB_INSTRUMENTS SP db_path SP filename
9610                    
9611    </p>
9612    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9613                    
9614    </p>
9615    <p>/ MIDI_INSTRUMENT_MAP
9616                    
9617    </p>
9618    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9619                    
9620    </p>
9621    </blockquote><p>
9622    
9623    </p>
9624    <p>subscribe_event =
9625            </p>
9626    <blockquote class="text">
9627    <p>AUDIO_OUTPUT_DEVICE_COUNT
9628                    
9629    </p>
9630    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9631                    
9632    </p>
9633    <p>/ MIDI_INPUT_DEVICE_COUNT
9634                    
9635    </p>
9636    <p>/ MIDI_INPUT_DEVICE_INFO
9637                    
9638    </p>
9639    <p>/ CHANNEL_COUNT
9640                    
9641    </p>
9642    <p>/ CHANNEL_MIDI
9643                    
9644    </p>
9645    <p>/ VOICE_COUNT
9646                    
9647    </p>
9648    <p>/ STREAM_COUNT
9649                    
9650    </p>
9651    <p>/ BUFFER_FILL
9652                    
9653    </p>
9654    <p>/ CHANNEL_INFO
9655                    
9656    </p>
9657    <p>/ FX_SEND_COUNT
9658                    
9659    </p>
9660    <p>/ FX_SEND_INFO
9661                    
9662    </p>
9663    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9664                    
9665    </p>
9666    <p>/ MIDI_INSTRUMENT_MAP_INFO
9667                    
9668    </p>
9669    <p>/ MIDI_INSTRUMENT_COUNT
9670                    
9671    </p>
9672    <p>/ MIDI_INSTRUMENT_INFO
9673                    
9674    </p>
9675    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9676                    
9677    </p>
9678    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9679                    
9680    </p>
9681    <p>/ DB_INSTRUMENT_COUNT
9682                    
9683    </p>
9684    <p>/ DB_INSTRUMENT_INFO
9685                    
9686    </p>
9687    <p>/ DB_INSTRUMENTS_JOB_INFO
9688                    
9689    </p>
9690    <p>/ MISCELLANEOUS
9691                    
9692    </p>
9693    <p>/ TOTAL_STREAM_COUNT
9694                    
9695    </p>
9696    <p>/ TOTAL_VOICE_COUNT
9697                    
9698    </p>
9699    <p>/ GLOBAL_INFO
9700                    
9701    </p>
9702    </blockquote><p>
9703    
9704    </p>
9705    <p>unsubscribe_event =
9706            </p>
9707    <blockquote class="text">
9708    <p>AUDIO_OUTPUT_DEVICE_COUNT
9709                    
9710    </p>
9711    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9712                    
9713    </p>
9714    <p>/ MIDI_INPUT_DEVICE_COUNT
9715                    
9716    </p>
9717    <p>/ MIDI_INPUT_DEVICE_INFO
9718                    
9719    </p>
9720    <p>/ CHANNEL_COUNT
9721                    
9722    </p>
9723    <p>/ CHANNEL_MIDI
9724                    
9725    </p>
9726    <p>/ VOICE_COUNT
9727                    
9728    </p>
9729    <p>/ STREAM_COUNT
9730                    
9731    </p>
9732    <p>/ BUFFER_FILL
9733                    
9734    </p>
9735    <p>/ CHANNEL_INFO
9736                    
9737    </p>
9738    <p>/ FX_SEND_COUNT
9739                    
9740    </p>
9741    <p>/ FX_SEND_INFO
9742                    
9743    </p>
9744    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9745                    
9746    </p>
9747    <p>/ MIDI_INSTRUMENT_MAP_INFO
9748                    
9749    </p>
9750    <p>/ MIDI_INSTRUMENT_COUNT
9751                    
9752    </p>
9753    <p>/ MIDI_INSTRUMENT_INFO
9754                    
9755    </p>
9756    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9757                    
9758    </p>
9759    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9760                    
9761    </p>
9762    <p>/ DB_INSTRUMENT_COUNT
9763                    
9764    </p>
9765    <p>/ DB_INSTRUMENT_INFO
9766                    
9767    </p>
9768    <p>/ DB_INSTRUMENTS_JOB_INFO
9769                    
9770    </p>
9771    <p>/ MISCELLANEOUS
9772                    
9773    </p>
9774    <p>/ TOTAL_STREAM_COUNT
9775                    
9776    </p>
9777    <p>/ TOTAL_VOICE_COUNT
9778                    
9779    </p>
9780    <p>/ GLOBAL_INFO
9781                    
9782    </p>
9783    </blockquote><p>
9784    
9785    </p>
9786    <p>map_instruction =
9787            </p>
9788    <blockquote class="text">
9789    <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
9790                    
9791    </p>
9792    <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
9793                    
9794    </p>
9795    <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
9796                    
9797    </p>
9798    <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
9799                    
9800    </p>
9801    </blockquote><p>
9802    
9803    </p>
9804    <p>unmap_instruction =
9805            </p>
9806    <blockquote class="text">
9807    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9808                    
9809    </p>
9810    </blockquote><p>
9811    
9812    </p>
9813    <p>remove_instruction =
9814            </p>
9815    <blockquote class="text">
9816    <p>CHANNEL SP sampler_channel
9817                    
9818    </p>
9819    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9820                    
9821    </p>
9822    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9823                    
9824    </p>
9825    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9826                    
9827    </p>
9828    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9829                    
9830    </p>
9831    <p>/ DB_INSTRUMENT SP db_path
9832                    
9833    </p>
9834    </blockquote><p>
9835    
9836    </p>
9837    <p>get_instruction =
9838            </p>
9839    <blockquote class="text">
9840    <p>AVAILABLE_ENGINES
9841                    
9842    </p>
9843    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
9844                    
9845    </p>
9846    <p>/ MIDI_INPUT_DRIVER SP INFO SP string
9847                    
9848    </p>
9849    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string
9850                    
9851    </p>
9852    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
9853                    
9854    </p>
9855    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9856                    
9857    </p>
9858    <p>/ AUDIO_OUTPUT_DRIVER SP INFO SP string
9859                    
9860    </p>
9861    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string
9862                    
9863    </p>
9864    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
9865                    
9866    </p>
9867    <p>/ AUDIO_OUTPUT_DEVICES
9868                    
9869    </p>
9870    <p>/ MIDI_INPUT_DEVICES
9871                    
9872    </p>
9873    <p>/ AUDIO_OUTPUT_DEVICE SP INFO SP number
9874                    
9875    </p>
9876    <p>/ MIDI_INPUT_DEVICE SP INFO SP number
9877                    
9878    </p>
9879    <p>/ MIDI_INPUT_PORT SP INFO SP number SP number
9880                    
9881    </p>
9882    <p>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string
9883                    
9884    </p>
9885    <p>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number
9886                    
9887    </p>
9888    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string
9889                    
9890    </p>
9891    <p>/ CHANNELS
9892                    
9893    </p>
9894    <p>/ CHANNEL SP INFO SP sampler_channel
9895                    
9896    </p>
9897    <p>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel
9898                    
9899    </p>
9900    <p>/ CHANNEL SP STREAM_COUNT SP sampler_channel
9901                    
9902    </p>
9903    <p>/ CHANNEL SP VOICE_COUNT SP sampler_channel
9904                    
9905    </p>
9906    <p>/ ENGINE SP INFO SP engine_name
9907                    
9908    </p>
9909    <p>/ SERVER SP INFO
9910                    
9911    </p>
9912    <p>/ TOTAL_STREAM_COUNT
9913                    
9914    </p>
9915    <p>/ TOTAL_VOICE_COUNT
9916                    
9917    </p>
9918    <p>/ TOTAL_VOICE_COUNT_MAX
9919                    
9920    </p>
9921    <p>/ MIDI_INSTRUMENTS SP midi_map
9922                    
9923    </p>
9924    <p>/ MIDI_INSTRUMENTS SP ALL
9925                    
9926    </p>
9927    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9928                    
9929    </p>
9930    <p>/ MIDI_INSTRUMENT_MAPS
9931                    
9932    </p>
9933    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9934                    
9935    </p>
9936    <p>/ FX_SENDS SP sampler_channel
9937                    
9938    </p>
9939    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9940                    
9941    </p>
9942    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9943                    
9944    </p>
9945    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9946                    
9947    </p>
9948    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9949                    
9950    </p>
9951    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9952                    
9953    </p>
9954    <p>/ DB_INSTRUMENTS SP db_path
9955                    
9956    </p>
9957    <p>/ DB_INSTRUMENT SP INFO SP db_path
9958                    
9959    </p>
9960    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9961                    
9962    </p>
9963    <p>/ VOLUME
9964                    
9965    </p>
9966    <p>/ FILE SP INSTRUMENTS SP filename
9967                    
9968    </p>
9969    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
9970                    
9971    </p>
9972    </blockquote><p>
9973    
9974    </p>
9975    <p>set_instruction =
9976            </p>
9977    <blockquote class="text">
9978    <p>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9979                    
9980    </p>
9981    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list
9982                    
9983    </p>
9984    <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9985                    
9986    </p>
9987    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9988                    
9989    </p>
9990    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9991                    
9992    </p>
9993    <p>/ CHANNEL SP set_chan_instruction
9994                    
9995    </p>
9996    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9997                    
9998    </p>
9999    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10000                    
10001    </p>
10002    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10003                    
10004    </p>
10005    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
10006                    
10007    </p>
10008    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10009                    
10010    </p>
10011    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10012                    
10013    </p>
10014    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10015                    
10016    </p>
10017    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10018                    
10019    </p>
10020    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10021                    
10022    </p>
10023    <p>/ ECHO SP boolean
10024                    
10025    </p>
10026    <p>/ VOLUME SP volume_value
10027                    
10028    </p>
10029    </blockquote><p>
10030    
10031    </p>
10032    <p>create_instruction =
10033            </p>
10034    <blockquote class="text">
10035    <p>AUDIO_OUTPUT_DEVICE SP string SP key_val_list
10036                    
10037    </p>
10038    <p>/ AUDIO_OUTPUT_DEVICE SP string
10039                    
10040    </p>
10041    <p>/ MIDI_INPUT_DEVICE SP string SP key_val_list
10042                    
10043    </p>
10044    <p>/ MIDI_INPUT_DEVICE SP string
10045                    
10046    </p>
10047    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
10048                    
10049    </p>
10050    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
10051                    
10052    </p>
10053    </blockquote><p>
10054    
10055    </p>
10056    <p>reset_instruction =
10057            </p>
10058    <blockquote class="text">
10059    <p>CHANNEL SP sampler_channel
10060                    
10061    </p>
10062    </blockquote><p>
10063    
10064    </p>
10065    <p>clear_instruction =
10066            </p>
10067    <blockquote class="text">
10068    <p>MIDI_INSTRUMENTS SP midi_map
10069                    
10070    </p>
10071    <p>/ MIDI_INSTRUMENTS SP ALL
10072                    
10073    </p>
10074    </blockquote><p>
10075    
10076    </p>
10077    <p>find_instruction =
10078            </p>
10079    <blockquote class="text">
10080    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10081                    
10082    </p>
10083    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10084                    
10085    </p>
10086    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10087                    
10088    </p>
10089    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10090                    
10091    </p>
10092    </blockquote><p>
10093    
10094    </p>
10095    <p>move_instruction =
10096            </p>
10097    <blockquote class="text">
10098    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10099                    
10100    </p>
10101    <p>/ DB_INSTRUMENT SP db_path SP db_path
10102                    
10103    </p>
10104    </blockquote><p>
10105    
10106    </p>
10107    <p>copy_instruction =
10108            </p>
10109    <blockquote class="text">
10110    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10111                    
10112    </p>
10113    <p>/ DB_INSTRUMENT SP db_path SP db_path
10114                    
10115    </p>
10116    </blockquote><p>
10117    
10118    </p>
10119    <p>destroy_instruction =
10120            </p>
10121    <blockquote class="text">
10122    <p>AUDIO_OUTPUT_DEVICE SP number
10123                    
10124    </p>
10125    <p>/ MIDI_INPUT_DEVICE SP number
10126                    
10127    </p>
10128    <p>/ FX_SEND SP sampler_channel SP fx_send_id
10129                    
10130    </p>
10131    </blockquote><p>
10132    
10133    </p>
10134    <p>load_instruction =
10135            </p>
10136    <blockquote class="text">
10137    <p>INSTRUMENT SP load_instr_args
10138                    
10139    </p>
10140    <p>/ ENGINE SP load_engine_args
10141                    
10142    </p>
10143    </blockquote><p>
10144    
10145    </p>
10146    <p>set_chan_instruction =
10147            </p>
10148    <blockquote class="text">
10149    <p>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index
10150                    
10151    </p>
10152    <p>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index
10153                    
10154    </p>
10155    <p>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name
10156                    
10157    </p>
10158    <p>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index
10159                    
10160    </p>
10161    <p>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index
10162                    
10163    </p>
10164    <p>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index
10165                    
10166    </p>
10167    <p>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index
10168                    
10169    </p>
10170    <p>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name
10171                    
10172    </p>
10173    <p>/ VOLUME SP sampler_channel SP volume_value
10174                    
10175    </p>
10176    <p>/ MUTE SP sampler_channel SP boolean
10177                    
10178    </p>
10179    <p>/ SOLO SP sampler_channel SP boolean
10180                    
10181    </p>
10182    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
10183                    
10184    </p>
10185    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
10186                    
10187    </p>
10188    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
10189                    
10190    </p>
10191    </blockquote><p>
10192    
10193    </p>
10194    <p>edit_instruction =
10195            </p>
10196    <blockquote class="text">
10197    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10198                    
10199    </p>
10200    </blockquote><p>
10201    
10202    </p>
10203    <p>format_instruction =
10204            </p>
10205    <blockquote class="text">
10206    <p>INSTRUMENTS_DB
10207                    
10208    </p>
10209    </blockquote><p>
10210    
10211    </p>
10212    <p>modal_arg =
10213            </p>
10214    <blockquote class="text">
10215    <p>/* epsilon (empty argument) */
10216                    
10217    </p>
10218    <p>/ NON_MODAL SP
10219                    
10220    </p>
10221    </blockquote><p>
10222    
10223    </p>
10224    <p>key_val_list =
10225            </p>
10226    <blockquote class="text">
10227    <p>string '=' param_val_list
10228                    
10229    </p>
10230    <p>/ key_val_list SP string '=' param_val_list
10231                    
10232    </p>
10233    </blockquote><p>
10234    
10235    </p>
10236    <p>buffer_size_type =
10237            </p>
10238    <blockquote class="text">
10239    <p>BYTES
10240                    
10241    </p>
10242    <p>/ PERCENTAGE
10243                    
10244    </p>
10245    </blockquote><p>
10246    
10247    </p>
10248    <p>list_instruction =
10249            </p>
10250    <blockquote class="text">
10251    <p>AUDIO_OUTPUT_DEVICES
10252                    
10253    </p>
10254    <p>/ MIDI_INPUT_DEVICES
10255                    
10256    </p>
10257    <p>/ CHANNELS
10258                    
10259    </p>
10260    <p>/ AVAILABLE_ENGINES
10261                    
10262    </p>
10263    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
10264                    
10265    </p>
10266    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10267                    
10268    </p>
10269    <p>/ MIDI_INSTRUMENTS SP midi_map
10270                    
10271    </p>
10272    <p>/ MIDI_INSTRUMENTS SP ALL
10273                    
10274    </p>
10275    <p>/ MIDI_INSTRUMENT_MAPS
10276                    
10277    </p>
10278    <p>/ FX_SENDS SP sampler_channel
10279                    
10280    </p>
10281    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10282                    
10283    </p>
10284    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10285                    
10286    </p>
10287    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10288                    
10289    </p>
10290    <p>/ DB_INSTRUMENTS SP db_path
10291                    
10292    </p>
10293    <p>/ FILE SP INSTRUMENTS SP filename
10294                    
10295    </p>
10296    </blockquote><p>
10297    
10298    </p>
10299    <p>load_instr_args =
10300            </p>
10301    <blockquote class="text">
10302    <p>filename SP instrument_index SP sampler_channel
10303                    
10304    </p>
10305    <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
10306                    
10307    </p>
10308    </blockquote><p>
10309    
10310    </p>
10311    <p>load_engine_args =
10312            </p>
10313    <blockquote class="text">
10314    <p>engine_name SP sampler_channel
10315                    
10316    </p>
10317    </blockquote><p>
10318    
10319    </p>
10320    <p>instr_load_mode =
10321            </p>
10322    <blockquote class="text">
10323    <p>ON_DEMAND
10324                    
10325    </p>
10326    <p>/ ON_DEMAND_HOLD
10327                    
10328    </p>
10329    <p>/ PERSISTENT
10330                    
10331    </p>
10332    </blockquote><p>
10333    
10334    </p>
10335    <p>device_index =
10336            </p>
10337    <blockquote class="text">
10338    <p>number
10339                    
10340    </p>
10341    </blockquote><p>
10342    
10343    </p>
10344    <p>audio_channel_index =
10345            </p>
10346    <blockquote class="text">
10347    <p>number
10348                    
10349    </p>
10350    </blockquote><p>
10351    
10352    </p>
10353    <p>audio_output_type_name =
10354            </p>
10355    <blockquote class="text">
10356    <p>string
10357                    
10358    </p>
10359    </blockquote><p>
10360    
10361    </p>
10362    <p>midi_input_port_index =
10363            </p>
10364    <blockquote class="text">
10365    <p>number
10366                    
10367    </p>
10368    </blockquote><p>
10369    
10370    </p>
10371    <p>midi_input_channel_index =
10372            </p>
10373    <blockquote class="text">
10374    <p>number
10375                    
10376    </p>
10377    <p>/ ALL
10378                    
10379    </p>
10380    </blockquote><p>
10381    
10382    </p>
10383    <p>midi_input_type_name =
10384            </p>
10385    <blockquote class="text">
10386    <p>string
10387                    
10388    </p>
10389    </blockquote><p>
10390    
10391    </p>
10392    <p>midi_map =
10393            </p>
10394    <blockquote class="text">
10395    <p>number
10396                    
10397    </p>
10398    </blockquote><p>
10399    
10400    </p>
10401    <p>midi_bank =
10402            </p>
10403    <blockquote class="text">
10404    <p>number
10405                    
10406    </p>
10407    </blockquote><p>
10408    
10409    </p>
10410    <p>midi_prog =
10411            </p>
10412    <blockquote class="text">
10413    <p>number
10414                    
10415    </p>
10416    </blockquote><p>
10417    
10418    </p>
10419    <p>midi_ctrl =
10420            </p>
10421    <blockquote class="text">
10422    <p>number
10423                    
10424    </p>
10425    </blockquote><p>
10426    
10427    </p>
10428    <p>volume_value =
10429            </p>
10430    <blockquote class="text">
10431    <p>dotnum
10432                    
10433    </p>
10434    <p>/ number
10435                    
10436    </p>
10437    </blockquote><p>
10438    
10439    </p>
10440    <p>sampler_channel =
10441            </p>
10442    <blockquote class="text">
10443    <p>number
10444                    
10445    </p>
10446    </blockquote><p>
10447    
10448    </p>
10449    <p>instrument_index =
10450            </p>
10451    <blockquote class="text">
10452    <p>number
10453                    
10454    </p>
10455    </blockquote><p>
10456    
10457    </p>
10458    <p>fx_send_id =
10459            </p>
10460    <blockquote class="text">
10461    <p>number
10462                    
10463    </p>
10464    </blockquote><p>
10465    
10466    </p>
10467    <p>engine_name =
10468            </p>
10469    <blockquote class="text">
10470    <p>string
10471                    
10472    </p>
10473    </blockquote><p>
10474    
10475    </p>
10476    <p>filename =
10477            </p>
10478    <blockquote class="text">
10479    <p>path
10480                    
10481    </p>
10482    </blockquote><p>
10483    
10484    </p>
10485    <p>db_path =
10486            </p>
10487    <blockquote class="text">
10488    <p>path
10489                    
10490    </p>
10491    </blockquote><p>
10492    
10493    </p>
10494    <p>map_name =
10495            </p>
10496    <blockquote class="text">
10497    <p>stringval_escaped
10498                    
10499    </p>
10500    </blockquote><p>
10501    
10502    </p>
10503    <p>entry_name =
10504            </p>
10505    <blockquote class="text">
10506    <p>stringval_escaped
10507                    
10508    </p>
10509    </blockquote><p>
10510    
10511    </p>
10512    <p>fx_send_name =
10513            </p>
10514    <blockquote class="text">
10515    <p>stringval_escaped
10516                    
10517    </p>
10518    </blockquote><p>
10519    
10520    </p>
10521    <p>param_val_list =
10522            </p>
10523    <blockquote class="text">
10524    <p>param_val
10525                    
10526    </p>
10527    <p>/ param_val_list','param_val
10528                    
10529    </p>
10530    </blockquote><p>
10531    
10532    </p>
10533    <p>param_val =
10534            </p>
10535    <blockquote class="text">
10536    <p>string
10537                    
10538    </p>
10539    <p>/ stringval
10540                    
10541    </p>
10542    <p>/ number
10543                    
10544    </p>
10545    <p>/ dotnum
10546                    
10547    </p>
10548    </blockquote><p>
10549    
10550    </p>
10551    <p>query_val_list =
10552            </p>
10553    <blockquote class="text">
10554    <p>string '=' query_val
10555                    
10556    </p>
10557    <p>/ query_val_list SP string '=' query_val
10558                    
10559    </p>
10560    </blockquote><p>
10561    
10562    </p>
10563    <p>query_val =
10564            </p>
10565    <blockquote class="text">
10566    <p>text_escaped
10567                    
10568    </p>
10569    <p>/ stringval_escaped
10570                    
10571    </p>
10572    </blockquote><p>
10573    
10574    </p>
10575    <p>scan_mode =
10576            </p>
10577    <blockquote class="text">
10578    <p>RECURSIVE
10579                    
10580    </p>
10581    <p>/ NON_RECURSIVE
10582                    
10583    </p>
10584    <p>/ FLAT
10585                    
10586    </p>
10587    </blockquote><p>
10588    
10589    </p>
10590    <a name="character_set"></a><br /><hr />
10591    <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>
10592    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10593    Character Set and Escape Sequences</h3>
10594    
10595    <p>Older versions of this protocol up to and including v1.1 only
10596                    supported the standard ASCII character set (ASCII code 0 - 127)
10597                    <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>, all younger versions of this protocol
10598                    however support the Extended ASCII character set (ASCII code
10599                    0 - 255). The same group of younger protocols also support
10600                    escape sequences, but only for certain, explicitly declared
10601                    parts of the protocol. The supported escape sequences are
10602                    defined as follows:
10603    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10604    <col align="left"><col align="left">
10605    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10606    <tr>
10607    <td align="left">\n</td>
10608    <td align="left">new line</td>
10609    </tr>
10610    <tr>
10611    <td align="left">\r</td>
10612    <td align="left">carriage return</td>
10613    </tr>
10614    <tr>
10615    <td align="left">\f</td>
10616    <td align="left">form feed</td>
10617    </tr>
10618    <tr>
10619    <td align="left">\t</td>
10620    <td align="left">horizontal tab</td>
10621    </tr>
10622    <tr>
10623    <td align="left">\v</td>
10624    <td align="left">vertical tab</td>
10625    </tr>
10626    <tr>
10627    <td align="left">\'</td>
10628    <td align="left">apostrophe</td>
10629    </tr>
10630    <tr>
10631    <td align="left">\"</td>
10632    <td align="left">quotation mark</td>
10633    </tr>
10634    <tr>
10635    <td align="left">\\</td>
10636    <td align="left">backslash</td>
10637    </tr>
10638    <tr>
10639    <td align="left">\OOO</td>
10640    <td align="left">three digit octal ASCII code of the character</td>
10641    </tr>
10642    <tr>
10643    <td align="left">\xHH</td>
10644    <td align="left">two digit hex ASCII code of the character</td>
10645    </tr>
10646    </table>
10647    
10648    <p>Notice: due to the transition of certain parts of the
10649                    protocol which now support escape sequences, a slight backward
10650                    incompatibility to protocols version v1.1 and younger has been
10651                    introduced. The only difference is that in parts of the protocol
10652                    where escape characters are now supported, a backslash characters
10653                    MUST be escaped as well (that is as double backslash), whereas
10654                    in the old versions a single backslash was sufficient.
10655    </p>
10656    <p>The following LSCP commands support escape sequences as part
10657                    of their filename / path based arguments and / or may contain
10658                    a filename / path with escape sequences in their response:
10659                    </p>
10660    <blockquote class="text">
10661    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10662    </p>
10663    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10664    </p>
10665    <p><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>
10666    </p>
10667    <p><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>
10668    </p>
10669    <p><a class='info' href='#ADD DB_INSTRUMENT_DIRECTORY'>"ADD DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Creating a new instrument directory</span><span>)</span></a>
10670    </p>
10671    <p><a class='info' href='#ADD DB_INSTRUMENTS'>"ADD DB_INSTRUMENTS"<span> (</span><span class='info'>Adding instruments to the instruments database</span><span>)</span></a>
10672    </p>
10673    <p><a class='info' href='#REMOVE DB_INSTRUMENT_DIRECTORY'>"REMOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Deleting an instrument directory</span><span>)</span></a>
10674    </p>
10675    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10676    </p>
10677    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORIES'>"GET DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Getting amount of instrument directories</span><span>)</span></a>
10678    </p>
10679    <p><a class='info' href='#LIST DB_INSTRUMENT_DIRECTORIES'>"LIST DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Listing all directories in specific directory</span><span>)</span></a>
10680    </p>
10681    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10682    </p>
10683    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10684    </p>
10685    <p><a class='info' href='#LIST DB_INSTRUMENTS'>"LIST DB_INSTRUMENTS"<span> (</span><span class='info'>Listing all instruments in specific directory</span><span>)</span></a>
10686    </p>
10687    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10688    </p>
10689    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10690    </p>
10691    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10692    </p>
10693    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10694    </p>
10695    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10696    </p>
10697    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10698    </p>
10699    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10700    </p>
10701    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10702    </p>
10703    <p><a class='info' href='#MOVE DB_INSTRUMENT_DIRECTORY'>"MOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Moving an instrument directory</span><span>)</span></a>
10704    </p>
10705    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10706    </p>
10707    <p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a>
10708    </p>
10709    <p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a>
10710    </p>
10711    <p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a>
10712    </p>
10713    <p><a class='info' href='#GET FILE INSTRUMENT INFO'>"GET FILE INSTRUMENT INFO"<span> (</span><span class='info'>Retrieving informations about one instrument in a file</span><span>)</span></a>
10714    </p>
10715    </blockquote><p>
10716                    Note that the forward slash character ('/') has a special meaning in
10717                    filename / path based arguments: it acts as separator of the nodes in
10718                    the path, thus if a directory- or filename includes a forward slash
10719                    (not intended as path node separator), you MUST escape that slash
10720                    either with the respective hex escape sequence ("\x2f") or with the
10721                    respective octal escape sequence ("\057").
10722                    
10723    </p>
10724    <p>
10725                    Note for Windows: file path arguments in LSCP are expected
10726                    to use forward slashes as directory node separator similar
10727                    to Unix based operating systems. In contrast to Unix however
10728                    a Windows typical drive character is expected to be
10729                    prefixed to the path. That is an original Windows file path
10730                    like "D:\Sounds\My.gig" would become in LSCP:
10731                    "D:/Sounds/My.gig".
10732                    
10733    </p>
10734    <p>
10735                    The following LSCP commands even support escape sequences as
10736                    part of at least one of their text-based arguments (i.e. entity name,
10737                    description) and / or may contain escape sequences in at least one of
10738                    their text-based fields in their response:
10739                    </p>
10740    <blockquote class="text">
10741    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10742    </p>
10743    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
10744    </p>
10745    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10746    </p>
10747    <p><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>
10748    </p>
10749    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
10750    </p>
10751    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
10752    </p>
10753    <p><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>
10754    </p>
10755    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
10756    </p>
10757    <p><a class='info' href='#ADD MIDI_INSTRUMENT_MAP'>"ADD MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Create a new MIDI instrument map</span><span>)</span></a>
10758    </p>
10759    <p><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>
10760    </p>
10761    <p><a class='info' href='#SET MIDI_INSTRUMENT_MAP NAME'>"SET MIDI_INSTRUMENT_MAP NAME"<span> (</span><span class='info'>Renaming a MIDI instrument map</span><span>)</span></a>
10762    </p>
10763    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10764    </p>
10765    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10766    </p>
10767    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10768    </p>
10769    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10770    </p>
10771    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10772    </p>
10773    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10774    </p>
10775    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10776    </p>
10777    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10778    </p>
10779    </blockquote><p>
10780                    Please note that these lists are manually maintained. If you
10781                    find a command that also supports escape sequences we forgot to
10782                    mention here, please report it!
10783                    
10784  </p>  </p>
10785  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10786  <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>
10787  <a name="rfc.section.7"></a><h3>7.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10788    Events</h3>
10789    
10790  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10791  </p>  </p>
10792  <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 />
10793    <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>
10794    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
10795    Number of audio output devices changed</h3>
10796    
10797    <p>Client may want to be notified when the total number of audio output devices on the
10798                    back-end changes by issuing the following command:
10799    </p>
10800    <p>
10801                        </p>
10802    <blockquote class="text">
10803    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10804    </p>
10805    </blockquote><p>
10806                    
10807    </p>
10808    <p>Server will start sending the following notification messages:
10809    </p>
10810    <p>
10811                        </p>
10812    <blockquote class="text">
10813    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10814    </p>
10815    </blockquote><p>
10816                    
10817    </p>
10818    <p>where &lt;devices&gt; will be replaced by the new number
10819                    of audio output devices.
10820    </p>
10821    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10822    <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>
10823    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10824    Audio output device's settings changed</h3>
10825    
10826    <p>Client may want to be notified when changes were made to audio output devices on the
10827                    back-end by issuing the following command:
10828    </p>
10829    <p>
10830                        </p>
10831    <blockquote class="text">
10832    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10833    </p>
10834    </blockquote><p>
10835                    
10836    </p>
10837    <p>Server will start sending the following notification messages:
10838    </p>
10839    <p>
10840                        </p>
10841    <blockquote class="text">
10842    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10843    </p>
10844    </blockquote><p>
10845                    
10846    </p>
10847    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10848                    which settings has been changed. The front-end will have to send
10849                    the respective command to actually get the audio output device info. Because these messages
10850                    will be triggered by LSCP commands issued by other clients rather than real
10851                    time events happening on the server, it is believed that an empty notification
10852                    message is sufficient here.
10853    </p>
10854    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10855    <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>
10856    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10857    Number of MIDI input devices changed</h3>
10858    
10859    <p>Client may want to be notified when the total number of MIDI input devices on the
10860                    back-end changes by issuing the following command:
10861    </p>
10862    <p>
10863                        </p>
10864    <blockquote class="text">
10865    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10866    </p>
10867    </blockquote><p>
10868                    
10869    </p>
10870    <p>Server will start sending the following notification messages:
10871    </p>
10872    <p>
10873                        </p>
10874    <blockquote class="text">
10875    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10876    </p>
10877    </blockquote><p>
10878                    
10879    </p>
10880    <p>where &lt;devices&gt; will be replaced by the new number
10881                    of MIDI input devices.
10882    </p>
10883    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10884    <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>
10885    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10886    MIDI input device's settings changed</h3>
10887    
10888    <p>Client may want to be notified when changes were made to MIDI input devices on the
10889                    back-end by issuing the following command:
10890    </p>
10891    <p>
10892                        </p>
10893    <blockquote class="text">
10894    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10895    </p>
10896    </blockquote><p>
10897                    
10898    </p>
10899    <p>Server will start sending the following notification messages:
10900    </p>
10901    <p>
10902                        </p>
10903    <blockquote class="text">
10904    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10905    </p>
10906    </blockquote><p>
10907                    
10908    </p>
10909    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10910                    which settings has been changed. The front-end will have to send
10911                    the respective command to actually get the MIDI input device info. Because these messages
10912                    will be triggered by LSCP commands issued by other clients rather than real
10913                    time events happening on the server, it is believed that an empty notification
10914                    message is sufficient here.
10915    </p>
10916    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10917    <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>
10918    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10919    Number of sampler channels changed</h3>
10920    
10921  <p>Client may want to be notified when the total number of channels on the  <p>Client may want to be notified when the total number of channels on the
10922                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
10923  </p>  </p>
10924  <p></p>  <p>
10925                        </p>
10926  <blockquote class="text">  <blockquote class="text">
10927  <p>SUBSCRIBE CHANNEL_COUNT  <p>SUBSCRIBE CHANNEL_COUNT
10928  </p>  </p>
10929  </blockquote>  </blockquote><p>
10930                    
10931    </p>
10932  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10933  </p>  </p>
10934  <p></p>  <p>
10935                        </p>
10936  <blockquote class="text">  <blockquote class="text">
10937  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
10938  </p>  </p>
10939  </blockquote>  </blockquote><p>
10940                    
10941    </p>
10942  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
10943                  of sampler channels.                  of sampler channels.
10944  </p>  </p>
10945  <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 CHANNEL_MIDI"></a><br /><hr />
10946    <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>
10947    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10948    MIDI data on a sampler channel arrived</h3>
10949    
10950    <p>Client may want to be notified when MIDI data arrive on sampler channels on
10951                    back-end side, by issuing the following command:
10952    </p>
10953    <p>
10954                        </p>
10955    <blockquote class="text">
10956    <p>SUBSCRIBE CHANNEL_MIDI
10957    </p>
10958    </blockquote><p>
10959                    
10960    </p>
10961    <p>Server will start sending one of the the following notification messages:
10962    </p>
10963    <p>
10964                        </p>
10965    <blockquote class="text">
10966    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
10967    </p>
10968    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
10969    </p>
10970    </blockquote><p>
10971                    
10972    </p>
10973    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
10974                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
10975                    0 .. 127, reflecting the analog meaning of the MIDI specification.
10976                    
10977    </p>
10978    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
10979                    delivered by this mechanism! With other words: events could be lost at any time!
10980                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
10981                    thread unaffected by this feature.
10982    </p>
10983    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10984    <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>
10985    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10986    Number of active voices changed</h3>
10987    
10988  <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
10989                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
10990  </p>  </p>
10991  <p></p>  <p>
10992                        </p>
10993  <blockquote class="text">  <blockquote class="text">
10994  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
10995  </p>  </p>
10996  </blockquote>  </blockquote><p>
10997                    
10998    </p>
10999  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11000  </p>  </p>
11001  <p></p>  <p>
11002                        </p>
11003  <blockquote class="text">  <blockquote class="text">
11004  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
11005    </p>
11006    </blockquote><p>
11007                    
11008  </p>  </p>
 </blockquote>  
   
11009  <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
11010                  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
11011                  active voices on that channel.                  active voices on that channel.
11012  </p>  </p>
11013  <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 />
11014    <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>
11015    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11016    Number of active disk streams changed</h3>
11017    
11018  <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
11019                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
11020  </p>  </p>
11021  <p></p>  <p>
11022                        </p>
11023  <blockquote class="text">  <blockquote class="text">
11024  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
11025  </p>  </p>
11026  </blockquote>  </blockquote><p>
11027                    
11028    </p>
11029  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11030  </p>  </p>
11031  <p></p>  <p>
11032                        </p>
11033  <blockquote class="text">  <blockquote class="text">
11034  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
11035  </p>  </p>
11036  </blockquote>  </blockquote><p>
11037                    
11038    </p>
11039  <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
11040                  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
11041                  active disk streams on that channel.                  active disk streams on that channel.
11042  </p>  </p>
11043  <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 />
11044    <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>
11045    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11046    Disk stream buffer fill state changed</h3>
11047    
11048  <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
11049                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
11050  </p>  </p>
11051  <p></p>  <p>
11052                        </p>
11053  <blockquote class="text">  <blockquote class="text">
11054  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
11055  </p>  </p>
11056  </blockquote>  </blockquote><p>
11057                    
11058    </p>
11059  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11060  </p>  </p>
11061  <p></p>  <p>
11062                        </p>
11063  <blockquote class="text">  <blockquote class="text">
11064  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
11065  </p>  </p>
11066  </blockquote>  </blockquote><p>
11067                    
11068    </p>
11069  <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
11070                  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
11071                  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>
11072                  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.
11073  </p>  </p>
11074  <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 />
11075    <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>
11076    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11077    Channel information changed</h3>
11078    
11079  <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
11080                  back-end by issuing the following command:                  back-end by issuing the following command:
11081  </p>  </p>
11082  <p></p>  <p>
11083                        </p>
11084  <blockquote class="text">  <blockquote class="text">
11085  <p>SUBSCRIBE CHANNEL_INFO  <p>SUBSCRIBE CHANNEL_INFO
11086  </p>  </p>
11087  </blockquote>  </blockquote><p>
11088                    
11089    </p>
11090  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11091  </p>  </p>
11092  <p></p>  <p>
11093                        </p>
11094  <blockquote class="text">  <blockquote class="text">
11095  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
11096  </p>  </p>
11097  </blockquote>  </blockquote><p>
11098                    
11099    </p>
11100  <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
11101                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
11102                  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 4211  Intellectual Property and Copyright Stat Line 11104  Intellectual Property and Copyright Stat
11104                  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
11105                  message is sufficient here.                  message is sufficient here.
11106  </p>  </p>
11107  <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 />
11108    <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>
11109    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11110    Number of effect sends changed</h3>
11111    
11112    <p>Client may want to be notified when the number of effect sends on
11113                    a particular sampler channel is changed by issuing the following command:
11114    </p>
11115    <p>
11116                        </p>
11117    <blockquote class="text">
11118    <p>SUBSCRIBE FX_SEND_COUNT
11119    </p>
11120    </blockquote><p>
11121                    
11122    </p>
11123    <p>Server will start sending the following notification messages:
11124    </p>
11125    <p>
11126                        </p>
11127    <blockquote class="text">
11128    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11129    </p>
11130    </blockquote><p>
11131                    
11132    </p>
11133    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11134                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11135                    be replaced by the new number of effect sends on that channel.
11136    </p>
11137    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11138    <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>
11139    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11140    Effect send information changed</h3>
11141    
11142    <p>Client may want to be notified when changes were made to effect sends on a
11143                    a particular sampler channel by issuing the following command:
11144    </p>
11145    <p>
11146                        </p>
11147    <blockquote class="text">
11148    <p>SUBSCRIBE FX_SEND_INFO
11149    </p>
11150    </blockquote><p>
11151                    
11152    </p>
11153    <p>Server will start sending the following notification messages:
11154    </p>
11155    <p>
11156                        </p>
11157    <blockquote class="text">
11158    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11159    </p>
11160    </blockquote><p>
11161                    
11162    </p>
11163    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11164                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11165                    be replaced by the numerical ID of the changed effect send.
11166    </p>
11167    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11168    <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>
11169    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11170    Total number of active voices changed</h3>
11171    
11172    <p>Client may want to be notified when the total number of voices on the
11173                    back-end changes by issuing the following command:
11174    </p>
11175    <p>
11176                        </p>
11177    <blockquote class="text">
11178    <p>SUBSCRIBE TOTAL_VOICE_COUNT
11179    </p>
11180    </blockquote><p>
11181                    
11182    </p>
11183    <p>Server will start sending the following notification messages:
11184    </p>
11185    <p>
11186                        </p>
11187    <blockquote class="text">
11188    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11189    </p>
11190    </blockquote><p>
11191                    
11192    </p>
11193    <p>where &lt;voices&gt; will be replaced by the new number of
11194                    all currently active voices.
11195    </p>
11196    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11197    <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>
11198    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11199    Total number of active disk streams changed</h3>
11200    
11201    <p>Client may want to be notified when the total number of disk streams on the
11202                    back-end changes by issuing the following command:
11203    </p>
11204    <p>
11205                        </p>
11206    <blockquote class="text">
11207    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11208    </p>
11209    </blockquote><p>
11210                    
11211    </p>
11212    <p>Server will start sending the following notification messages:
11213    </p>
11214    <p>
11215                        </p>
11216    <blockquote class="text">
11217    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11218    </p>
11219    </blockquote><p>
11220                    
11221    </p>
11222    <p>where &lt;streams&gt; will be replaced by the new number of
11223                    all currently active disk streams.
11224    </p>
11225    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11226    <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>
11227    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11228    Number of MIDI instrument maps changed</h3>
11229    
11230    <p>Client may want to be notified when the number of MIDI instrument maps on the
11231                    back-end changes by issuing the following command:
11232    </p>
11233    <p>
11234                        </p>
11235    <blockquote class="text">
11236    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
11237    </p>
11238    </blockquote><p>
11239                    
11240    </p>
11241    <p>Server will start sending the following notification messages:
11242    </p>
11243    <p>
11244                        </p>
11245    <blockquote class="text">
11246    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
11247    </p>
11248    </blockquote><p>
11249                    
11250    </p>
11251    <p>where &lt;maps&gt; will be replaced by the new number
11252                    of MIDI instrument maps.
11253    </p>
11254    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11255    <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>
11256    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11257    MIDI instrument map information changed</h3>
11258    
11259    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
11260                    back-end by issuing the following command:
11261    </p>
11262    <p>
11263                        </p>
11264    <blockquote class="text">
11265    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
11266    </p>
11267    </blockquote><p>
11268                    
11269    </p>
11270    <p>Server will start sending the following notification messages:
11271    </p>
11272    <p>
11273                        </p>
11274    <blockquote class="text">
11275    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
11276    </p>
11277    </blockquote><p>
11278                    
11279    </p>
11280    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11281                    for which information changes occurred. The front-end will have to send
11282                    the respective command to actually get the MIDI instrument map info. Because these messages
11283                    will be triggered by LSCP commands issued by other clients rather than real
11284                    time events happening on the server, it is believed that an empty notification
11285                    message is sufficient here.
11286    </p>
11287    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11288    <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>
11289    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11290    Number of MIDI instruments changed</h3>
11291    
11292    <p>Client may want to be notified when the number of MIDI instrument maps on the
11293                    back-end changes by issuing the following command:
11294    </p>
11295    <p>
11296                        </p>
11297    <blockquote class="text">
11298    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
11299    </p>
11300    </blockquote><p>
11301                    
11302    </p>
11303    <p>Server will start sending the following notification messages:
11304    </p>
11305    <p>
11306                        </p>
11307    <blockquote class="text">
11308    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
11309    </p>
11310    </blockquote><p>
11311                    
11312    </p>
11313    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
11314                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
11315                    the new number of MIDI instruments in the specified map.
11316    </p>
11317    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11318    <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>
11319    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11320    MIDI instrument information changed</h3>
11321    
11322    <p>Client may want to be notified when changes were made to MIDI instruments on the
11323                    back-end by issuing the following command:
11324    </p>
11325    <p>
11326                        </p>
11327    <blockquote class="text">
11328    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
11329    </p>
11330    </blockquote><p>
11331                    
11332    </p>
11333    <p>Server will start sending the following notification messages:
11334    </p>
11335    <p>
11336                        </p>
11337    <blockquote class="text">
11338    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
11339    </p>
11340    </blockquote><p>
11341                    
11342    </p>
11343    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11344                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
11345                    the location of the changed MIDI instrument in the map. The front-end will have to send
11346                    the respective command to actually get the MIDI instrument info. Because these messages
11347                    will be triggered by LSCP commands issued by other clients rather than real
11348                    time events happening on the server, it is believed that an empty notification
11349                    message is sufficient here.
11350    </p>
11351    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11352    <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>
11353    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11354    Global settings changed</h3>
11355    
11356    <p>Client may want to be notified when changes to the global settings
11357                    of the sampler were made by issuing the following command:
11358    </p>
11359    <p>
11360                        </p>
11361    <blockquote class="text">
11362    <p>SUBSCRIBE GLOBAL_INFO
11363    </p>
11364    </blockquote><p>
11365                    
11366    </p>
11367    <p>Server will start sending the following types of notification messages:
11368    </p>
11369    <p>
11370                        </p>
11371    <blockquote class="text">
11372    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11373                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11374                            replaced by the optional dotted floating point value, reflecting the
11375                            new global volume parameter.
11376    </p>
11377    </blockquote><p>
11378                    
11379    </p>
11380    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11381    <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>
11382    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11383    Number of database instrument directories changed</h3>
11384    
11385    <p>Client may want to be notified when the number of instrument
11386                    directories in a particular directory in the instruments database
11387                    is changed by issuing the following command:
11388    </p>
11389    <p>
11390                        </p>
11391    <blockquote class="text">
11392    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11393    </p>
11394    </blockquote><p>
11395                    
11396    </p>
11397    <p>Server will start sending the following notification messages:
11398    </p>
11399    <p>
11400                        </p>
11401    <blockquote class="text">
11402    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11403    </p>
11404    </blockquote><p>
11405                    
11406    </p>
11407    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11408                    name of the directory in the instruments database,
11409                    in which the number of directories is changed.
11410    </p>
11411    <p>Note that when a non-empty directory is removed, this event
11412                    is not sent for the subdirectories in that directory.
11413    </p>
11414    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11415    <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>
11416    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11417    Database instrument directory information changed</h3>
11418    
11419    <p>Client may want to be notified when changes were made to directories
11420                    in the instruments database by issuing the following command:
11421    </p>
11422    <p>
11423                        </p>
11424    <blockquote class="text">
11425    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11426    </p>
11427    </blockquote><p>
11428                    
11429    </p>
11430    <p>Server will start sending the following notification messages:
11431    </p>
11432    <p>
11433                        </p>
11434    <blockquote class="text">
11435    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11436    </p>
11437    </blockquote><p>
11438                    
11439    </p>
11440    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11441                    of the directory, for which information changes occurred. The front-end will have to send
11442                    the respective command to actually get the updated directory info. Because these messages
11443                    will be triggered by LSCP commands issued by other clients rather than real
11444                    time events happening on the server, it is believed that an empty notification
11445                    message is sufficient here.
11446    </p>
11447    <p>
11448                        </p>
11449    <blockquote class="text">
11450    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11451    </p>
11452    </blockquote><p>
11453                    
11454    </p>
11455    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11456                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11457                    the new name of the directory, encapsulated into apostrophes.
11458    </p>
11459    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11460    <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>
11461    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11462    Number of database instruments changed</h3>
11463    
11464    <p>Client may want to be notified when the number of instruments
11465                    in a particular directory in the instruments database
11466                    is changed by issuing the following command:
11467    </p>
11468    <p>
11469                        </p>
11470    <blockquote class="text">
11471    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11472    </p>
11473    </blockquote><p>
11474                    
11475    </p>
11476    <p>Server will start sending the following notification messages:
11477    </p>
11478    <p>
11479                        </p>
11480    <blockquote class="text">
11481    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11482    </p>
11483    </blockquote><p>
11484                    
11485    </p>
11486    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11487                    name of the directory in the instruments database,
11488                    in which the number of instruments is changed.
11489    </p>
11490    <p>Note that when a non-empty directory is removed, this event
11491                    is not sent for the instruments in that directory.
11492    </p>
11493    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11494    <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>
11495    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11496    Database instrument information changed</h3>
11497    
11498    <p>Client may want to be notified when changes were made to instruments
11499                    in the instruments database by issuing the following command:
11500    </p>
11501    <p>
11502                        </p>
11503    <blockquote class="text">
11504    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11505    </p>
11506    </blockquote><p>
11507                    
11508    </p>
11509    <p>Server will start sending the following notification messages:
11510    </p>
11511    <p>
11512                        </p>
11513    <blockquote class="text">
11514    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11515    </p>
11516    </blockquote><p>
11517                    
11518    </p>
11519    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11520                    of the instrument, which settings are changed. The front-end will have to send
11521                    the respective command to actually get the updated directory info. Because these messages
11522                    will be triggered by LSCP commands issued by other clients rather than real
11523                    time events happening on the server, it is believed that an empty notification
11524                    message is sufficient here.
11525    </p>
11526    <p>
11527                        </p>
11528    <blockquote class="text">
11529    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11530    </p>
11531    </blockquote><p>
11532                    
11533    </p>
11534    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11535                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11536                    the new name of the instrument, encapsulated into apostrophes.
11537    </p>
11538    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11539    <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>
11540    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11541    Database job status information changed</h3>
11542    
11543    <p>Client may want to be notified when the status of particular database
11544                    instruments job is changed by issuing the following command:
11545    </p>
11546    <p>
11547                        </p>
11548    <blockquote class="text">
11549    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11550    </p>
11551    </blockquote><p>
11552                    
11553    </p>
11554    <p>Server will start sending the following notification messages:
11555    </p>
11556    <p>
11557                        </p>
11558    <blockquote class="text">
11559    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11560    </p>
11561    </blockquote><p>
11562                    
11563    </p>
11564    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11565                    which status is changed. The front-end will have to send the respective
11566                    command to actually get the status info. Because these messages
11567                    will be triggered by LSCP commands issued by other clients rather than real
11568                    time events happening on the server, it is believed that an empty notification
11569                    message is sufficient here.
11570    </p>
11571    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11572    <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>
11573    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
11574    Miscellaneous and debugging events</h3>
11575    
11576  <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
11577                  the server by issuing the following command:                  the server by issuing the following command:
11578  </p>  </p>
11579  <p></p>  <p>
11580                        </p>
11581  <blockquote class="text">  <blockquote class="text">
11582  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
11583  </p>  </p>
11584  </blockquote>  </blockquote><p>
11585                    
11586    </p>
11587  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11588  </p>  </p>
11589  <p></p>  <p>
11590                        </p>
11591  <blockquote class="text">  <blockquote class="text">
11592  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
11593  </p>  </p>
11594  </blockquote>  </blockquote><p>
11595                    
11596    </p>
11597  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
11598                  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
11599                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11600  </p>  </p>
11601  <a name="anchor15"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11602  <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>
11603  <a name="rfc.section.8"></a><h3>8.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11604    Security Considerations</h3>
11605    
11606  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11607              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
11608              connect, running LinuxSampler might be a security risk for the host              connect, running LinuxSampler might be a security risk for the host
11609              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11610  </p>  </p>
11611  <a name="anchor16"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11612  <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>
11613  <a name="rfc.section.9"></a><h3>9.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11614    Acknowledgments</h3>
11615    
11616  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11617              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
11618              list:              list:
11619  </p>  </p>
11620  <p></p>  <p>
11621                    </p>
11622  <blockquote class="text">  <blockquote class="text">
11623  <p>Rui Nuno Capela  <p>Rui Nuno Capela
11624  </p>  </p>
# Line 4261  Intellectual Property and Copyright Stat Line 11628  Intellectual Property and Copyright Stat
11628  </p>  </p>
11629  <p>Grigor Iliev  <p>Grigor Iliev
11630  </p>  </p>
11631  </blockquote>  </blockquote><p>
11632                
11633    </p>
11634  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11635  <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>
11636  <h3>10&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11637  <table width="99%" border="0">  <table width="99%" border="0">
11638    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11639    <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
11640  <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>
11641  <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>
11642    <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
11643    <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>
11644    <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
11645    <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>
11646  </table>  </table>
11647    
11648  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11649  <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>
11650  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11651  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11652  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4286  Schoenebeck</td></tr> Line 11660  Schoenebeck</td></tr>
11660  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
11661  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
11662  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
11663  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
11664  <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>
11665  </table>  </table>
11666  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11667  <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>
11668  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11669  <p class='copyright'>  <p class='copyright'>
11670  The IETF takes no position regarding the validity or scope of  Copyright &copy; The IETF Trust (2008).</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>  
11671  <p class='copyright'>  <p class='copyright'>
11672  The IETF invites any interested party to bring to its  This document is subject to the rights,
11673  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11674  other proprietary rights which may cover technology that may be  and except as set forth therein,
11675  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>  
11676  <p class='copyright'>  <p class='copyright'>
11677  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  This document and the information contained herein are provided
11678    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11679    THE ORGANIZATION HE/SHE REPRESENTS
11680    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11681    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11682    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11683    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11684    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11685    PURPOSE.</p>
11686    <h3>Intellectual Property</h3>
11687  <p class='copyright'>  <p class='copyright'>
11688  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11689  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11690  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11691  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11692  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11693  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11694  document itself may not be modified in any way, such as by removing  such rights.
11695  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11696  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>  
11697  <p class='copyright'>  <p class='copyright'>
11698  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11699  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11700    or the result of an attempt made to obtain a general license or
11701    permission for the use of such proprietary rights by implementers or
11702    users of this specification can be obtained from the IETF on-line IPR
11703    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11704  <p class='copyright'>  <p class='copyright'>
11705  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11706  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11707  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11708  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11709  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11710  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11711    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11712  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11713  <p class='copyright'>  <p class='copyright'>
11714  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11715  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11716  </body></html>  </body></html>
11717    

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

  ViewVC Help
Powered by ViewVC