/[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 1773 by iliev, Wed Sep 10 15:14:31 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; }
      A { font-weight: bold; }  
      A:link { color: #990000; background-color: transparent ; }  
      A:visited { color: #333333; background-color: transparent ; }  
      A:active { color: #333333; background-color: transparent ; }  
   
     p { margin-left: 2em; margin-right: 2em; }  
     p.copyright { font-size: x-small ; }  
     p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb { font-family: "Courier New", Courier, monospace ; }  
   
     ol.text { margin-left: 2em; margin-right: 2em; }  
     ul.text { margin-left: 2em; margin-right: 2em; }  
     li { margin-left: 3em;  }  
53    
54      pre { margin-left: 3em; color: #333333;  background-color: transparent;          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55          font-family: "Courier New", Courier, monospace ; font-size: small ;          a.info {
56                    /* This is the key. */
57                    position: relative;
58                    z-index: 24;
59                    text-decoration: none;
60            }
61            a.info:hover {
62                    z-index: 25;
63                    color: #FFF; background-color: #900;
64            }
65            a.info span { display: none; }
66            a.info:hover span.info {
67                    /* The span will display just on :hover state. */
68                    display: block;
69                    position: absolute;
70                    font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72                    padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74                    text-align: left;
75          }          }
76    
77      h3 { color: #333333; font-size: medium ;          a { font-weight: bold; }
78          font-family: helvetica, arial, sans-serif ;          a:link    { color: #900; background-color: transparent; }
79          background-color: transparent; }          a:visited { color: #633; background-color: transparent; }
80      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }          a:active  { color: #633; background-color: transparent; }
81    
82      table.bug { width: 30px ; height: 15px ; }          p { margin-left: 2em; margin-right: 2em; }
83      td.bug { color: #ffffff ; background-color: #990000 ;          p.copyright { font-size: x-small; }
84          text-align: center ; width: 30px ; height: 15px ;          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.bug A.link2 { color: #ffffff ; font-weight: bold;          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87          text-decoration: none;  
88          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;          ol.text { margin-left: 2em; margin-right: 2em; }
89          font-size: x-small ; background-color: transparent }          ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91      td.header { color: #ffffff; font-size: x-small ;  
92          font-family: arial, helvetica, sans-serif; vertical-align: top;          /* RFC-2629 <spanx>s and <artwork>s. */
93          background-color: #666666 ; width: 33% ; }          em     { font-style: italic; }
94      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }          strong { font-weight: bold; }
95      td.author-text { font-size: x-small; }          dfn    { font-weight: bold; font-style: normal; }
96      table.data { vertical-align: top ; border-collapse: collapse ;          cite   { font-weight: normal; font-style: normal; }
97          border-style: solid solid solid solid ;          tt     { color: #036; }
98          border-color: black black black black ;          tt, pre, pre dfn, pre em, pre cite, pre span {
99          font-size: small ; text-align: center ; }                  font-family: "Courier New", Courier, monospace; font-size: small;
100      table.data th { font-weight: bold ;          }
101          border-style: solid solid solid solid ;          pre {
102          border-color: black black black black ; }                  text-align: left; padding: 4px;
103      table.data td {                  color: #000; background-color: #CCC;
104          border-style: solid solid solid solid ;          }
105          border-color: #333333 #333333 #333333 #333333 ; }          pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107      hr { height: 1px }          pre .key { color: #33C; font-weight: bold; }
108  -->          pre .id  { color: #900; }
109  </style>          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            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></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: March 14, 2009</td><td class="header">September 10, 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 March 14, 2009.</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="#SEND CHANNEL MIDI_DATA">6.4.34.</a>&nbsp;
340    Sending MIDI messages to sampler channel<br />
341    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.35.</a>&nbsp;
342  Resetting a sampler channel<br />  Resetting a sampler channel<br />
343  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">5.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
344  Controlling connection<br />  Controlling connection<br />
345  &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;
346  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
347  &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;
348  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
349  &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;
350  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
351  &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;
352  Close client connection<br />  Close client connection<br />
353  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">5.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
354  Global commands<br />  Global commands<br />
355  &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;
356    Current number of active voices<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
358    Maximum amount of active voices<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
360    Current number of active disk streams<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
362  Reset sampler<br />  Reset sampler<br />
363  <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;
364    General sampler informations<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
366    Getting global volume attenuation<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
368    Setting global volume attenuation<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
370    MIDI Instrument Mapping<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
372    Create a new MIDI instrument map<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
374    Delete one particular or all MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
376    Get amount of existing MIDI instrument maps<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
378    Getting all created MIDI instrument maps<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
380    Getting MIDI instrument map information<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
382    Renaming a MIDI instrument map<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
384    Create or replace a MIDI instrument map entry<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
386    Getting ammount of MIDI instrument map entries<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
388    Getting indeces of all entries of a MIDI instrument map<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
390    Remove an entry from the MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
392    Get current settings of MIDI instrument map entry<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
394    Clear MIDI instrument map<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
396    Managing Instruments Database<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
398    Creating a new instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
400    Deleting an instrument directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
402    Getting amount of instrument directories<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
404    Listing all directories in specific directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
406    Getting instrument directory information<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
408    Renaming an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
410    Moving an instrument directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
412    Copying instrument directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
414    Changing the description of directory<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
416    Finding directories<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
418    Adding instruments to the instruments database<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
420    Removing an instrument<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
422    Getting amount of instruments<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
424    Listing all instruments in specific directory<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
426    Getting instrument information<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
428    Renaming an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
430    Moving an instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
432    Copying instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
434    Changing the description of instrument<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
436    Finding instruments<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
438    Getting job status information<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
440    Formatting the instruments database<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
442    Checking for lost instrument files<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
444    Replacing an instrument file<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
446    Editing Instruments<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
448    Opening an appropriate instrument editor application<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
450    Managing Files<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
452    Retrieving amount of instruments of a file<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
454    Retrieving all instruments of a file<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
456    Retrieving informations about one instrument in a file<br />
457    <a href="#command_syntax">7.</a>&nbsp;
458  Command Syntax<br />  Command Syntax<br />
459  <a href="#events">7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
460    Character Set and Escape Sequences<br />
461    <a href="#events">8.</a>&nbsp;
462  Events<br />  Events<br />
463  &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;
464    Number of audio output devices changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
466    Audio output device's settings changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
468    Number of MIDI input devices changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
470    MIDI input device's settings changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
472  Number of sampler channels changed<br />  Number of sampler channels changed<br />
473  &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;
474    MIDI data on a sampler channel arrived<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
476    MIDI data on a MIDI input device arrived<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
478  Number of active voices changed<br />  Number of active voices changed<br />
479  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.9.</a>&nbsp;
480  Number of active disk streams changed<br />  Number of active disk streams changed<br />
481  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.10.</a>&nbsp;
482  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
483  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">7.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.11.</a>&nbsp;
484  Channel information changed<br />  Channel information changed<br />
485  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.12.</a>&nbsp;
486    Number of effect sends changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
488    Effect send information changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.14.</a>&nbsp;
490    Total number of active voices changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.15.</a>&nbsp;
492    Total number of active disk streams changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
494    Number of MIDI instrument maps changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
496    MIDI instrument map information changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
498    Number of MIDI instruments changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
500    MIDI instrument information changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
502    Global settings changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
504    Number of database instrument directories changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
506    Database instrument directory information changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
508    Number of database instruments changed<br />
509    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
510    Database instrument information changed<br />
511    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
512    Database job status information changed<br />
513    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
514  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
515  <a href="#anchor15">8.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
516  Security Considerations<br />  Security Considerations<br />
517  <a href="#anchor16">9.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
518  Acknowledgments<br />  Acknowledgments<br />
519  <a href="#rfc.references1">10.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
520  References<br />  References<br />
521  <a href="#rfc.authors">&#167;</a>&nbsp;  <a href="#rfc.authors">&#167;</a>&nbsp;
522  Author's Address<br />  Author's Address<br />
# Line 320  Intellectual Property and Copyright Stat Line 526  Intellectual Property and Copyright Stat
526  <br clear="all" />  <br clear="all" />
527    
528  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
529  <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>
530  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
531    Requirements notation</h3>
532    
533  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
534              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
535              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
536              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>.
537  </p>  </p>
538  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
539              claimed the opposite.              claimed the opposite.
# Line 335  Intellectual Property and Copyright Stat Line 542  Intellectual Property and Copyright Stat
542              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
543              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
544              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
545              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>),
546              example:              thus the following example:
547  </p>  </p>
548  <p></p>  <p>
549                    </p>
550  <blockquote class="text">  <blockquote class="text">
551  <p>C: "some line"  <p>C: "some line"
552  </p>  </p>
553  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
554  </p>  </p>
555  </blockquote>  </blockquote><p>
556                
557    </p>
558  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
559              message:              message:
560  </p>  </p>
561  <p></p>  <p>
562                    </p>
563  <blockquote class="text">  <blockquote class="text">
564  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
565                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
566  </p>  </p>
567  </blockquote>  </blockquote><p>
568                
569    </p>
570  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
571              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
572              standard.              standard.
# Line 363  Intellectual Property and Copyright Stat Line 574  Intellectual Property and Copyright Stat
574  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
575              fragmented, means the following example:              fragmented, means the following example:
576  </p>  </p>
577  <p></p>  <p>
578                    </p>
579  <blockquote class="text">  <blockquote class="text">
580  <p>S: "abcd"  <p>S: "abcd"
581  </p>  </p>
582  </blockquote>  </blockquote><p>
583                
584    </p>
585  <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
586              following sequence scenario:              following sequence scenario:
587  </p>  </p>
588  <p></p>  <p>
589                    </p>
590  <ul class="text">  <ul class="text">
591  <li>server sending message "a"  <li>server sending message "a"
592  </li>  </li>
# Line 388  Intellectual Property and Copyright Stat Line 602  Intellectual Property and Copyright Stat
602  <li>followed by server sending the message  <li>followed by server sending the message
603                      "&lt;LF&gt;"                      "&lt;LF&gt;"
604  </li>  </li>
605  </ul>  </ul><p>
606                
607    </p>
608  <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
609              return and line feed characters respectively.              return and line feed characters respectively.
610  </p>  </p>
611    <a name="LSCP versioning"></a><br /><hr />
612    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
613    <a name="rfc.section.2"></a><h3>2.&nbsp;
614    Versioning of this specification</h3>
615    
616    <p>LSCP will certainly be extended and enhanced by-and-by. Each official
617                release of the LSCP specification will be tagged with a unique version
618                tuple. The version tuple consists at least of a major and minor version
619                number like:
620                
621    </p>
622    <p>
623                    </p>
624    <blockquote class="text">
625    <p>"1.2"
626    </p>
627    </blockquote><p>
628                
629    </p>
630    <p>
631                In this example the major version number would be "1" and the minor
632                version number would be "2". Note that the version tuple might also
633                have more than two elements. The major version number defines a
634                group of backward compatible versions. That means a frontend is
635                compatible to the connected sampler if and only if the LSCP versions
636                to which each of the two parties complies to, match both of the
637                following rules:
638                
639    </p>
640    <p>Compatibility:
641    </p>
642    <p>
643                    </p>
644    <ol class="text">
645    <li>The frontend's LSCP major version and the sampler's LSCP
646                        major version are exactly equal.
647    </li>
648    <li>The frontend's LSCP minor version is less or equal than
649                        the sampler's LSCP minor version.
650    </li>
651    </ol><p>
652                
653    </p>
654    <p>
655                Compatibility can only be claimed if both rules are true.
656                The frontend can use the
657                <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
658                get the version of the LSCP specification the sampler complies with.
659                
660    </p>
661  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
662  <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>
663  <a name="rfc.section.2"></a><h3>2.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
664    Introduction</h3>
665    
666  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
667              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 674  Intellectual Property and Copyright Stat
674              arbitrary MIDI input method and arbitrary MIDI channel (e.g.              arbitrary MIDI input method and arbitrary MIDI channel (e.g.
675              sampler channel 17 could be connected to an ALSA sequencer              sampler channel 17 could be connected to an ALSA sequencer
676              device 64:0 and listening to MIDI channel 1 there). Each sampler              device 64:0 and listening to MIDI channel 1 there). Each sampler
677              engine will be assigned an own instance of one of the available              channel will be associated with an instance of one of the available
678              sampler engines (e.g. GigEngine, DLSEngine). The audio output of              sampler engines (e.g. GigEngine, DLSEngine). The audio output of
679              each sampler channel can be routed to an arbitrary audio output              each sampler channel can be routed to an arbitrary audio output
680              method (ALSA / JACK) and an arbitrary audio output channel              method (ALSA / JACK) and an arbitrary audio output channel
681              there.              there.
682  </p>  </p>
683  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
684  <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>
685  <a name="rfc.section.3"></a><h3>3.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
686    Focus of this protocol</h3>
687    
688  <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
689              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 427  Intellectual Property and Copyright Stat Line 694  Intellectual Property and Copyright Stat
694              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
695  </p>  </p>
696  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
697  <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>
698  <a name="rfc.section.4"></a><h3>4.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
699    Communication Overview</h3>
700    
701  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
702              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 709  Intellectual Property and Copyright Stat
709              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
710              methods will be described next.              methods will be described next.
711  </p>  </p>
712  <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 />
713    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
714    <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
715    Request/response communication method</h3>
716    
717  <p>This simple communication method is based on TCP. The  <p>This simple communication method is based on
718                    <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
719                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
720                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
721                  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 755  Intellectual Property and Copyright Stat
755                  processed in the order they were received and result sets                  processed in the order they were received and result sets
756                  MUST be sent back in the same order.                  MUST be sent back in the same order.
757  </p>  </p>
758  <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 />
759    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
760    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
761    Result format</h3>
762    
763  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
764  </p>  </p>
765  <p></p>  <p>
766                            </p>
767  <ol class="text">  <ol class="text">
768  <li>Normal  <li>Normal
769  </li>  </li>
# Line 495  Intellectual Property and Copyright Stat Line 771  Intellectual Property and Copyright Stat
771  </li>  </li>
772  <li>Error  <li>Error
773  </li>  </li>
774  </ol>  </ol><p>
775                        
776    </p>
777  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
778                      have the following format:                      have the following format:
779  </p>  </p>
780  <p></p>  <p>
781                            </p>
782  <ul class="text">  <ul class="text">
783  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
784  </li>  </li>
785  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
786  </li>  </li>
787  </ul>  </ul><p>
788                        
789    </p>
790  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
791                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
792                      &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 795  Intellectual Property and Copyright Stat
795  </p>  </p>
796  <p>Examples:  <p>Examples:
797  </p>  </p>
798  <p></p>  <p>
799                            </p>
800  <blockquote class="text">  <blockquote class="text">
801  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
802  </p>  </p>
803  <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."
804  </p>  </p>
805  </blockquote>  </blockquote><p>
806                        
807  <p></p>  </p>
808    <p>
809                            </p>
810  <blockquote class="text">  <blockquote class="text">
811  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
812  </p>  </p>
813  <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'."
814  </p>  </p>
815  </blockquote>  </blockquote><p>
816                        
817  <p></p>  </p>
818    <p>
819                            </p>
820  <blockquote class="text">  <blockquote class="text">
821  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
822  </p>  </p>
823  <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."
824  </p>  </p>
825  </blockquote>  </blockquote><p>
826                        
827    </p>
828  <p>Normal result sets could be:  <p>Normal result sets could be:
829  </p>  </p>
830  <p></p>  <p>
831                            </p>
832  <ol class="text">  <ol class="text">
833  <li>Empty  <li>Empty
834  </li>  </li>
# Line 550  Intellectual Property and Copyright Stat Line 836  Intellectual Property and Copyright Stat
836  </li>  </li>
837  <li>Multi-line  <li>Multi-line
838  </li>  </li>
839  </ol>  </ol><p>
840                        
841    </p>
842  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
843                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
844                      received and it was processed successfully and no                      received and it was processed successfully and no
845                      additional information is available. This result set has                      additional information is available. This result set has
846                      the following format:                      the following format:
847  </p>  </p>
848  <p></p>  <p>
849                            </p>
850  <blockquote class="text">  <blockquote class="text">
851  <p>"OK"  <p>"OK"
852  </p>  </p>
853  </blockquote>  </blockquote><p>
854                        
855    </p>
856  <p>Example:  <p>Example:
857  </p>  </p>
858  <p></p>  <p>
859                            </p>
860  <blockquote class="text">  <blockquote class="text">
861  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
862  </p>  </p>
863  <p>S: "OK"  <p>S: "OK"
864  </p>  </p>
865  </blockquote>  </blockquote><p>
866                        
867    </p>
868  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
869                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
870                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
871                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
872                      always end with the following line:                      always end with the following line:
873  </p>  </p>
874  <p></p>  <p>
875                            </p>
876  <blockquote class="text">  <blockquote class="text">
877  <p>"."  <p>"."
878  </p>  </p>
879  </blockquote>  </blockquote><p>
880                        
881    </p>
882  <p>Example:  <p>Example:
883  </p>  </p>
884  <p></p>  <p>
885                            </p>
886  <blockquote class="text">  <blockquote class="text">
887  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
888  </p>  </p>
# Line 608  Intellectual Property and Copyright Stat Line 902  Intellectual Property and Copyright Stat
902  </p>  </p>
903  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
904  </p>  </p>
905  </blockquote>  </blockquote><p>
906                        
907    </p>
908  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
909                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
910                      have the following formats respectively:                      have the following formats respectively:
911  </p>  </p>
912  <p></p>  <p>
913                            </p>
914  <ul class="text">  <ul class="text">
915  <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;"
916  </li>  </li>
917  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
918  </li>  </li>
919  </ul>  </ul><p>
920                        
921    </p>
922  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
923                      to indicate channel number that the result set was                      to indicate channel number that the result set was
924                      related to or other integer value.                      related to or other integer value.
# Line 631  Intellectual Property and Copyright Stat Line 928  Intellectual Property and Copyright Stat
928  </p>  </p>
929  <p>Examples:  <p>Examples:
930  </p>  </p>
931  <p></p>  <p>
932                            </p>
933  <blockquote class="text">  <blockquote class="text">
934  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
935  </p>  </p>
936  <p>S: "OK[12]"  <p>S: "OK[12]"
937  </p>  </p>
938  </blockquote>  </blockquote><p>
939                        
940  <p></p>  </p>
941    <p>
942                            </p>
943  <blockquote class="text">  <blockquote class="text">
944  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
945  </p>  </p>
946  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
947  </p>  </p>
948  </blockquote>  </blockquote><p>
949                        
950  <a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
951    <a name="anchor7"></a><br /><hr />
952    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
953    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
954    Subscribe/notify communication method</h3>
955    
956  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
957                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 659  Intellectual Property and Copyright Stat Line 963  Intellectual Property and Copyright Stat
963                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
964                  following syntax:                  following syntax:
965  </p>  </p>
966  <p></p>  <p>
967                        </p>
968  <blockquote class="text">  <blockquote class="text">
969  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
970  </p>  </p>
971  </blockquote>  </blockquote><p>
972                    
973    </p>
974  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
975                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
976                  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 980  Intellectual Property and Copyright Stat
980                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
981                  following format:                  following format:
982  </p>  </p>
983  <p></p>  <p>
984                        </p>
985  <blockquote class="text">  <blockquote class="text">
986  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
987  </p>  </p>
988  </blockquote>  </blockquote><p>
989                    
990    </p>
991  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
992                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
993                  specific.                  specific.
# Line 687  Intellectual Property and Copyright Stat Line 995  Intellectual Property and Copyright Stat
995  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
996                  generating events:                  generating events:
997  </p>  </p>
998  <p></p>  <p>
999                        </p>
1000  <ol class="text">  <ol class="text">
1001  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
1002                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 702  Intellectual Property and Copyright Stat Line 1011  Intellectual Property and Copyright Stat
1011                          middle of the event message as well as any other                          middle of the event message as well as any other
1012                          response.                          response.
1013  </li>  </li>
1014  </ol>  </ol><p>
1015                    
1016    </p>
1017  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
1018                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
1019                  syntax:                  syntax:
1020  </p>  </p>
1021  <p></p>  <p>
1022                        </p>
1023  <blockquote class="text">  <blockquote class="text">
1024  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
1025  </p>  </p>
1026  </blockquote>  </blockquote><p>
1027                    
1028    </p>
1029  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1030                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1031                  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>.
1032  </p>  </p>
1033  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1034                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
1035                  will react by sending the following message to all clients                  will react by sending the following message to all clients
1036                  who subscribed to this event:                  who subscribed to this event:
1037  </p>  </p>
1038  <p></p>  <p>
1039                        </p>
1040  <blockquote class="text">  <blockquote class="text">
1041  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
1042  </p>  </p>
1043  </blockquote>  </blockquote><p>
1044                    
1045    </p>
1046  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
1047                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
1048                  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 1073  Intellectual Property and Copyright Stat
1073                  If client reconnects it MUST resubscribe to all events that                  If client reconnects it MUST resubscribe to all events that
1074                  it wants to receive.                  it wants to receive.
1075  </p>  </p>
1076  <a name="anchor8"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1077  <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>
1078  <a name="rfc.section.5"></a><h3>5.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1079    Description for control commands</h3>
1080    
1081  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1082              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1083              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>
1084              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
1085              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1086              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1087  </p>  </p>
1088  <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 />
1089    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1090    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1091    Ignored lines and comments</h3>
1092    
1093  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1094                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 778  Intellectual Property and Copyright Stat Line 1096  Intellectual Property and Copyright Stat
1096                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1097                  file.                  file.
1098  </p>  </p>
1099  <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 />
1100    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1101    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1102    Configuring audio drivers</h3>
1103    
1104  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1105                  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 1132  Intellectual Property and Copyright Stat
1132                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1133                  possible values, etc.                  possible values, etc.
1134  </p>  </p>
1135  <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 />
1136    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1137    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1138    Getting amount of available audio output drivers</h3>
1139    
1140  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1141                      audio output drivers currently available for the                      audio output drivers currently available for the
1142                      LinuxSampler instance:                      LinuxSampler instance:
1143  </p>  </p>
1144  <p></p>  <p>
1145                            </p>
1146  <blockquote class="text">  <blockquote class="text">
1147  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1148  </p>  </p>
1149  </blockquote>  </blockquote><p>
1150                        
1151    </p>
1152  <p>Possible Answers:  <p>Possible Answers:
1153  </p>  </p>
1154  <p></p>  <p>
1155                            </p>
1156  <blockquote class="text">  <blockquote class="text">
1157  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1158                              number of audio output drivers.                              number of audio output drivers.
1159  </p>  </p>
1160  </blockquote>  </blockquote><p>
1161                        
1162    </p>
1163  <p>Example:  <p>Example:
1164  </p>  </p>
1165  <p></p>  <p>
1166                            </p>
1167  <blockquote class="text">  <blockquote class="text">
1168  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1169  </p>  </p>
1170  <p>S: "2"  <p>S: "2"
1171  </p>  </p>
1172  </blockquote>  </blockquote><p>
1173                        
1174  <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>
1175    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1176    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1177    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1178    Getting all available audio output drivers</h3>
1179    
1180  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1181                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1182                      instance:                      instance:
1183  </p>  </p>
1184  <p></p>  <p>
1185                            </p>
1186  <blockquote class="text">  <blockquote class="text">
1187  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1188  </p>  </p>
1189  </blockquote>  </blockquote><p>
1190                        
1191    </p>
1192  <p>Possible Answers:  <p>Possible Answers:
1193  </p>  </p>
1194  <p></p>  <p>
1195                            </p>
1196  <blockquote class="text">  <blockquote class="text">
1197  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1198                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1199                              audio output driver.                              audio output driver.
1200  </p>  </p>
1201  </blockquote>  </blockquote><p>
1202                        
1203    </p>
1204  <p>Example:  <p>Example:
1205  </p>  </p>
1206  <p></p>  <p>
1207                            </p>
1208  <blockquote class="text">  <blockquote class="text">
1209  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1210  </p>  </p>
1211  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1212  </p>  </p>
1213  </blockquote>  </blockquote><p>
1214                        
1215  <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>
1216                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1217    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1218    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1219    Getting information about a specific audio
1220                    output driver</h3>
1221    
1222  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1223                      about a specific audio output driver:                      about a specific audio output driver:
1224  </p>  </p>
1225  <p></p>  <p>
1226                            </p>
1227  <blockquote class="text">  <blockquote class="text">
1228  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1229                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1230  </p>  </p>
1231  </blockquote>  </blockquote><p>
1232                        
1233    </p>
1234  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1235                      audio output driver, returned by the                      audio output driver, returned by the
1236                      <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.
1237  </p>  </p>
1238  <p>Possible Answers:  <p>Possible Answers:
1239  </p>  </p>
1240  <p></p>  <p>
1241                            </p>
1242  <blockquote class="text">  <blockquote class="text">
1243  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1244                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 904  Intellectual Property and Copyright Stat Line 1249  Intellectual Property and Copyright Stat
1249                              following information categories are                              following information categories are
1250                              defined:                              defined:
1251  </p>  </p>
1252  <p></p>  <p>
1253                                  </p>
1254  <blockquote class="text">  <blockquote class="text">
1255  <p>DESCRIPTION -  <p>DESCRIPTION -
1256                                      </p>                                      </p>
# Line 913  Intellectual Property and Copyright Stat Line 1259  Intellectual Property and Copyright Stat
1259                                        audio output driver                                        audio output driver
1260  </p>  </p>
1261  </blockquote>  </blockquote>
1262                                      
1263    
1264  <p>VERSION -  <p>VERSION -
1265                                      </p>                                      </p>
# Line 921  Intellectual Property and Copyright Stat Line 1268  Intellectual Property and Copyright Stat
1268                                        driver's version                                        driver's version
1269  </p>  </p>
1270  </blockquote>  </blockquote>
1271                                      
1272    
1273  <p>PARAMETERS -  <p>PARAMETERS -
1274                                      </p>                                      </p>
# Line 933  Intellectual Property and Copyright Stat Line 1281  Intellectual Property and Copyright Stat
1281                                        output drivers                                        output drivers
1282  </p>  </p>
1283  </blockquote>  </blockquote>
1284                                      
1285    
1286  </blockquote>  </blockquote>
1287                                
1288    
1289  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1290                              in particular order.                              in particular order.
1291  </p>  </p>
1292  </blockquote>  </blockquote><p>
1293                        
1294    </p>
1295  <p>Example:  <p>Example:
1296  </p>  </p>
1297  <p></p>  <p>
1298                          </p>
1299  <blockquote class="text">  <blockquote class="text">
1300  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1301  </p>  </p>
# Line 958  Intellectual Property and Copyright Stat Line 1310  Intellectual Property and Copyright Stat
1310  </p>  </p>
1311  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1312  </p>  </p>
1313  </blockquote>  </blockquote><p>
1314                        
1315  <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>
1316                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1317    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1318    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1319    Getting information about specific audio
1320                    output driver parameter</h3>
1321    
1322  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1323                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1324  </p>  </p>
1325  <p></p>  <p>
1326                            </p>
1327  <blockquote class="text">  <blockquote class="text">
1328  <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;]
1329  </p>  </p>
1330  </blockquote>  </blockquote><p>
1331                        
1332    </p>
1333  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1334                      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,
1335                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1336                      obtained (as returned by the                      obtained (as returned by the
1337                      <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
1338                      &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
1339                      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
1340                      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 1345  Intellectual Property and Copyright Stat
1345  </p>  </p>
1346  <p>Possible Answers:  <p>Possible Answers:
1347  </p>  </p>
1348  <p></p>  <p>
1349                            </p>
1350  <blockquote class="text">  <blockquote class="text">
1351  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1352                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1000  Intellectual Property and Copyright Stat Line 1359  Intellectual Property and Copyright Stat
1359                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1360                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1361  </p>  </p>
1362  </blockquote>  </blockquote><p>
1363                        
1364  <p></p>  </p>
1365    <p>
1366                            </p>
1367  <blockquote class="text">  <blockquote class="text">
1368  <p>TYPE -  <p>TYPE -
1369                                </p>                                </p>
# Line 1014  Intellectual Property and Copyright Stat Line 1375  Intellectual Property and Copyright Stat
1375                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1376  </p>  </p>
1377  </blockquote>  </blockquote>
1378                                
1379    
1380  <p>DESCRIPTION -  <p>DESCRIPTION -
1381                                </p>                                </p>
# Line 1022  Intellectual Property and Copyright Stat Line 1384  Intellectual Property and Copyright Stat
1384                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1385  </p>  </p>
1386  </blockquote>  </blockquote>
1387                                
1388    
1389  <p>MANDATORY -  <p>MANDATORY -
1390                                </p>                                </p>
1391  <blockquote class="text">  <blockquote class="text">
1392  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1393                                  given when the device is to be created with the                                  given when the device is to be created with the
1394                                  <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>
1395                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1396  </p>  </p>
1397  </blockquote>  </blockquote>
1398                                
1399    
1400  <p>FIX -  <p>FIX -
1401                                </p>                                </p>
1402  <blockquote class="text">  <blockquote class="text">
1403  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1404                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1405                                  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>
1406                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1407  </p>  </p>
1408  </blockquote>  </blockquote>
1409                                
1410    
1411  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1412                                </p>                                </p>
# Line 1052  Intellectual Property and Copyright Stat Line 1417  Intellectual Property and Copyright Stat
1417                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1418  </p>  </p>
1419  </blockquote>  </blockquote>
1420                                
1421    
1422  <p>DEPENDS -  <p>DEPENDS -
1423                                </p>                                </p>
# Line 1068  Intellectual Property and Copyright Stat Line 1434  Intellectual Property and Copyright Stat
1434                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1435  </p>  </p>
1436  </blockquote>  </blockquote>
1437                                
1438    
1439  <p>DEFAULT -  <p>DEFAULT -
1440                                </p>                                </p>
1441  <blockquote class="text">  <blockquote class="text">
1442  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1443                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1444                                  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,
1445                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1446                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1447                                  apostrophes (')                                  apostrophes (')
1448                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1449  </p>  </p>
1450  </blockquote>  </blockquote>
1451                                
1452    
1453  <p>RANGE_MIN -  <p>RANGE_MIN -
1454                                </p>                                </p>
# Line 1092  Intellectual Property and Copyright Stat Line 1460  Intellectual Property and Copyright Stat
1460                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1461  </p>  </p>
1462  </blockquote>  </blockquote>
1463                                
1464    
1465  <p>RANGE_MAX -  <p>RANGE_MAX -
1466                                </p>                                </p>
# Line 1103  Intellectual Property and Copyright Stat Line 1472  Intellectual Property and Copyright Stat
1472                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1473  </p>  </p>
1474  </blockquote>  </blockquote>
1475                                
1476    
1477  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1478                                </p>                                </p>
# Line 1113  Intellectual Property and Copyright Stat Line 1483  Intellectual Property and Copyright Stat
1483                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1484  </p>  </p>
1485  </blockquote>  </blockquote>
1486                                
1487    
1488  </blockquote>  </blockquote><p>
1489                        
1490    </p>
1491  <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.
1492  </p>  </p>
1493  <p>Examples:  <p>Examples:
1494  </p>  </p>
1495  <p></p>  <p>
1496                            </p>
1497  <blockquote class="text">  <blockquote class="text">
1498  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1499  </p>  </p>
# Line 1140  Intellectual Property and Copyright Stat Line 1513  Intellectual Property and Copyright Stat
1513  </p>  </p>
1514  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1515  </p>  </p>
1516  </blockquote>  </blockquote><p>
1517                        
1518  <p></p>  </p>
1519    <p>
1520                            </p>
1521  <blockquote class="text">  <blockquote class="text">
1522  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1523  </p>  </p>
# Line 1162  Intellectual Property and Copyright Stat Line 1537  Intellectual Property and Copyright Stat
1537  </p>  </p>
1538  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1539  </p>  </p>
1540  </blockquote>  </blockquote><p>
1541                        
1542  <p></p>  </p>
1543    <p>
1544                            </p>
1545  <blockquote class="text">  <blockquote class="text">
1546  <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'"
1547  </p>  </p>
# Line 1188  Intellectual Property and Copyright Stat Line 1565  Intellectual Property and Copyright Stat
1565  </p>  </p>
1566  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1567  </p>  </p>
1568  </blockquote>  </blockquote><p>
1569                        
1570  <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>
1571    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1572    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1573    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1574    Creating an audio output device</h3>
1575    
1576  <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:
1577  </p>  </p>
1578  <p></p>  <p>
1579                            </p>
1580  <blockquote class="text">  <blockquote class="text">
1581  <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;]
1582  </p>  </p>
1583  </blockquote>  </blockquote><p>
1584                        
1585    </p>
1586  <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
1587                      output system and &lt;param-list&gt; by an optional list of driver                      output system as returned by the
1588                        <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>
1589                        command and &lt;param-list&gt; by an optional list of driver
1590                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1591                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
1592                      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 1595  Intellectual Property and Copyright Stat
1595  </p>  </p>
1596  <p>Possible Answers:  <p>Possible Answers:
1597  </p>  </p>
1598  <p></p>  <p>
1599                            </p>
1600  <blockquote class="text">  <blockquote class="text">
1601  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1602                                  </p>                                  </p>
# Line 1219  Intellectual Property and Copyright Stat Line 1605  Intellectual Property and Copyright Stat
1605                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1606  </p>  </p>
1607  </blockquote>  </blockquote>
1608                                
1609    
1610  <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;" -
1611                                  </p>                                  </p>
# Line 1231  Intellectual Property and Copyright Stat Line 1618  Intellectual Property and Copyright Stat
1618                                      warning message                                      warning message
1619  </p>  </p>
1620  </blockquote>  </blockquote>
1621                                
1622    
1623  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1624                                  </p>                                  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1626  Intellectual Property and Copyright Stat
1626  <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
1627  </p>  </p>
1628  </blockquote>  </blockquote>
1629                                
1630    
1631  </blockquote>  </blockquote><p>
1632                        
1633    </p>
1634  <p>Examples:  <p>Examples:
1635  </p>  </p>
1636  <p></p>  <p>
1637                            </p>
1638  <blockquote class="text">  <blockquote class="text">
1639  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1640  </p>  </p>
1641  <p>S: "OK[0]"  <p>S: "OK[0]"
1642  </p>  </p>
1643  </blockquote>  </blockquote><p>
1644                        
1645  <p></p>  </p>
1646    <p>
1647                            </p>
1648  <blockquote class="text">  <blockquote class="text">
1649  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1650  </p>  </p>
1651  <p>S: "OK[1]"  <p>S: "OK[1]"
1652  </p>  </p>
1653  </blockquote>  </blockquote><p>
1654                        
1655  <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>
1656    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1657    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1658    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1659    Destroying an audio output device</h3>
1660    
1661  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1662  </p>  </p>
1663  <p></p>  <p>
1664                            </p>
1665  <blockquote class="text">  <blockquote class="text">
1666  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1667  </p>  </p>
1668  </blockquote>  </blockquote><p>
1669                        
1670    </p>
1671  <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
1672                      audio output device as given by the                      audio output device as given by the
1673                      <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>
1674                      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>
1675                      command.                      command.
1676  </p>  </p>
1677  <p>Possible Answers:  <p>Possible Answers:
1678  </p>  </p>
1679  <p></p>  <p>
1680                            </p>
1681  <blockquote class="text">  <blockquote class="text">
1682  <p>"OK" -  <p>"OK" -
1683                                  </p>                                  </p>
# Line 1285  Intellectual Property and Copyright Stat Line 1685  Intellectual Property and Copyright Stat
1685  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1686  </p>  </p>
1687  </blockquote>  </blockquote>
1688                                
1689    
1690  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1691                                  </p>                                  </p>
# Line 1296  Intellectual Property and Copyright Stat Line 1697  Intellectual Property and Copyright Stat
1697                                      warning code and warning message                                      warning code and warning message
1698  </p>  </p>
1699  </blockquote>  </blockquote>
1700                                
1701    
1702  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1703                                  </p>                                  </p>
# Line 1304  Intellectual Property and Copyright Stat Line 1706  Intellectual Property and Copyright Stat
1706                                      error message                                      error message
1707  </p>  </p>
1708  </blockquote>  </blockquote>
1709                                
1710    
1711  </blockquote>  </blockquote><p>
1712                        
1713    </p>
1714  <p>Example:  <p>Example:
1715  </p>  </p>
1716  <p></p>  <p>
1717                            </p>
1718  <blockquote class="text">  <blockquote class="text">
1719  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1720  </p>  </p>
1721  <p>S: "OK"  <p>S: "OK"
1722  </p>  </p>
1723  </blockquote>  </blockquote><p>
1724                        
1725  <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>
1726    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1727    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1728    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1729    Getting all created audio output device count</h3>
1730    
1731  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1732  </p>  </p>
1733  <p></p>  <p>
1734                            </p>
1735  <blockquote class="text">  <blockquote class="text">
1736  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1737  </p>  </p>
1738  </blockquote>  </blockquote><p>
1739                        
1740    </p>
1741  <p>Possible Answers:  <p>Possible Answers:
1742  </p>  </p>
1743  <p></p>  <p>
1744                            </p>
1745  <blockquote class="text">  <blockquote class="text">
1746  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1747                              audio output devices.                              audio output devices.
1748  </p>  </p>
1749  </blockquote>  </blockquote><p>
1750                        
1751    </p>
1752  <p>Example:  <p>Example:
1753  </p>  </p>
1754  <p></p>  <p>
1755                            </p>
1756  <blockquote class="text">  <blockquote class="text">
1757  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1758  </p>  </p>
1759  <p>S: "4"  <p>S: "4"
1760  </p>  </p>
1761  </blockquote>  </blockquote><p>
1762                        
1763  <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>
1764    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1765    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1766    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1767    Getting all created audio output device list</h3>
1768    
1769  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1770  </p>  </p>
1771  <p></p>  <p>
1772                            </p>
1773  <blockquote class="text">  <blockquote class="text">
1774  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1775  </p>  </p>
1776  </blockquote>  </blockquote><p>
1777                        
1778    </p>
1779  <p>Possible Answers:  <p>Possible Answers:
1780  </p>  </p>
1781  <p></p>  <p>
1782                            </p>
1783  <blockquote class="text">  <blockquote class="text">
1784  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1785                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1786  </p>  </p>
1787  </blockquote>  </blockquote><p>
1788                        
1789    </p>
1790  <p>Example:  <p>Example:
1791  </p>  </p>
1792  <p></p>  <p>
1793                            </p>
1794  <blockquote class="text">  <blockquote class="text">
1795  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1796  </p>  </p>
1797  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1798  </p>  </p>
1799  </blockquote>  </blockquote><p>
1800                        
1801  <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>
1802    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1803    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1804    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1805    Getting current settings of an audio output device</h3>
1806    
1807  <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:
1808  </p>  </p>
1809  <p></p>  <p>
1810                            </p>
1811  <blockquote class="text">  <blockquote class="text">
1812  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1813  </p>  </p>
1814  </blockquote>  </blockquote><p>
1815                        
1816    </p>
1817  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1818                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1819                      <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.
1820  </p>  </p>
1821  <p>Possible Answers:  <p>Possible Answers:
1822  </p>  </p>
# Line 1399  Intellectual Property and Copyright Stat Line 1828  Intellectual Property and Copyright Stat
1828                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1829                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1830  </p>  </p>
1831  <p></p>  <p>
1832                            </p>
1833  <blockquote class="text">  <blockquote class="text">
1834  <p>DRIVER -  <p>DRIVER -
1835                                  </p>                                  </p>
1836  <blockquote class="text">  <blockquote class="text">
1837  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1838                                      returned by the                                      returned by the
1839                                      <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>
1840                                      command                                      command
1841  </p>  </p>
1842  </blockquote>  </blockquote>
1843                                
1844    
1845  <p>CHANNELS -  <p>CHANNELS -
1846                                  </p>                                  </p>
# Line 1418  Intellectual Property and Copyright Stat Line 1849  Intellectual Property and Copyright Stat
1849                                      offers                                      offers
1850  </p>  </p>
1851  </blockquote>  </blockquote>
1852                                
1853    
1854  <p>SAMPLERATE -  <p>SAMPLERATE -
1855                                  </p>                                  </p>
# Line 1425  Intellectual Property and Copyright Stat Line 1857  Intellectual Property and Copyright Stat
1857  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1858  </p>  </p>
1859  </blockquote>  </blockquote>
1860                                
1861    
1862  <p>ACTIVE -  <p>ACTIVE -
1863                                  </p>                                  </p>
# Line 1435  Intellectual Property and Copyright Stat Line 1868  Intellectual Property and Copyright Stat
1868                                      any audio                                      any audio
1869  </p>  </p>
1870  </blockquote>  </blockquote>
1871                                
1872    
1873  </blockquote>  </blockquote><p>
1874                        
1875    </p>
1876  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1877                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1878                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1879                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1880                      <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>)
1881                      which are also returned by this command.                      which are also returned by this command.
1882  </p>  </p>
1883  <p>Example:  <p>Example:
1884  </p>  </p>
1885  <p></p>  <p>
1886                            </p>
1887  <blockquote class="text">  <blockquote class="text">
1888  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1889  </p>  </p>
# Line 1467  Intellectual Property and Copyright Stat Line 1903  Intellectual Property and Copyright Stat
1903  </p>  </p>
1904  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1905  </p>  </p>
1906  </blockquote>  </blockquote><p>
1907                        
1908  <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>
1909    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1910    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1911    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1912    Changing settings of audio output devices</h3>
1913    
1914  <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:
1915  </p>  </p>
1916  <p></p>  <p>
1917                            </p>
1918  <blockquote class="text">  <blockquote class="text">
1919  <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;
1920  </p>  </p>
1921  </blockquote>  </blockquote><p>
1922                        
1923    </p>
1924  <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
1925                      audio output device, &lt;key&gt; by the name of the parameter to change                      audio output device as given by the
1926                        <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>
1927                        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>
1928                        command, &lt;key&gt; by the name of the parameter to change
1929                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1930  </p>  </p>
1931  <p>Possible Answers:  <p>Possible Answers:
1932  </p>  </p>
1933  <p></p>  <p>
1934                            </p>
1935  <blockquote class="text">  <blockquote class="text">
1936  <p>"OK" -  <p>"OK" -
1937                                  </p>                                  </p>
# Line 1493  Intellectual Property and Copyright Stat Line 1939  Intellectual Property and Copyright Stat
1939  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1940  </p>  </p>
1941  </blockquote>  </blockquote>
1942                                
1943    
1944  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1945                                  </p>                                  </p>
# Line 1502  Intellectual Property and Copyright Stat Line 1949  Intellectual Property and Copyright Stat
1949                                      warning code and warning message                                      warning code and warning message
1950  </p>  </p>
1951  </blockquote>  </blockquote>
1952                                
1953    
1954  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1955                                  </p>                                  </p>
# Line 1510  Intellectual Property and Copyright Stat Line 1958  Intellectual Property and Copyright Stat
1958                                      error message                                      error message
1959  </p>  </p>
1960  </blockquote>  </blockquote>
1961                                
1962    
1963  </blockquote>  </blockquote><p>
1964                        
1965    </p>
1966  <p>Example:  <p>Example:
1967  </p>  </p>
1968  <p></p>  <p>
1969                            </p>
1970  <blockquote class="text">  <blockquote class="text">
1971  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
1972  </p>  </p>
1973  <p>S: "OK"  <p>S: "OK"
1974  </p>  </p>
1975  </blockquote>  </blockquote><p>
1976                        
1977  <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>
1978    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1979    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1980    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1981    Getting information about an audio channel</h3>
1982    
1983  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1984  </p>  </p>
1985  <p></p>  <p>
1986                            </p>
1987  <blockquote class="text">  <blockquote class="text">
1988  <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;
1989  </p>  </p>
1990  </blockquote>  </blockquote><p>
1991                        
1992  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device  </p>
1993                      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
1994                        <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>
1995                        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>
1996                        command and &lt;audio-chan&gt; the audio channel number.
1997  </p>  </p>
1998  <p>Possible Answers:  <p>Possible Answers:
1999  </p>  </p>
2000  <p></p>  <p>
2001                            </p>
2002  <blockquote class="text">  <blockquote class="text">
2003  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2004                              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 2006  Intellectual Property and Copyright Stat
2006                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2007                              the following information categories are defined:                              the following information categories are defined:
2008  </p>  </p>
2009  <p></p>  <p>
2010                                    </p>
2011  <blockquote class="text">  <blockquote class="text">
2012  <p>NAME -  <p>NAME -
2013                                          </p>                                          </p>
# Line 1555  Intellectual Property and Copyright Stat Line 2016  Intellectual Property and Copyright Stat
2016                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
2017  </p>  </p>
2018  </blockquote>  </blockquote>
2019                                        
2020    
2021  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
2022                                          </p>                                          </p>
# Line 1567  Intellectual Property and Copyright Stat Line 2029  Intellectual Property and Copyright Stat
2029                                              (always returned by all audio channels)                                              (always returned by all audio channels)
2030  </p>  </p>
2031  </blockquote>  </blockquote>
2032                                        
2033    
2034  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
2035                                          </p>                                          </p>
# Line 1578  Intellectual Property and Copyright Stat Line 2041  Intellectual Property and Copyright Stat
2041                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
2042  </p>  </p>
2043  </blockquote>  </blockquote>
2044                                        
2045    
2046  </blockquote>  </blockquote>
2047                                
2048    
2049  </blockquote>  </blockquote><p>
2050                        
2051    </p>
2052  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2053                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2054                      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 2058  Intellectual Property and Copyright Stat
2058  </p>  </p>
2059  <p>Examples:  <p>Examples:
2060  </p>  </p>
2061  <p></p>  <p>
2062                            </p>
2063  <blockquote class="text">  <blockquote class="text">
2064  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
2065  </p>  </p>
# Line 1602  Intellectual Property and Copyright Stat Line 2069  Intellectual Property and Copyright Stat
2069  </p>  </p>
2070  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2071  </p>  </p>
2072  </blockquote>  </blockquote><p>
2073                        
2074  <p></p>  </p>
2075    <p>
2076                            </p>
2077  <blockquote class="text">  <blockquote class="text">
2078  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
2079  </p>  </p>
# Line 1614  Intellectual Property and Copyright Stat Line 2083  Intellectual Property and Copyright Stat
2083  </p>  </p>
2084  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2085  </p>  </p>
2086  </blockquote>  </blockquote><p>
2087                        
2088  <p></p>  </p>
2089    <p>
2090                            </p>
2091  <blockquote class="text">  <blockquote class="text">
2092  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2093  </p>  </p>
# Line 1628  Intellectual Property and Copyright Stat Line 2099  Intellectual Property and Copyright Stat
2099  </p>  </p>
2100  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2101  </p>  </p>
2102  </blockquote>  </blockquote><p>
2103                        
2104  <p></p>  </p>
2105    <p>
2106                            </p>
2107  <blockquote class="text">  <blockquote class="text">
2108  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2109  </p>  </p>
# Line 1642  Intellectual Property and Copyright Stat Line 2115  Intellectual Property and Copyright Stat
2115  </p>  </p>
2116  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2117  </p>  </p>
2118  </blockquote>  </blockquote><p>
2119                        
2120  <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>
2121    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2123    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2124    Getting information about specific audio channel parameter</h3>
2125    
2126  <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:
2127  </p>  </p>
2128  <p></p>  <p>
2129                            </p>
2130  <blockquote class="text">  <blockquote class="text">
2131  <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;
2132  </p>  </p>
2133  </blockquote>  </blockquote><p>
2134                        
2135  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned  </p>
2136                      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
2137                        <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>
2138                        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>
2139                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2140                      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
2141                      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).
2142  </p>  </p>
2143  <p>Possible Answers:  <p>Possible Answers:
2144  </p>  </p>
2145  <p></p>  <p>
2146                            </p>
2147  <blockquote class="text">  <blockquote class="text">
2148  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2149                              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 2154  Intellectual Property and Copyright Stat
2154                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2155                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2156  </p>  </p>
2157  <p></p>  <p>
2158                                    </p>
2159  <blockquote class="text">  <blockquote class="text">
2160  <p>TYPE -  <p>TYPE -
2161                                          </p>                                          </p>
# Line 1684  Intellectual Property and Copyright Stat Line 2166  Intellectual Property and Copyright Stat
2166                                              (always returned)                                              (always returned)
2167  </p>  </p>
2168  </blockquote>  </blockquote>
2169                                        
2170    
2171  <p>DESCRIPTION -  <p>DESCRIPTION -
2172                                          </p>                                          </p>
# Line 1691  Intellectual Property and Copyright Stat Line 2174  Intellectual Property and Copyright Stat
2174  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2175  </p>  </p>
2176  </blockquote>  </blockquote>
2177                                        
2178    
2179  <p>FIX -  <p>FIX -
2180                                          </p>                                          </p>
# Line 1700  Intellectual Property and Copyright Stat Line 2184  Intellectual Property and Copyright Stat
2184                                              (always returned)                                              (always returned)
2185  </p>  </p>
2186  </blockquote>  </blockquote>
2187                                        
2188    
2189  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2190                                          </p>                                          </p>
# Line 1710  Intellectual Property and Copyright Stat Line 2195  Intellectual Property and Copyright Stat
2195                                              (always returned)                                              (always returned)
2196  </p>  </p>
2197  </blockquote>  </blockquote>
2198                                        
2199    
2200  <p>RANGE_MIN -  <p>RANGE_MIN -
2201                                          </p>                                          </p>
# Line 1722  Intellectual Property and Copyright Stat Line 2208  Intellectual Property and Copyright Stat
2208                                              parameter)                                              parameter)
2209  </p>  </p>
2210  </blockquote>  </blockquote>
2211                                        
2212    
2213  <p>RANGE_MAX -  <p>RANGE_MAX -
2214                                          </p>                                          </p>
# Line 1734  Intellectual Property and Copyright Stat Line 2221  Intellectual Property and Copyright Stat
2221                                              parameter)                                              parameter)
2222  </p>  </p>
2223  </blockquote>  </blockquote>
2224                                        
2225    
2226  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2227                                          </p>                                          </p>
# Line 1745  Intellectual Property and Copyright Stat Line 2233  Intellectual Property and Copyright Stat
2233                                              parameter)                                              parameter)
2234  </p>  </p>
2235  </blockquote>  </blockquote>
2236                                        
2237    
2238  </blockquote>  </blockquote>
2239                                
2240    
2241  <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.
2242  </p>  </p>
2243  </blockquote>  </blockquote><p>
2244                        
2245    </p>
2246  <p>Example:  <p>Example:
2247  </p>  </p>
2248  <p></p>  <p>
2249                            </p>
2250  <blockquote class="text">  <blockquote class="text">
2251  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2252  </p>  </p>
# Line 1770  Intellectual Property and Copyright Stat Line 2262  Intellectual Property and Copyright Stat
2262  </p>  </p>
2263  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2264  </p>  </p>
2265  </blockquote>  </blockquote><p>
2266                        
2267  <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>
2268    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2269    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2270    <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2271    Changing settings of audio output channels</h3>
2272    
2273  <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:
2274  </p>  </p>
2275  <p></p>  <p>
2276                            </p>
2277  <blockquote class="text">  <blockquote class="text">
2278  <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;
2279  </p>  </p>
2280  </blockquote>  </blockquote><p>
2281                        
2282  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio  </p>
2283                      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
2284                        <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>
2285                        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>
2286                        command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2287                      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.
2288  </p>  </p>
2289  <p>Possible Answers:  <p>Possible Answers:
2290  </p>  </p>
2291  <p></p>  <p>
2292                            </p>
2293  <blockquote class="text">  <blockquote class="text">
2294  <p>"OK" -  <p>"OK" -
2295                                  </p>                                  </p>
# Line 1796  Intellectual Property and Copyright Stat Line 2297  Intellectual Property and Copyright Stat
2297  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2298  </p>  </p>
2299  </blockquote>  </blockquote>
2300                                
2301    
2302  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2303                                  </p>                                  </p>
# Line 1805  Intellectual Property and Copyright Stat Line 2307  Intellectual Property and Copyright Stat
2307                                     warning code and warning message                                     warning code and warning message
2308  </p>  </p>
2309  </blockquote>  </blockquote>
2310                                
2311    
2312  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2313                                  </p>                                  </p>
# Line 1813  Intellectual Property and Copyright Stat Line 2316  Intellectual Property and Copyright Stat
2316                                     error message                                     error message
2317  </p>  </p>
2318  </blockquote>  </blockquote>
2319                                
2320    
2321  </blockquote>  </blockquote><p>
2322                        
2323    </p>
2324  <p>Example:  <p>Example:
2325  </p>  </p>
2326  <p></p>  <p>
2327                            </p>
2328  <blockquote class="text">  <blockquote class="text">
2329  <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'"
2330  </p>  </p>
2331  <p>S: "OK"  <p>S: "OK"
2332  </p>  </p>
2333  </blockquote>  </blockquote><p>
2334                        
2335  <p></p>  </p>
2336    <p>
2337                            </p>
2338  <blockquote class="text">  <blockquote class="text">
2339  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2340  </p>  </p>
2341  <p>S: "OK"  <p>S: "OK"
2342  </p>  </p>
2343  </blockquote>  </blockquote><p>
2344                        
2345  <a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2346    <a name="anchor10"></a><br /><hr />
2347    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2348    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2349    Configuring MIDI input drivers</h3>
2350    
2351  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2352                  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 2374  Intellectual Property and Copyright Stat
2374                  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
2375                  possible values, etc.                  possible values, etc.
2376  </p>  </p>
2377  <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 />
2378    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2379    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2380    Getting amount of available MIDI input drivers</h3>
2381    
2382  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2383                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2384                      LinuxSampler instance:                      LinuxSampler instance:
2385  </p>  </p>
2386  <p></p>  <p>
2387                            </p>
2388  <blockquote class="text">  <blockquote class="text">
2389  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2390  </p>  </p>
2391  </blockquote>  </blockquote><p>
2392                        
2393    </p>
2394  <p>Possible Answers:  <p>Possible Answers:
2395  </p>  </p>
2396  <p></p>  <p>
2397                            </p>
2398  <blockquote class="text">  <blockquote class="text">
2399  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2400                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2401  </p>  </p>
2402  </blockquote>  </blockquote><p>
2403                        
2404    </p>
2405  <p>Example:  <p>Example:
2406  </p>  </p>
2407  <p></p>  <p>
2408                            </p>
2409  <blockquote class="text">  <blockquote class="text">
2410  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2411  </p>  </p>
2412  <p>S: "2"  <p>S: "2"
2413  </p>  </p>
2414  </blockquote>  </blockquote><p>
2415                        
2416  <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>
2417    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2418    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2419    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2420    Getting all available MIDI input drivers</h3>
2421    
2422  <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
2423                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2424  </p>  </p>
2425  <p></p>  <p>
2426                            </p>
2427  <blockquote class="text">  <blockquote class="text">
2428  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2429  </p>  </p>
2430  </blockquote>  </blockquote><p>
2431                        
2432    </p>
2433  <p>Possible Answers:  <p>Possible Answers:
2434  </p>  </p>
2435  <p></p>  <p>
2436                            </p>
2437  <blockquote class="text">  <blockquote class="text">
2438  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2439                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2440  </p>  </p>
2441  </blockquote>  </blockquote><p>
2442                        
2443    </p>
2444  <p>Example:  <p>Example:
2445  </p>  </p>
2446  <p></p>  <p>
2447                            </p>
2448  <blockquote class="text">  <blockquote class="text">
2449  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2450  </p>  </p>
2451  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2452  </p>  </p>
2453  </blockquote>  </blockquote><p>
2454                        
2455  <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>
2456    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2457    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2458    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2459    Getting information about a specific MIDI input driver</h3>
2460    
2461  <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:
2462  </p>  </p>
2463  <p></p>  <p>
2464                            </p>
2465  <blockquote class="text">  <blockquote class="text">
2466  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2467  </p>  </p>
2468  </blockquote>  </blockquote><p>
2469                        
2470  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.  </p>
2471    <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2472                        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.
2473  </p>  </p>
2474  <p>Possible Answers:  <p>Possible Answers:
2475  </p>  </p>
2476  <p></p>  <p>
2477                            </p>
2478  <blockquote class="text">  <blockquote class="text">
2479  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2480                              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 2482  Intellectual Property and Copyright Stat
2482                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2483                              the following information categories are defined:                              the following information categories are defined:
2484  </p>  </p>
2485  <p></p>  <p>
2486                                    </p>
2487  <blockquote class="text">  <blockquote class="text">
2488  <p>DESCRIPTION -  <p>DESCRIPTION -
2489                                          </p>                                          </p>
# Line 1953  Intellectual Property and Copyright Stat Line 2491  Intellectual Property and Copyright Stat
2491  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2492  </p>  </p>
2493  </blockquote>  </blockquote>
2494                                        
2495    
2496  <p>VERSION -  <p>VERSION -
2497                                          </p>                                          </p>
# Line 1960  Intellectual Property and Copyright Stat Line 2499  Intellectual Property and Copyright Stat
2499  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2500  </p>  </p>
2501  </blockquote>  </blockquote>
2502                                        
2503    
2504  <p>PARAMETERS -  <p>PARAMETERS -
2505                                          </p>                                          </p>
# Line 1967  Intellectual Property and Copyright Stat Line 2507  Intellectual Property and Copyright Stat
2507  <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
2508  </p>  </p>
2509  </blockquote>  </blockquote>
2510                                        
2511    
2512  </blockquote>  </blockquote>
2513                                
2514    
2515  <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.
2516  </p>  </p>
2517  </blockquote>  </blockquote><p>
2518                        
2519    </p>
2520  <p>Example:  <p>Example:
2521  </p>  </p>
2522  <p></p>  <p>
2523                            </p>
2524  <blockquote class="text">  <blockquote class="text">
2525  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2526  </p>  </p>
# Line 1988  Intellectual Property and Copyright Stat Line 2532  Intellectual Property and Copyright Stat
2532  </p>  </p>
2533  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2534  </p>  </p>
2535  </blockquote>  </blockquote><p>
2536                        
2537  <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>
2538    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2539    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2540    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2541    Getting information about specific MIDI input driver parameter</h3>
2542    
2543  <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:
2544  </p>  </p>
2545  <p></p>  <p>
2546                            </p>
2547  <blockquote class="text">  <blockquote class="text">
2548  <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;]
2549  </p>  </p>
2550  </blockquote>  </blockquote><p>
2551                        
2552    </p>
2553  <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
2554                      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
2555                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2556                      <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
2557                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2558                      &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 ...",
2559                      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 2572  Intellectual Property and Copyright Stat
2572                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2573                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2574  </p>  </p>
2575  <p></p>  <p>
2576                            </p>
2577  <blockquote class="text">  <blockquote class="text">
2578  <p>TYPE -  <p>TYPE -
2579                                </p>                                </p>
# Line 2033  Intellectual Property and Copyright Stat Line 2584  Intellectual Property and Copyright Stat
2584                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2585  </p>  </p>
2586  </blockquote>  </blockquote>
2587                                
2588    
2589  <p>DESCRIPTION -  <p>DESCRIPTION -
2590                                </p>                                </p>
# Line 2041  Intellectual Property and Copyright Stat Line 2593  Intellectual Property and Copyright Stat
2593                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2594  </p>  </p>
2595  </blockquote>  </blockquote>
2596                                
2597    
2598  <p>MANDATORY -  <p>MANDATORY -
2599                                </p>                                </p>
2600  <blockquote class="text">  <blockquote class="text">
2601  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2602                                  given when the device is to be created with the                                  given when the device is to be created with the
2603                                  <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
2604                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2605  </p>  </p>
2606  </blockquote>  </blockquote>
2607                                
2608    
2609  <p>FIX -  <p>FIX -
2610                                </p>                                </p>
2611  <blockquote class="text">  <blockquote class="text">
2612  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2613                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2614                                  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
2615                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2616  </p>  </p>
2617  </blockquote>  </blockquote>
2618                                
2619    
2620  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2621                                </p>                                </p>
# Line 2071  Intellectual Property and Copyright Stat Line 2626  Intellectual Property and Copyright Stat
2626                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2627  </p>  </p>
2628  </blockquote>  </blockquote>
2629                                
2630    
2631  <p>DEPENDS -  <p>DEPENDS -
2632                                </p>                                </p>
# Line 2087  Intellectual Property and Copyright Stat Line 2643  Intellectual Property and Copyright Stat
2643                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2644  </p>  </p>
2645  </blockquote>  </blockquote>
2646                                
2647    
2648  <p>DEFAULT -  <p>DEFAULT -
2649                                </p>                                </p>
2650  <blockquote class="text">  <blockquote class="text">
2651  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2652                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2653                                  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,
2654                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2655                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2656                                  apostrophes (')                                  apostrophes (')
2657                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2658  </p>  </p>
2659  </blockquote>  </blockquote>
2660                                
2661    
2662  <p>RANGE_MIN -  <p>RANGE_MIN -
2663                                </p>                                </p>
# Line 2111  Intellectual Property and Copyright Stat Line 2669  Intellectual Property and Copyright Stat
2669                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2670  </p>  </p>
2671  </blockquote>  </blockquote>
2672                                
2673    
2674  <p>RANGE_MAX -  <p>RANGE_MAX -
2675                                </p>                                </p>
# Line 2122  Intellectual Property and Copyright Stat Line 2681  Intellectual Property and Copyright Stat
2681                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2682  </p>  </p>
2683  </blockquote>  </blockquote>
2684                                
2685    
2686  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2687                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2692  Intellectual Property and Copyright Stat
2692                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2693  </p>  </p>
2694  </blockquote>  </blockquote>
2695                                
2696    
2697  </blockquote>  </blockquote><p>
2698                        
2699    </p>
2700  <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.
2701  </p>  </p>
2702  <p>Example:  <p>Example:
2703  </p>  </p>
2704  <p></p>  <p>
2705                            </p>
2706  <blockquote class="text">  <blockquote class="text">
2707  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2708  </p>  </p>
# Line 2157  Intellectual Property and Copyright Stat Line 2720  Intellectual Property and Copyright Stat
2720  </p>  </p>
2721  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2722  </p>  </p>
2723  </blockquote>  </blockquote><p>
2724                        
2725  <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>
2726    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2727    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2728    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2729    Creating a MIDI input device</h3>
2730    
2731  <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:
2732  </p>  </p>
2733  <p></p>  <p>
2734                            </p>
2735  <blockquote class="text">  <blockquote class="text">
2736  <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;]
2737  </p>  </p>
2738  </blockquote>  </blockquote><p>
2739                        
2740  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an  </p>
2741    <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2742                        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
2743                      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
2744                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2745                      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 2748  Intellectual Property and Copyright Stat
2748  </p>  </p>
2749  <p>Possible Answers:  <p>Possible Answers:
2750  </p>  </p>
2751  <p></p>  <p>
2752                            </p>
2753  <blockquote class="text">  <blockquote class="text">
2754  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2755                                  </p>                                  </p>
# Line 2187  Intellectual Property and Copyright Stat Line 2758  Intellectual Property and Copyright Stat
2758                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2759  </p>  </p>
2760  </blockquote>  </blockquote>
2761                                
2762    
2763  <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;" -
2764                                  </p>                                  </p>
# Line 2197  Intellectual Property and Copyright Stat Line 2769  Intellectual Property and Copyright Stat
2769                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2770  </p>  </p>
2771  </blockquote>  </blockquote>
2772                                
2773    
2774  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2775                                  </p>                                  </p>
# Line 2204  Intellectual Property and Copyright Stat Line 2777  Intellectual Property and Copyright Stat
2777  <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
2778  </p>  </p>
2779  </blockquote>  </blockquote>
2780                                
2781    
2782  </blockquote>  </blockquote><p>
2783                        
2784    </p>
2785  <p>Example:  <p>Example:
2786  </p>  </p>
2787  <p></p>  <p>
2788                            </p>
2789  <blockquote class="text">  <blockquote class="text">
2790  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2791  </p>  </p>
2792  <p>S: "OK[0]"  <p>S: "OK[0]"
2793  </p>  </p>
2794  </blockquote>  </blockquote><p>
2795                        
2796  <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>
2797    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2798    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2799    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2800    Destroying a MIDI input device</h3>
2801    
2802  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2803  </p>  </p>
2804  <p></p>  <p>
2805                            </p>
2806  <blockquote class="text">  <blockquote class="text">
2807  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2808  </p>  </p>
2809  </blockquote>  </blockquote><p>
2810                        
2811  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID.  </p>
2812    <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2813                        <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>
2814                        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>
2815                        command.
2816  </p>  </p>
2817  <p>Possible Answers:  <p>Possible Answers:
2818  </p>  </p>
2819  <p></p>  <p>
2820                            </p>
2821  <blockquote class="text">  <blockquote class="text">
2822  <p>"OK" -  <p>"OK" -
2823                                  </p>                                  </p>
# Line 2239  Intellectual Property and Copyright Stat Line 2825  Intellectual Property and Copyright Stat
2825  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2826  </p>  </p>
2827  </blockquote>  </blockquote>
2828                                
2829    
2830  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2831                                  </p>                                  </p>
# Line 2248  Intellectual Property and Copyright Stat Line 2835  Intellectual Property and Copyright Stat
2835                                      warning message                                      warning message
2836  </p>  </p>
2837  </blockquote>  </blockquote>
2838                                
2839    
2840  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2841                                  </p>                                  </p>
# Line 2255  Intellectual Property and Copyright Stat Line 2843  Intellectual Property and Copyright Stat
2843  <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
2844  </p>  </p>
2845  </blockquote>  </blockquote>
2846                                
2847    
2848  </blockquote>  </blockquote><p>
2849                        
2850    </p>
2851  <p>Example:  <p>Example:
2852  </p>  </p>
2853  <p></p>  <p>
2854                            </p>
2855  <blockquote class="text">  <blockquote class="text">
2856  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2857  </p>  </p>
2858  <p>S: "OK"  <p>S: "OK"
2859  </p>  </p>
2860  </blockquote>  </blockquote><p>
2861                        
2862  <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>
2863    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2864    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2865    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2866    Getting all created MIDI input device count</h3>
2867    
2868  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2869  </p>  </p>
2870  <p></p>  <p>
2871                            </p>
2872  <blockquote class="text">  <blockquote class="text">
2873  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2874  </p>  </p>
2875  </blockquote>  </blockquote><p>
2876                        
2877    </p>
2878  <p>Possible Answers:  <p>Possible Answers:
2879  </p>  </p>
2880  <p></p>  <p>
2881                            </p>
2882  <blockquote class="text">  <blockquote class="text">
2883  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2884                              MIDI input devices.                              MIDI input devices.
2885  </p>  </p>
2886  </blockquote>  </blockquote><p>
2887                        
2888    </p>
2889  <p>Example:  <p>Example:
2890  </p>  </p>
2891  <p></p>  <p>
2892                            </p>
2893  <blockquote class="text">  <blockquote class="text">
2894  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2895  </p>  </p>
2896  <p>S: "3"  <p>S: "3"
2897  </p>  </p>
2898  </blockquote>  </blockquote><p>
2899                        
2900  <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>
2901    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2902    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2903    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2904    Getting all created MIDI input device list</h3>
2905    
2906  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2907  </p>  </p>
2908  <p></p>  <p>
2909                            </p>
2910  <blockquote class="text">  <blockquote class="text">
2911  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2912  </p>  </p>
2913  </blockquote>  </blockquote><p>
2914                        
2915    </p>
2916  <p>Possible Answers:  <p>Possible Answers:
2917  </p>  </p>
2918  <p></p>  <p>
2919                            </p>
2920  <blockquote class="text">  <blockquote class="text">
2921  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2922                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2923  </p>  </p>
2924  </blockquote>  </blockquote><p>
2925                        
2926    </p>
2927  <p>Examples:  <p>Examples:
2928  </p>  </p>
2929  <p></p>  <p>
2930                            </p>
2931  <blockquote class="text">  <blockquote class="text">
2932  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2933  </p>  </p>
2934  <p>S: "0,1,2"  <p>S: "0,1,2"
2935  </p>  </p>
2936  </blockquote>  </blockquote><p>
2937                        
2938  <p></p>  </p>
2939    <p>
2940                            </p>
2941  <blockquote class="text">  <blockquote class="text">
2942  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2943  </p>  </p>
2944  <p>S: "1,3"  <p>S: "1,3"
2945  </p>  </p>
2946  </blockquote>  </blockquote><p>
2947                        
2948  <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>
2949    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2950    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2951    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2952    Getting current settings of a MIDI input device</h3>
2953    
2954  <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:
2955  </p>  </p>
2956  <p></p>  <p>
2957                            </p>
2958  <blockquote class="text">  <blockquote class="text">
2959  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
2960  </p>  </p>
2961  </blockquote>  </blockquote><p>
2962                        
2963  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.  </p>
2964    <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2965                        <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>
2966                        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>
2967                        command.
2968  </p>  </p>
2969  <p>Possible Answers:  <p>Possible Answers:
2970  </p>  </p>
2971  <p></p>  <p>
2972                            </p>
2973  <blockquote class="text">  <blockquote class="text">
2974  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2975                              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 2979  Intellectual Property and Copyright Stat
2979                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
2980                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
2981  </p>  </p>
2982  <p></p>  <p>
2983                                    </p>
2984  <blockquote class="text">  <blockquote class="text">
2985  <p>DRIVER -  <p>DRIVER -
2986                                          </p>                                          </p>
2987  <blockquote class="text">  <blockquote class="text">
2988  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2989                                              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>
2990                                              command                                              command
2991  </p>  </p>
2992  </blockquote>  </blockquote>
2993                                        
2994    
2995  </blockquote>  </blockquote>
2996                                    
2997  <blockquote class="text">  <blockquote class="text">
2998  <p><p>ACTIVE -  <p>ACTIVE -
2999                                          </p>                                          </p>
3000  <blockquote class="text">  <blockquote class="text">
3001  <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 3004  Intellectual Property and Copyright Stat
3004                                              channels                                              channels
3005  </p>  </p>
3006  </blockquote>  </blockquote>
3007                                        
3008    
3009  </blockquote>  </blockquote>
3010                                
3011    
3012  </blockquote>  </blockquote><p>
3013                        
3014    </p>
3015  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
3016                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3017                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3018                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3019                      <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
3020                      by this command.                      by this command.
3021  </p>  </p>
3022  <p>Example:  <p>Example:
3023  </p>  </p>
3024  <p></p>  <p>
3025                            </p>
3026  <blockquote class="text">  <blockquote class="text">
3027  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
3028  </p>  </p>
# Line 2404  Intellectual Property and Copyright Stat Line 3032  Intellectual Property and Copyright Stat
3032  </p>  </p>
3033  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3034  </p>  </p>
3035  </blockquote>  </blockquote><p>
3036                        
3037  <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>
3038    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3039    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3040    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3041    Changing settings of MIDI input devices</h3>
3042    
3043  <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:
3044  </p>  </p>
3045  <p></p>  <p>
3046                            </p>
3047  <blockquote class="text">  <blockquote class="text">
3048  <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;
3049  </p>  </p>
3050  </blockquote>  </blockquote><p>
3051                        
3052    </p>
3053  <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
3054                      MIDI input device, &lt;key&gt; by the name of the parameter to change and                      MIDI input device as returned by the
3055                        <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>
3056                        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>
3057                        command, &lt;key&gt; by the name of the parameter to change and
3058                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3059  </p>  </p>
3060  <p>Possible Answers:  <p>Possible Answers:
3061  </p>  </p>
3062  <p></p>  <p>
3063                            </p>
3064  <blockquote class="text">  <blockquote class="text">
3065  <p>"OK" -  <p>"OK" -
3066                                  </p>                                  </p>
# Line 2430  Intellectual Property and Copyright Stat Line 3068  Intellectual Property and Copyright Stat
3068  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3069  </p>  </p>
3070  </blockquote>  </blockquote>
3071                                
3072    
3073  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3074                                  </p>                                  </p>
# Line 2439  Intellectual Property and Copyright Stat Line 3078  Intellectual Property and Copyright Stat
3078                                      warning code and warning message                                      warning code and warning message
3079  </p>  </p>
3080  </blockquote>  </blockquote>
3081                                
3082    
3083  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3084                                  </p>                                  </p>
# Line 2446  Intellectual Property and Copyright Stat Line 3086  Intellectual Property and Copyright Stat
3086  <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
3087  </p>  </p>
3088  </blockquote>  </blockquote>
3089                                
3090    
3091  </blockquote>  </blockquote><p>
3092                        
3093    </p>
3094  <p>Example:  <p>Example:
3095  </p>  </p>
3096  <p></p>  <p>
3097                            </p>
3098  <blockquote class="text">  <blockquote class="text">
3099  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3100  </p>  </p>
3101  <p>S: "OK"  <p>S: "OK"
3102  </p>  </p>
3103  </blockquote>  </blockquote><p>
3104                        
3105  <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>
3106    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3107    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3108    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3109    Getting information about a MIDI port</h3>
3110    
3111  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3112  </p>  </p>
3113  <p></p>  <p>
3114                            </p>
3115  <blockquote class="text">  <blockquote class="text">
3116  <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;
3117  </p>  </p>
3118  </blockquote>  </blockquote><p>
3119                        
3120  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device  </p>
3121                      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
3122                        <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>
3123                        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>
3124                        command and &lt;midi-port&gt; the MIDI input port number.
3125  </p>  </p>
3126  <p>Possible Answers:  <p>Possible Answers:
3127  </p>  </p>
3128  <p></p>  <p>
3129                            </p>
3130  <blockquote class="text">  <blockquote class="text">
3131  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3132                              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 3140  Intellectual Property and Copyright Stat
3140  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3141  </p>  </p>
3142  </blockquote>  </blockquote>
3143                                
3144    
3145  </blockquote>  </blockquote><p>
3146                        
3147    </p>
3148  <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
3149                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3150                      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 3152  Intellectual Property and Copyright Stat
3152  </p>  </p>
3153  <p>Example:  <p>Example:
3154  </p>  </p>
3155  <p></p>  <p>
3156                            </p>
3157  <blockquote class="text">  <blockquote class="text">
3158  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3159  </p>  </p>
# Line 2508  Intellectual Property and Copyright Stat Line 3163  Intellectual Property and Copyright Stat
3163  </p>  </p>
3164  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3165  </p>  </p>
3166  </blockquote>  </blockquote><p>
3167                        
3168  <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>
3169    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3170    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3171    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3172    Getting information about specific MIDI port parameter</h3>
3173    
3174  <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:
3175  </p>  </p>
3176  <p></p>  <p>
3177                            </p>
3178  <blockquote class="text">  <blockquote class="text">
3179  <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;
3180  </p>  </p>
3181  </blockquote>  </blockquote><p>
3182                        
3183  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned  </p>
3184                      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
3185                        <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>
3186                        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>
3187                        command, &lt;port&gt; the MIDI port number and
3188                      &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
3189                      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).
3190  </p>  </p>
3191  <p>Possible Answers:  <p>Possible Answers:
3192  </p>  </p>
3193  <p></p>  <p>
3194                            </p>
3195  <blockquote class="text">  <blockquote class="text">
3196  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3197                              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 3211  Intellectual Property and Copyright Stat
3211                                      (always returned)                                      (always returned)
3212  </p>  </p>
3213  </blockquote>  </blockquote>
3214                                
3215    
3216  <p>DESCRIPTION -  <p>DESCRIPTION -
3217                                  </p>                                  </p>
# Line 2555  Intellectual Property and Copyright Stat Line 3220  Intellectual Property and Copyright Stat
3220                                      (always returned)                                      (always returned)
3221  </p>  </p>
3222  </blockquote>  </blockquote>
3223                                
3224    
3225  <p>FIX -  <p>FIX -
3226                                  </p>                                  </p>
# Line 2564  Intellectual Property and Copyright Stat Line 3230  Intellectual Property and Copyright Stat
3230                                      (always returned)                                      (always returned)
3231  </p>  </p>
3232  </blockquote>  </blockquote>
3233                                
3234    
3235  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3236                                  </p>                                  </p>
# Line 2574  Intellectual Property and Copyright Stat Line 3241  Intellectual Property and Copyright Stat
3241                                      (always returned)                                      (always returned)
3242  </p>  </p>
3243  </blockquote>  </blockquote>
3244                                
3245    
3246  <p>RANGE_MIN -  <p>RANGE_MIN -
3247                                  </p>                                  </p>
# Line 2586  Intellectual Property and Copyright Stat Line 3254  Intellectual Property and Copyright Stat
3254                                      parameter)                                      parameter)
3255  </p>  </p>
3256  </blockquote>  </blockquote>
3257                                
3258    
3259  <p>RANGE_MAX -  <p>RANGE_MAX -
3260                                  </p>                                  </p>
# Line 2598  Intellectual Property and Copyright Stat Line 3267  Intellectual Property and Copyright Stat
3267                                      parameter)                                      parameter)
3268  </p>  </p>
3269  </blockquote>  </blockquote>
3270                                
3271    
3272  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3273                                  </p>                                  </p>
# Line 2609  Intellectual Property and Copyright Stat Line 3279  Intellectual Property and Copyright Stat
3279                                      parameter)                                      parameter)
3280  </p>  </p>
3281  </blockquote>  </blockquote>
3282                                
3283    
3284  </blockquote>  </blockquote><p>
3285                        
3286    </p>
3287  <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.
3288  </p>  </p>
3289  <p>Example:  <p>Example:
3290  </p>  </p>
3291  <p></p>  <p>
3292                            </p>
3293  <blockquote class="text">  <blockquote class="text">
3294  <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"
3295  </p>  </p>
# Line 2632  Intellectual Property and Copyright Stat Line 3305  Intellectual Property and Copyright Stat
3305  </p>  </p>
3306  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3307  </p>  </p>
3308  </blockquote>  </blockquote><p>
3309                        
3310  <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>
3311    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3312    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3313    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3314    Changing settings of MIDI input ports</h3>
3315    
3316  <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:
3317  </p>  </p>
3318  <p></p>  <p>
3319                            </p>
3320  <blockquote class="text">  <blockquote class="text">
3321  <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;
3322  </p>  </p>
3323  </blockquote>  </blockquote><p>
3324                        
3325    </p>
3326  <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
3327                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      MIDI device as returned by the
3328                        <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>
3329                        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>
3330                        command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3331                      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
3332                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3333                        for specifying no value for parameters allowing a list of values.
3334  </p>  </p>
3335  <p>Possible Answers:  <p>Possible Answers:
3336  </p>  </p>
3337  <p></p>  <p>
3338                            </p>
3339  <blockquote class="text">  <blockquote class="text">
3340  <p>"OK" -  <p>"OK" -
3341                                  </p>                                  </p>
# Line 2659  Intellectual Property and Copyright Stat Line 3343  Intellectual Property and Copyright Stat
3343  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3344  </p>  </p>
3345  </blockquote>  </blockquote>
3346                                
3347    
3348  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3349                                  </p>                                  </p>
# Line 2668  Intellectual Property and Copyright Stat Line 3353  Intellectual Property and Copyright Stat
3353                                      warning code and warning message                                      warning code and warning message
3354  </p>  </p>
3355  </blockquote>  </blockquote>
3356                                
3357    
3358  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3359                                  </p>                                  </p>
# Line 2675  Intellectual Property and Copyright Stat Line 3361  Intellectual Property and Copyright Stat
3361  <p>in case it failed, providing an appropriate error code and error message  <p>in case it failed, providing an appropriate error code and error message
3362  </p>  </p>
3363  </blockquote>  </blockquote>
3364                                
3365    
3366  </blockquote>  </blockquote><p>
3367                        
3368    </p>
3369  <p>Example:  <p>Example:
3370  </p>  </p>
3371  <p></p>  <p>
3372                            </p>
3373  <blockquote class="text">  <blockquote class="text">
3374    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3375    </p>
3376    <p>S: "OK"
3377    </p>
3378    </blockquote><p>
3379                        
3380    </p>
3381  <p>  <p>
3382                            </p>
3383    <blockquote class="text">
3384    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3385  </p>  </p>
3386  </blockquote>  <p>S: "OK"
3387    </p>
3388  <a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a>&nbsp;Configuring sampler channels</h4>  </blockquote><p>
3389                        
 <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.  
3390  </p>  </p>
3391  <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 />
3392    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3393    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3394    Configuring sampler channels</h3>
3395    
3396    <p>The following commands describe how to add and remove sampler channels, associate a
3397                    sampler channel with a sampler engine, load instruments and connect sampler channels to
3398                    MIDI and audio devices.
3399    </p>
3400    <a name="LOAD INSTRUMENT"></a><br /><hr />
3401    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3402    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3403    Loading an instrument</h3>
3404    
3405  <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:
3406  </p>  </p>
3407  <p></p>  <p>
3408                            </p>
3409  <blockquote class="text">  <blockquote class="text">
3410  <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;
3411  </p>  </p>
3412  </blockquote>  </blockquote><p>
3413                        
3414    </p>
3415  <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
3416                      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
3417                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
3418                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3419                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3420  </p>  </p>
3421    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3422                        escape characters for special characters (see chapter
3423                        "<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>"
3424                        for details) and accordingly backslash characters in the filename
3425                        MUST now be escaped as well!
3426    </p>
3427  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3428                      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
3429                      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
3430                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3431                      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>
3432                      command can be used to obtain loading                      command can be used to obtain loading
3433                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3434                      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 3437  Intellectual Property and Copyright Stat
3437  </p>  </p>
3438  <p>Possible Answers:  <p>Possible Answers:
3439  </p>  </p>
3440  <p></p>  <p>
3441                            </p>
3442  <blockquote class="text">  <blockquote class="text">
3443  <p>"OK" -  <p>"OK" -
3444                                  </p>                                  </p>
# Line 2728  Intellectual Property and Copyright Stat Line 3446  Intellectual Property and Copyright Stat
3446  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3447  </p>  </p>
3448  </blockquote>  </blockquote>
3449                                
3450    
3451  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3452                                  </p>                                  </p>
# Line 2739  Intellectual Property and Copyright Stat Line 3458  Intellectual Property and Copyright Stat
3458                                      warning message                                      warning message
3459  </p>  </p>
3460  </blockquote>  </blockquote>
3461                                
3462    
3463  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3464                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3466  Intellectual Property and Copyright Stat
3466  <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
3467  </p>  </p>
3468  </blockquote>  </blockquote>
3469                                
3470    
3471  </blockquote>  </blockquote><p>
3472                        
 <p>Example:  
3473  </p>  </p>
3474  <p></p>  <p>Example (Unix):
3475    </p>
3476    <p>
3477                            </p>
3478  <blockquote class="text">  <blockquote class="text">
3479    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3480    </p>
3481    <p>S: OK
3482    </p>
3483    </blockquote><p>
3484                        
3485    </p>
3486    <p>Example (Windows):
3487    </p>
3488  <p>  <p>
3489                            </p>
3490    <blockquote class="text">
3491    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3492  </p>  </p>
3493  </blockquote>  <p>S: OK
3494    </p>
3495  <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>
3496                        
3497    </p>
3498    <a name="LOAD ENGINE"></a><br /><hr />
3499    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3500    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3501    Loading a sampler engine</h3>
3502    
3503  <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
3504                      channel by the following command:                      channel by the following command:
3505  </p>  </p>
3506  <p></p>  <p>
3507                            </p>
3508  <blockquote class="text">  <blockquote class="text">
3509  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3510  </p>  </p>
3511  </blockquote>  </blockquote><p>
3512                        
3513    </p>
3514  <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
3515                      <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;
3516                      deployed engine should be assigned to. Even if the respective                      the sampler channel as returned by the
3517                      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
3518                      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
3519                        the engine type should be assigned to. This command should be issued
3520                        after adding a new sampler channel and before any other control
3521                        commands on the new sampler channel. It can also be used to change
3522                        the engine type of a sampler channel. This command has (currently) no
3523                        way to define or force if a new engine instance should be created and
3524                        assigned to the given sampler channel or if an already existing
3525                        instance of that engine type, shared with other sampler channels,
3526                        should be used.
3527  </p>  </p>
3528  <p>Possible Answers:  <p>Possible Answers:
3529  </p>  </p>
3530  <p></p>  <p>
3531                            </p>
3532  <blockquote class="text">  <blockquote class="text">
3533  <p>"OK" -  <p>"OK" -
3534                                  </p>                                  </p>
# Line 2784  Intellectual Property and Copyright Stat Line 3536  Intellectual Property and Copyright Stat
3536  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3537  </p>  </p>
3538  </blockquote>  </blockquote>
3539                                
3540    
3541  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3542                                  </p>                                  </p>
# Line 2793  Intellectual Property and Copyright Stat Line 3546  Intellectual Property and Copyright Stat
3546                                      warning code and warning message                                      warning code and warning message
3547  </p>  </p>
3548  </blockquote>  </blockquote>
3549                                
3550    
3551  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3552                                  </p>                                  </p>
# Line 2801  Intellectual Property and Copyright Stat Line 3555  Intellectual Property and Copyright Stat
3555                                      error message                                      error message
3556  </p>  </p>
3557  </blockquote>  </blockquote>
3558                                
3559    
3560  </blockquote>  </blockquote><p>
3561                        
3562    </p>
3563  <p>Example:  <p>Example:
3564  </p>  </p>
3565  <p></p>  <p>
3566                            </p>
3567  <blockquote class="text">  <blockquote class="text">
3568  <p>  <p>
3569  </p>  </p>
3570  </blockquote>  </blockquote><p>
3571                        
3572  <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>
3573    <a name="GET CHANNELS"></a><br /><hr />
3574    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3575    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3576    Getting all created sampler channel count</h3>
3577    
3578  <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
3579                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3580                      following command:                      following command:
3581  </p>  </p>
3582  <p></p>  <p>
3583                            </p>
3584  <blockquote class="text">  <blockquote class="text">
3585  <p>GET CHANNELS  <p>GET CHANNELS
3586  </p>  </p>
3587  </blockquote>  </blockquote><p>
3588                        
3589    </p>
3590  <p>Possible Answers:  <p>Possible Answers:
3591  </p>  </p>
3592  <p></p>  <p>
3593                            </p>
3594  <blockquote class="text">  <blockquote class="text">
3595  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3596  </p>  </p>
3597  </blockquote>  </blockquote><p>
3598                        
3599    </p>
3600  <p>Example:  <p>Example:
3601  </p>  </p>
3602  <p></p>  <p>
3603                            </p>
3604  <blockquote class="text">  <blockquote class="text">
3605  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3606  </p>  </p>
3607  <p>S: "12"  <p>S: "12"
3608  </p>  </p>
3609  </blockquote>  </blockquote><p>
3610                        
3611  <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>
3612    <a name="LIST CHANNELS"></a><br /><hr />
3613    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3614    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3615    Getting all created sampler channel list</h3>
3616    
3617  <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
3618                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3619                      following command:                      following command:
3620  </p>  </p>
3621  <p></p>  <p>
3622                            </p>
3623  <blockquote class="text">  <blockquote class="text">
3624  <p>LIST CHANNELS  <p>LIST CHANNELS
3625  </p>  </p>
3626  </blockquote>  </blockquote><p>
3627                        
3628    </p>
3629  <p>Possible Answers:  <p>Possible Answers:
3630  </p>  </p>
3631  <p></p>  <p>
3632                            </p>
3633  <blockquote class="text">  <blockquote class="text">
3634  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3635                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3636  </p>  </p>
3637  </blockquote>  </blockquote><p>
3638                        
3639    </p>
3640  <p>Example:  <p>Example:
3641  </p>  </p>
3642  <p></p>  <p>
3643                            </p>
3644  <blockquote class="text">  <blockquote class="text">
3645  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3646  </p>  </p>
3647  <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"
3648  </p>  </p>
3649  </blockquote>  </blockquote><p>
3650                        
3651  <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>
3652    <a name="ADD CHANNEL"></a><br /><hr />
3653    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3654    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3655    Adding a new sampler channel</h3>
3656    
3657  <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
3658                      channel list by sending the following command:                      channel list by sending the following command:
3659  </p>  </p>
3660  <p></p>  <p>
3661                            </p>
3662  <blockquote class="text">  <blockquote class="text">
3663  <p>ADD CHANNEL  <p>ADD CHANNEL
3664  </p>  </p>
3665  </blockquote>  </blockquote><p>
3666                        
3667    </p>
3668  <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
3669                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3670                      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 3677  Intellectual Property and Copyright Stat
3677  </p>  </p>
3678  <p>Possible Answers:  <p>Possible Answers:
3679  </p>  </p>
3680  <p></p>  <p>
3681                            </p>
3682  <blockquote class="text">  <blockquote class="text">
3683  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3684                                  </p>                                  </p>
# Line 2908  Intellectual Property and Copyright Stat Line 3690  Intellectual Property and Copyright Stat
3690                                      commands                                      commands
3691  </p>  </p>
3692  </blockquote>  </blockquote>
3693                                
3694    
3695  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3696                                  </p>                                  </p>
# Line 2917  Intellectual Property and Copyright Stat Line 3700  Intellectual Property and Copyright Stat
3700                                      warning code and warning message                                      warning code and warning message
3701  </p>  </p>
3702  </blockquote>  </blockquote>
3703                                
3704    
3705  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3706                                  </p>                                  </p>
# Line 2925  Intellectual Property and Copyright Stat Line 3709  Intellectual Property and Copyright Stat
3709                                      error message                                      error message
3710  </p>  </p>
3711  </blockquote>  </blockquote>
3712                                
3713    
3714  </blockquote>  </blockquote><p>
3715                        
3716    </p>
3717  <p>Example:  <p>Example:
3718  </p>  </p>
3719  <p></p>  <p>
3720                            </p>
3721  <blockquote class="text">  <blockquote class="text">
3722  <p>  <p>
3723  </p>  </p>
3724  </blockquote>  </blockquote><p>
3725                        
3726  <a name="rfc.section.5.4.6"></a><h4><a name="REMOVE CHANNEL">5.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3727    <a name="REMOVE CHANNEL"></a><br /><hr />
3728    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3729    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3730    Removing a sampler channel</h3>
3731    
3732  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3733  </p>  </p>
3734  <p></p>  <p>
3735                            </p>
3736  <blockquote class="text">  <blockquote class="text">
3737  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3738  </p>  </p>
3739  </blockquote>  </blockquote><p>
3740                        
3741    </p>
3742  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3743                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3744                      <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>
3745                      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>
3746                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3747                      remain the same.                      remain the same.
3748  </p>  </p>
3749  <p>Possible Answers:  <p>Possible Answers:
3750  </p>  </p>
3751  <p></p>  <p>
3752                            </p>
3753  <blockquote class="text">  <blockquote class="text">
3754  <p>"OK" -  <p>"OK" -
3755                                  </p>                                  </p>
# Line 2963  Intellectual Property and Copyright Stat Line 3757  Intellectual Property and Copyright Stat
3757  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3758  </p>  </p>
3759  </blockquote>  </blockquote>
3760                                
3761    
3762  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3763                                  </p>                                  </p>
# Line 2972  Intellectual Property and Copyright Stat Line 3767  Intellectual Property and Copyright Stat
3767                                      warning code and warning message                                      warning code and warning message
3768  </p>  </p>
3769  </blockquote>  </blockquote>
3770                                
3771    
3772  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3773                                  </p>                                  </p>
# Line 2980  Intellectual Property and Copyright Stat Line 3776  Intellectual Property and Copyright Stat
3776                                      error message                                      error message
3777  </p>  </p>
3778  </blockquote>  </blockquote>
3779                                
3780    
3781  </blockquote>  </blockquote><p>
3782                        
3783    </p>
3784  <p>Example:  <p>Example:
3785  </p>  </p>
3786  <p></p>  <p>
3787                            </p>
3788  <blockquote class="text">  <blockquote class="text">
3789  <p>  <p>
3790  </p>  </p>
3791  </blockquote>  </blockquote><p>
3792                        
3793  <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>
3794    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3795    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3796    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3797    Getting amount of available engines</h3>
3798    
3799  <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:
3800  </p>  </p>
3801  <p></p>  <p>
3802                            </p>
3803  <blockquote class="text">  <blockquote class="text">
3804  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3805  </p>  </p>
3806  </blockquote>  </blockquote><p>
3807                        
3808    </p>
3809  <p>Possible Answers:  <p>Possible Answers:
3810  </p>  </p>
3811  <p></p>  <p>
3812                            </p>
3813  <blockquote class="text">  <blockquote class="text">
3814  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3815  </p>  </p>
3816  </blockquote>  </blockquote><p>
3817                        
3818    </p>
3819  <p>Example:  <p>Example:
3820  </p>  </p>
3821  <p></p>  <p>
3822                            </p>
3823  <blockquote class="text">  <blockquote class="text">
3824  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3825  </p>  </p>
3826  <p>S: "4"  <p>S: "4"
3827  </p>  </p>
3828  </blockquote>  </blockquote><p>
3829                        
3830  <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>
3831    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3832    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3833    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3834    Getting all available engines</h3>
3835    
3836  <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:
3837  </p>  </p>
3838  <p></p>  <p>
3839                            </p>
3840  <blockquote class="text">  <blockquote class="text">
3841  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3842  </p>  </p>
3843  </blockquote>  </blockquote><p>
3844                        
3845    </p>
3846  <p>Possible Answers:  <p>Possible Answers:
3847  </p>  </p>
3848  <p></p>  <p>
3849                            </p>
3850  <blockquote class="text">  <blockquote class="text">
3851  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
3852                              of the engines' names encapsulated into apostrophes (').                              of the engines' names encapsulated into apostrophes (').
3853                              Engine names can consist of lower and upper cases,                              Engine names can consist of lower and upper cases,
3854                              digits and underlines ("_" character).                              digits and underlines ("_" character).
3855  </p>  </p>
3856  </blockquote>  </blockquote><p>
3857                        
3858    </p>
3859  <p>Example:  <p>Example:
3860  </p>  </p>
3861  <p></p>  <p>
3862                            </p>
3863  <blockquote class="text">  <blockquote class="text">
3864  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3865  </p>  </p>
3866  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3867  </p>  </p>
3868  </blockquote>  </blockquote><p>
3869                        
3870  <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>
3871    <a name="GET ENGINE INFO"></a><br /><hr />
3872    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3873    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3874    Getting information about an engine</h3>
3875    
3876  <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
3877                      sending the following command:                      sending the following command:
3878  </p>  </p>
3879  <p></p>  <p>
3880                            </p>
3881  <blockquote class="text">  <blockquote class="text">
3882  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3883  </p>  </p>
3884  </blockquote>  </blockquote><p>
3885                        
3886    </p>
3887  <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
3888                      <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.
3889  </p>  </p>
3890  <p>Possible Answers:  <p>Possible Answers:
3891  </p>  </p>
3892  <p></p>  <p>
3893                            </p>
3894  <blockquote class="text">  <blockquote class="text">
3895  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3896                              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 3898  Intellectual Property and Copyright Stat
3898                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3899                              the following categories are defined:                              the following categories are defined:
3900  </p>  </p>
3901  <p></p>  <p>
3902                                    </p>
3903  <blockquote class="text">  <blockquote class="text">
3904  <p>DESCRIPTION -  <p>DESCRIPTION -
3905                                          </p>                                          </p>
3906  <blockquote class="text">  <blockquote class="text">
3907  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3908                                                (note that the character string may contain
3909                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3910  </p>  </p>
3911  </blockquote>  </blockquote>
3912                                        
3913    
3914  <p>VERSION -  <p>VERSION -
3915                                          </p>                                          </p>
# Line 3089  Intellectual Property and Copyright Stat Line 3917  Intellectual Property and Copyright Stat
3917  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3918  </p>  </p>
3919  </blockquote>  </blockquote>
3920                                        
3921    
3922  </blockquote>  </blockquote>
3923                                
3924    
3925  </blockquote>  </blockquote><p>
3926                        
3927    </p>
3928  <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.
3929  </p>  </p>
3930  <p>Example:  <p>Example:
3931  </p>  </p>
3932  <p></p>  <p>
3933                            </p>
3934  <blockquote class="text">  <blockquote class="text">
3935  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3936  </p>  </p>
# Line 3108  Intellectual Property and Copyright Stat Line 3940  Intellectual Property and Copyright Stat
3940  </p>  </p>
3941  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3942  </p>  </p>
3943  </blockquote>  </blockquote><p>
3944                        
3945  <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>
3946    <a name="GET CHANNEL INFO"></a><br /><hr />
3947    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3948    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3949    Getting sampler channel information</h3>
3950    
3951  <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
3952                      by sending the following command:                      by sending the following command:
3953  </p>  </p>
3954  <p></p>  <p>
3955                            </p>
3956  <blockquote class="text">  <blockquote class="text">
3957  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
3958  </p>  </p>
3959  </blockquote>  </blockquote><p>
3960                        
3961  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
3962    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
3963                        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>
3964                        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.
3965  </p>  </p>
3966  <p>Possible Answers:  <p>Possible Answers:
3967  </p>  </p>
3968  <p></p>  <p>
3969                            </p>
3970  <blockquote class="text">  <blockquote class="text">
3971  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3972                              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 3974  Intellectual Property and Copyright Stat
3974                              the info character string to that setting category. At the                              the info character string to that setting category. At the
3975                              moment the following categories are defined:                              moment the following categories are defined:
3976  </p>  </p>
3977  <p></p>  <p>
3978                                    </p>
3979  <blockquote class="text">  <blockquote class="text">
3980  <p>ENGINE_NAME -  <p>ENGINE_NAME -
3981                                          </p>                                          </p>
3982  <blockquote class="text">  <blockquote class="text">
3983  <p>name of the engine that is deployed on the sampler  <p>name of the engine that is associated with the sampler
3984                                              channel, "NONE" if there's no engine deployed yet for                                              channel, "NONE" if there's no engine associated yet for
3985                                              this sampler channel                                              this sampler channel
3986  </p>  </p>
3987  </blockquote>  </blockquote>
3988                                        
3989    
3990  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
3991                                          </p>                                          </p>
# Line 3153  Intellectual Property and Copyright Stat Line 3996  Intellectual Property and Copyright Stat
3996                                              connected to this sampler channel                                              connected to this sampler channel
3997  </p>  </p>
3998  </blockquote>  </blockquote>
3999                                        
4000    
4001  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
4002                                          </p>                                          </p>
# Line 3161  Intellectual Property and Copyright Stat Line 4005  Intellectual Property and Copyright Stat
4005                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
4006  </p>  </p>
4007  </blockquote>  </blockquote>
4008                                        
4009    
4010  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
4011                                          </p>                                          </p>
# Line 3174  Intellectual Property and Copyright Stat Line 4019  Intellectual Property and Copyright Stat
4019                                              output device                                              output device
4020  </p>  </p>
4021  </blockquote>  </blockquote>
4022                                        
4023    
4024  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
4025                                          </p>                                          </p>
4026  <blockquote class="text">  <blockquote class="text">
4027  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4028                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4029                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4030                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4031  </p>  </p>
4032  </blockquote>  </blockquote>
4033                                        
4034    
4035  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4036                                          </p>                                          </p>
# Line 3190  Intellectual Property and Copyright Stat Line 4038  Intellectual Property and Copyright Stat
4038  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument
4039  </p>  </p>
4040  </blockquote>  </blockquote>
4041                                        
4042    
4043  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
4044                                          </p>                                          </p>
4045  <blockquote class="text">  <blockquote class="text">
4046  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4047                                                (note: since LSCP 1.2 this character string may contain
4048                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4049  </p>  </p>
4050  </blockquote>  </blockquote>
4051                                        
4052    
4053  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4054                                          </p>                                          </p>
# Line 3206  Intellectual Property and Copyright Stat Line 4058  Intellectual Property and Copyright Stat
4058                                              loaded.                                              loaded.
4059  </p>  </p>
4060  </blockquote>  </blockquote>
4061                                        
4062    
4063  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
4064                                          </p>                                          </p>
# Line 3216  Intellectual Property and Copyright Stat Line 4069  Intellectual Property and Copyright Stat
4069                                              connected to this sampler channel                                              connected to this sampler channel
4070  </p>  </p>
4071  </blockquote>  </blockquote>
4072                                        
4073    
4074  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4075                                          </p>                                          </p>
# Line 3223  Intellectual Property and Copyright Stat Line 4077  Intellectual Property and Copyright Stat
4077  <p>port number of the MIDI input device  <p>port number of the MIDI input device
4078  </p>  </p>
4079  </blockquote>  </blockquote>
4080                                        
4081    
4082  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
4083                                          </p>                                          </p>
# Line 3231  Intellectual Property and Copyright Stat Line 4086  Intellectual Property and Copyright Stat
4086                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
4087  </p>  </p>
4088  </blockquote>  </blockquote>
4089                                        
4090    
4091  <p>VOLUME -  <p>VOLUME -
4092                                          </p>                                          </p>
4093  <blockquote class="text">  <blockquote class="text">
4094  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4095                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4096                                              1.0 means amplification)                                              1.0 means amplification)
4097  </p>  </p>
4098  </blockquote>  </blockquote>
4099                                        
4100    
4101    <p>MUTE -
4102                                            </p>
4103    <blockquote class="text">
4104    <p>Determines whether the channel is muted, "true" if the
4105                                                channel is muted, "false" if the channel is not muted, and
4106                                                "MUTED_BY_SOLO" if the channel is muted because of the
4107                                                presence of a solo channel and will be unmuted when
4108                                                there are no solo channels left
4109    </p>
4110    </blockquote>
4111                                        
4112    
4113    <p>SOLO -
4114                                            </p>
4115    <blockquote class="text">
4116    <p>Determines whether this is a solo channel, "true" if
4117                                                the channel is a solo channel; "false" otherwise
4118    </p>
4119    </blockquote>
4120                                        
4121    
4122    <p>MIDI_INSTRUMENT_MAP -
4123                                            </p>
4124    <blockquote class="text">
4125    <p>Determines to which MIDI instrument map this sampler
4126                                                channel is assigned to. Read chapter
4127                                                <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>
4128                                                for a list of possible values.
4129    </p>
4130  </blockquote>  </blockquote>
4131                                        
4132    
4133  </blockquote>  </blockquote>
4134                                
4135    
4136    </blockquote><p>
4137                        
4138    </p>
4139  <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.
4140  </p>  </p>
4141  <p>Example:  <p>Example:
4142  </p>  </p>
4143  <p></p>  <p>
4144                            </p>
4145  <blockquote class="text">  <blockquote class="text">
4146  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4147  </p>  </p>
# Line 3277  Intellectual Property and Copyright Stat Line 4169  Intellectual Property and Copyright Stat
4169  </p>  </p>
4170  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4171  </p>  </p>
4172    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4173    </p>
4174    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4175    </p>
4176    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4177    </p>
4178    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4179    </p>
4180  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4181  </p>  </p>
4182  </blockquote>  </blockquote><p>
4183                        
4184  <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>
4185    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4186    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4187    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4188    Current number of active voices</h3>
4189    
4190  <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
4191                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4192  </p>  </p>
4193  <p></p>  <p>
4194                            </p>
4195  <blockquote class="text">  <blockquote class="text">
4196  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4197  </p>  </p>
4198  </blockquote>  </blockquote><p>
4199                        
4200  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4201    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4202                        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>
4203                        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.
4204  </p>  </p>
4205  <p>Possible Answers:  <p>Possible Answers:
4206  </p>  </p>
4207  <p></p>  <p>
4208                            </p>
4209  <blockquote class="text">  <blockquote class="text">
4210  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4211                              voices on that channel.                              voices on that channel.
4212  </p>  </p>
4213  </blockquote>  </blockquote><p>
4214                        
4215    </p>
4216  <p>Example:  <p>Example:
4217  </p>  </p>
4218  <p></p>  <p>
4219                            </p>
4220  <blockquote class="text">  <blockquote class="text">
4221  <p>  <p>
4222  </p>  </p>
4223  </blockquote>  </blockquote><p>
4224                        
4225  <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>
4226    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4227    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4228    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4229    Current number of active disk streams</h3>
4230    
4231  <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
4232                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4233  </p>  </p>
4234  <p></p>  <p>
4235                            </p>
4236  <blockquote class="text">  <blockquote class="text">
4237  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4238  </p>  </p>
4239  </blockquote>  </blockquote><p>
4240                        
4241  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4242    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4243                        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>
4244                        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.
4245  </p>  </p>
4246  <p>Possible Answers:  <p>Possible Answers:
4247  </p>  </p>
4248  <p></p>  <p>
4249                            </p>
4250  <blockquote class="text">  <blockquote class="text">
4251  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4252                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4253                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4254                              return "NA" for not available.                              return "NA" for not available.
4255  </p>  </p>
4256  </blockquote>  </blockquote><p>
4257                        
4258    </p>
4259  <p>Example:  <p>Example:
4260  </p>  </p>
4261  <p></p>  <p>
4262                            </p>
4263  <blockquote class="text">  <blockquote class="text">
4264  <p>  <p>
4265  </p>  </p>
4266  </blockquote>  </blockquote><p>
4267                        
4268  <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>
4269    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4270    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4271    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4272    Current fill state of disk stream buffers</h3>
4273    
4274  <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
4275                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4276  </p>  </p>
4277  <p></p>  <p>
4278                            </p>
4279  <blockquote class="text">  <blockquote class="text">
4280  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4281  </p>  </p>
4282  </blockquote>  </blockquote><p>
4283                        
4284    </p>
4285  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4286  </p>  </p>
4287  <p></p>  <p>
4288                            </p>
4289  <blockquote class="text">  <blockquote class="text">
4290  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4291  </p>  </p>
4292  </blockquote>  </blockquote><p>
4293                        
4294    </p>
4295  <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
4296                      sampler channel number the front-end is interested in.                      sampler channel number the front-end is interested in
4297                        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>
4298                        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.
4299  </p>  </p>
4300  <p>Possible Answers:  <p>Possible Answers:
4301  </p>  </p>
4302  <p></p>  <p>
4303                            </p>
4304  <blockquote class="text">  <blockquote class="text">
4305  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4306                              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 4313  Intellectual Property and Copyright Stat
4313                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4314                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4315  </p>  </p>
4316  </blockquote>  </blockquote><p>
4317                        
4318    </p>
4319  <p>Examples:  <p>Examples:
4320  </p>  </p>
4321  <p></p>  <p>
4322                            </p>
4323  <blockquote class="text">  <blockquote class="text">
4324  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4325  </p>  </p>
4326  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
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: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4335  </p>  </p>
4336  </blockquote>  </blockquote><p>
4337    
4338                            </p>
4339  <blockquote class="text">  <blockquote class="text">
4340  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4341  </p>  </p>
4342  <p>S: ""  <p>S: ""
4343  </p>  </p>
4344  </blockquote>  </blockquote><p>
4345                        
4346  <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>
4347    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4348    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4349    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4350    Setting audio output device</h3>
4351    
4352  <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
4353                      channel by sending the following command:                      channel by sending the following command:
4354  </p>  </p>
4355  <p></p>  <p>
4356                            </p>
4357  <blockquote class="text">  <blockquote class="text">
4358  <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;
4359  </p>  </p>
4360  </blockquote>  </blockquote><p>
4361                        
4362  <p>Where &lt;audio-device-id&gt; is the numerical ID of the audio output  </p>
4363                      device and &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4364                      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>
4365                        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
4366                        &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4367                        <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>
4368                        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>
4369                        command.
4370  </p>  </p>
4371  <p>Possible Answers:  <p>Possible Answers:
4372  </p>  </p>
4373  <p></p>  <p>
4374                            </p>
4375  <blockquote class="text">  <blockquote class="text">
4376  <p>"OK" -  <p>"OK" -
4377                                  </p>                                  </p>
# Line 3429  Intellectual Property and Copyright Stat Line 4379  Intellectual Property and Copyright Stat
4379  <p>on success  <p>on success
4380  </p>  </p>
4381  </blockquote>  </blockquote>
4382                                
4383    
4384  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4385                                  </p>                                  </p>
# Line 3438  Intellectual Property and Copyright Stat Line 4389  Intellectual Property and Copyright Stat
4389                                      warning message                                      warning message
4390  </p>  </p>
4391  </blockquote>  </blockquote>
4392                                
4393    
4394  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4395                                  </p>                                  </p>
# Line 3445  Intellectual Property and Copyright Stat Line 4397  Intellectual Property and Copyright Stat
4397  <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
4398  </p>  </p>
4399  </blockquote>  </blockquote>
4400                                
4401    
4402  </blockquote>  </blockquote><p>
4403                        
4404    </p>
4405  <p>Examples:  <p>Examples:
4406  </p>  </p>
4407  <p></p>  <p>
4408                            </p>
4409  <blockquote class="text">  <blockquote class="text">
4410  <p>  <p>
4411  </p>  </p>
4412  </blockquote>  </blockquote><p>
4413                        
4414  <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>
4415    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4416    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4417    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4418    Setting audio output type</h3>
4419    
4420  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4421  </p>  </p>
4422  <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
4423                      channel by sending the following command:                      channel by sending the following command:
4424  </p>  </p>
4425  <p></p>  <p>
4426                            </p>
4427  <blockquote class="text">  <blockquote class="text">
4428  <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;
4429  </p>  </p>
4430  </blockquote>  </blockquote><p>
4431                        
4432    </p>
4433  <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
4434                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4435  </p>  </p>
4436  <p>Possible Answers:  <p>Possible Answers:
4437  </p>  </p>
4438  <p></p>  <p>
4439                            </p>
4440  <blockquote class="text">  <blockquote class="text">
4441  <p>"OK" -  <p>"OK" -
4442                                  </p>                                  </p>
# Line 3482  Intellectual Property and Copyright Stat Line 4444  Intellectual Property and Copyright Stat
4444  <p>on success  <p>on success
4445  </p>  </p>
4446  </blockquote>  </blockquote>
4447                                
4448    
4449  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4450                                  </p>                                  </p>
# Line 3491  Intellectual Property and Copyright Stat Line 4454  Intellectual Property and Copyright Stat
4454                                      warning message                                      warning message
4455  </p>  </p>
4456  </blockquote>  </blockquote>
4457                                
4458    
4459  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4460                                  </p>                                  </p>
# Line 3498  Intellectual Property and Copyright Stat Line 4462  Intellectual Property and Copyright Stat
4462  <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
4463  </p>  </p>
4464  </blockquote>  </blockquote>
4465                                
4466    
4467  </blockquote>  </blockquote><p>
4468                        
4469    </p>
4470  <p>Examples:  <p>Examples:
4471  </p>  </p>
4472  <p></p>  <p>
4473                            </p>
4474  <blockquote class="text">  <blockquote class="text">
4475  <p>  <p>
4476  </p>  </p>
4477  </blockquote>  </blockquote><p>
4478                        
4479  <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>
4480    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4481    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4482    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4483    Setting audio output channel</h3>
4484    
4485  <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
4486                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4487  </p>  </p>
4488  <p></p>  <p>
4489                            </p>
4490  <blockquote class="text">  <blockquote class="text">
4491  <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;
4492  </p>  </p>
4493  </blockquote>  </blockquote><p>
4494                        
4495  <p>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the  </p>
4496    <p>Where &lt;sampler-chan&gt; is the sampler channel number
4497                        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>
4498                        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
4499                      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
4500                      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
4501                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4502  </p>  </p>
4503  <p>Possible Answers:  <p>Possible Answers:
4504  </p>  </p>
4505  <p></p>  <p>
4506                            </p>
4507  <blockquote class="text">  <blockquote class="text">
4508  <p>"OK" -  <p>"OK" -
4509                                  </p>                                  </p>
# Line 3535  Intellectual Property and Copyright Stat Line 4511  Intellectual Property and Copyright Stat
4511  <p>on success  <p>on success
4512  </p>  </p>
4513  </blockquote>  </blockquote>
4514                                
4515    
4516  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4517                                  </p>                                  </p>
# Line 3544  Intellectual Property and Copyright Stat Line 4521  Intellectual Property and Copyright Stat
4521                                      warning message                                      warning message
4522  </p>  </p>
4523  </blockquote>  </blockquote>
4524                                
4525    
4526  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4527                                  </p>                                  </p>
# Line 3551  Intellectual Property and Copyright Stat Line 4529  Intellectual Property and Copyright Stat
4529  <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
4530  </p>  </p>
4531  </blockquote>  </blockquote>
4532                                
4533    
4534  </blockquote>  </blockquote><p>
4535                        
4536    </p>
4537  <p>Examples:  <p>Examples:
4538  </p>  </p>
4539  <p></p>  <p>
4540                            </p>
4541  <blockquote class="text">  <blockquote class="text">
4542  <p>  <p>
4543  </p>  </p>
4544  </blockquote>  </blockquote><p>
4545                        
4546  <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>
4547    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4548    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4549    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4550    Setting MIDI input device</h3>
4551    
4552  <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
4553                      channel by sending the following command:                      channel by sending the following command:
4554  </p>  </p>
4555  <p></p>  <p>
4556                            </p>
4557  <blockquote class="text">  <blockquote class="text">
4558  <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;
4559  </p>  </p>
4560  </blockquote>  </blockquote><p>
4561                        
4562  <p>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the  </p>
4563                      the numerical ID of the MIDI input device.  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4564                        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>
4565                        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
4566                        and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4567                        <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>
4568                        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.
4569  </p>  </p>
4570  <p>Possible Answers:  <p>Possible Answers:
4571  </p>  </p>
4572  <p></p>  <p>
4573                            </p>
4574  <blockquote class="text">  <blockquote class="text">
4575  <p>"OK" -  <p>"OK" -
4576                                  </p>                                  </p>
# Line 3586  Intellectual Property and Copyright Stat Line 4578  Intellectual Property and Copyright Stat
4578  <p>on success  <p>on success
4579  </p>  </p>
4580  </blockquote>  </blockquote>
4581                                
4582    
4583  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4584                                  </p>                                  </p>
# Line 3595  Intellectual Property and Copyright Stat Line 4588  Intellectual Property and Copyright Stat
4588                                      warning message                                      warning message
4589  </p>  </p>
4590  </blockquote>  </blockquote>
4591                                
4592    
4593  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4594                                  </p>                                  </p>
# Line 3602  Intellectual Property and Copyright Stat Line 4596  Intellectual Property and Copyright Stat
4596  <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
4597  </p>  </p>
4598  </blockquote>  </blockquote>
4599                                
4600    
4601  </blockquote>  </blockquote><p>
4602                        
4603    </p>
4604  <p>Examples:  <p>Examples:
4605  </p>  </p>
4606  <p></p>  <p>
4607                            </p>
4608  <blockquote class="text">  <blockquote class="text">
4609  <p>  <p>
4610  </p>  </p>
4611  </blockquote>  </blockquote><p>
4612                        
4613  <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>
4614    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4615    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4616    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4617    Setting MIDI input type</h3>
4618    
4619  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4620  </p>  </p>
4621  <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
4622                      channel by sending the following command:                      channel by sending the following command:
4623  </p>  </p>
4624  <p></p>  <p>
4625                            </p>
4626  <blockquote class="text">  <blockquote class="text">
4627  <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;
4628  </p>  </p>
4629  </blockquote>  </blockquote><p>
4630                        
4631    </p>
4632  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4633                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4634  </p>  </p>
4635  <p>Possible Answers:  <p>Possible Answers:
4636  </p>  </p>
4637  <p></p>  <p>
4638                            </p>
4639  <blockquote class="text">  <blockquote class="text">
4640  <p>"OK" -  <p>"OK" -
4641                                  </p>                                  </p>
# Line 3639  Intellectual Property and Copyright Stat Line 4643  Intellectual Property and Copyright Stat
4643  <p>on success  <p>on success
4644  </p>  </p>
4645  </blockquote>  </blockquote>
4646                                
4647    
4648  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4649                                  </p>                                  </p>
# Line 3648  Intellectual Property and Copyright Stat Line 4653  Intellectual Property and Copyright Stat
4653                                      warning message                                      warning message
4654  </p>  </p>
4655  </blockquote>  </blockquote>
4656                                
4657    
4658  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4659                                  </p>                                  </p>
# Line 3655  Intellectual Property and Copyright Stat Line 4661  Intellectual Property and Copyright Stat
4661  <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
4662  </p>  </p>
4663  </blockquote>  </blockquote>
4664                                
4665    
4666  </blockquote>  </blockquote><p>
4667                        
4668    </p>
4669  <p>Examples:  <p>Examples:
4670  </p>  </p>
4671  <p></p>  <p>
4672                            </p>
4673  <blockquote class="text">  <blockquote class="text">
4674  <p>  <p>
4675  </p>  </p>
4676  </blockquote>  </blockquote><p>
4677                        
4678  <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>
4679    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4680    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4681    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4682    Setting MIDI input port</h3>
4683    
4684  <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
4685                      channel by sending the following command:                      channel by sending the following command:
4686  </p>  </p>
4687  <p></p>  <p>
4688                            </p>
4689  <blockquote class="text">  <blockquote class="text">
4690  <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;
4691  </p>  </p>
4692  </blockquote>  </blockquote><p>
4693                        
4694    </p>
4695  <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
4696                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4697                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4698  </p>  </p>
4699  <p>Possible Answers:  <p>Possible Answers:
4700  </p>  </p>
4701  <p></p>  <p>
4702                            </p>
4703  <blockquote class="text">  <blockquote class="text">
4704  <p>"OK" -  <p>"OK" -
4705                                  </p>                                  </p>
# Line 3691  Intellectual Property and Copyright Stat Line 4707  Intellectual Property and Copyright Stat
4707  <p>on success  <p>on success
4708  </p>  </p>
4709  </blockquote>  </blockquote>
4710                                
4711    
4712  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4713                                  </p>                                  </p>
# Line 3700  Intellectual Property and Copyright Stat Line 4717  Intellectual Property and Copyright Stat
4717                                      warning message                                      warning message
4718  </p>  </p>
4719  </blockquote>  </blockquote>
4720                                
4721    
4722  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4723                                  </p>                                  </p>
# Line 3707  Intellectual Property and Copyright Stat Line 4725  Intellectual Property and Copyright Stat
4725  <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
4726  </p>  </p>
4727  </blockquote>  </blockquote>
4728                                
4729    
4730  </blockquote>  </blockquote><p>
4731                        
4732    </p>
4733  <p>Examples:  <p>Examples:
4734  </p>  </p>
4735  <p></p>  <p>
4736                            </p>
4737  <blockquote class="text">  <blockquote class="text">
4738  <p>  <p>
4739  </p>  </p>
4740  </blockquote>  </blockquote><p>
4741                        
4742  <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>
4743    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4744    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4745    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4746    Setting MIDI input channel</h3>
4747    
4748  <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
4749                      listen to by sending the following command:                      listen to by sending the following command:
4750  </p>  </p>
4751  <p></p>  <p>
4752                            </p>
4753  <blockquote class="text">  <blockquote class="text">
4754  <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;
4755  </p>  </p>
4756  </blockquote>  </blockquote><p>
4757                        
4758    </p>
4759  <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
4760                      &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
4761                      channels.                      channels.
4762  </p>  </p>
4763  <p>Possible Answers:  <p>Possible Answers:
4764  </p>  </p>
4765  <p></p>  <p>
4766                            </p>
4767  <blockquote class="text">  <blockquote class="text">
4768  <p>"OK" -  <p>"OK" -
4769                                  </p>                                  </p>
# Line 3743  Intellectual Property and Copyright Stat Line 4771  Intellectual Property and Copyright Stat
4771  <p>on success  <p>on success
4772  </p>  </p>
4773  </blockquote>  </blockquote>
4774                                
4775    
4776  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4777                                  </p>                                  </p>
# Line 3752  Intellectual Property and Copyright Stat Line 4781  Intellectual Property and Copyright Stat
4781                                      warning message                                      warning message
4782  </p>  </p>
4783  </blockquote>  </blockquote>
4784                                
4785    
4786  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4787                                  </p>                                  </p>
# Line 3759  Intellectual Property and Copyright Stat Line 4789  Intellectual Property and Copyright Stat
4789  <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
4790  </p>  </p>
4791  </blockquote>  </blockquote>
4792                                
4793    
4794  </blockquote>  </blockquote><p>
4795                        
4796    </p>
4797  <p>Examples:  <p>Examples:
4798  </p>  </p>
4799  <p></p>  <p>
4800                            </p>
4801  <blockquote class="text">  <blockquote class="text">
4802  <p>  <p>
4803  </p>  </p>
4804  </blockquote>  </blockquote><p>
4805                        
4806  <a name="rfc.section.5.4.21"></a><h4><a name="SET CHANNEL VOLUME">5.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4807    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4808    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4809    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4810    Setting channel volume</h3>
4811    
4812  <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
4813                      the following command:                      the following command:
4814  </p>  </p>
4815  <p></p>  <p>
4816                            </p>
4817  <blockquote class="text">  <blockquote class="text">
4818  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4819  </p>  </p>
4820  </blockquote>  </blockquote><p>
4821                        
4822    </p>
4823  <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
4824                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4825                      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 4827  Intellectual Property and Copyright Stat
4827  </p>  </p>
4828  <p>Possible Answers:  <p>Possible Answers:
4829  </p>  </p>
4830  <p></p>  <p>
4831                            </p>
4832  <blockquote class="text">  <blockquote class="text">
4833  <p>"OK" -  <p>"OK" -
4834                                  </p>                                  </p>
# Line 3796  Intellectual Property and Copyright Stat Line 4836  Intellectual Property and Copyright Stat
4836  <p>on success  <p>on success
4837  </p>  </p>
4838  </blockquote>  </blockquote>
4839                                
4840    
4841  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4842                                  </p>                                  </p>
# Line 3805  Intellectual Property and Copyright Stat Line 4846  Intellectual Property and Copyright Stat
4846                                      warning message                                      warning message
4847  </p>  </p>
4848  </blockquote>  </blockquote>
4849                                
4850    
4851  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4852                                  </p>                                  </p>
# Line 3812  Intellectual Property and Copyright Stat Line 4854  Intellectual Property and Copyright Stat
4854  <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
4855  </p>  </p>
4856  </blockquote>  </blockquote>
4857                                
4858    
4859    </blockquote><p>
4860                        
4861    </p>
4862    <p>Examples:
4863    </p>
4864    <p>
4865                            </p>
4866    <blockquote class="text">
4867    <p>
4868    </p>
4869    </blockquote><p>
4870                        
4871    </p>
4872    <a name="SET CHANNEL MUTE"></a><br /><hr />
4873    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4874    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4875    Muting a sampler channel</h3>
4876    
4877    <p>The front-end can mute/unmute a specific sampler
4878                        channel by sending the following command:
4879    </p>
4880    <p>
4881                            </p>
4882    <blockquote class="text">
4883    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4884    </p>
4885    </blockquote><p>
4886                        
4887    </p>
4888    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4889                        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>
4890                        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
4891                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4892                        to unmute the channel.
4893    </p>
4894    <p>Possible Answers:
4895    </p>
4896    <p>
4897                            </p>
4898    <blockquote class="text">
4899    <p>"OK" -
4900                                    </p>
4901    <blockquote class="text">
4902    <p>on success
4903    </p>
4904    </blockquote>
4905                                
4906    
4907    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4908                                    </p>
4909    <blockquote class="text">
4910    <p>if the channel was muted/unmuted, but there are noteworthy
4911                                        issue(s) related, providing an appropriate warning code and
4912                                        warning message
4913    </p>
4914    </blockquote>
4915                                
4916    
4917    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4918                                    </p>
4919    <blockquote class="text">
4920    <p>in case it failed, providing an appropriate error code and error message
4921    </p>
4922  </blockquote>  </blockquote>
4923                                
4924    
4925    </blockquote><p>
4926                        
4927    </p>
4928  <p>Examples:  <p>Examples:
4929  </p>  </p>
4930  <p></p>  <p>
4931                            </p>
4932  <blockquote class="text">  <blockquote class="text">
4933  <p>  <p>
4934  </p>  </p>
4935    </blockquote><p>
4936                        
4937    </p>
4938    <a name="SET CHANNEL SOLO"></a><br /><hr />
4939    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4940    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4941    Soloing a sampler channel</h3>
4942    
4943    <p>The front-end can solo/unsolo a specific sampler channel
4944                        by sending the following command:
4945    </p>
4946    <p>
4947                            </p>
4948    <blockquote class="text">
4949    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4950    </p>
4951    </blockquote><p>
4952                        
4953    </p>
4954    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4955                        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>
4956                        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
4957                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4958                        to unsolo the channel.
4959    </p>
4960    <p>Possible Answers:
4961    </p>
4962    <p>
4963                            </p>
4964    <blockquote class="text">
4965    <p>"OK" -
4966                                    </p>
4967    <blockquote class="text">
4968    <p>on success
4969    </p>
4970    </blockquote>
4971                                
4972    
4973    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4974                                    </p>
4975    <blockquote class="text">
4976    <p>if the channel was soloed/unsoloed, but there are noteworthy
4977                                        issue(s) related, providing an appropriate warning code and
4978                                        warning message
4979    </p>
4980  </blockquote>  </blockquote>
4981                                
4982    
4983  <a name="rfc.section.5.4.22"></a><h4><a name="RESET CHANNEL">5.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4984                                    </p>
4985    <blockquote class="text">
4986    <p>in case it failed, providing an appropriate error code and error message
4987    </p>
4988    </blockquote>
4989                                
4990    
4991  <p>The front-end can reset a particular sampler channel by sending the following command:  </blockquote><p>
4992                        
4993    </p>
4994    <p>Examples:
4995  </p>  </p>
4996  <p></p>  <p>
4997                            </p>
4998  <blockquote class="text">  <blockquote class="text">
4999  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>
5000    </p>
5001    </blockquote><p>
5002                        
5003    </p>
5004    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
5005    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5006    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
5007    Assigning a MIDI instrument map to a sampler channel</h3>
5008    
5009    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5010                        by sending the following command:
5011    </p>
5012    <p>
5013                            </p>
5014    <blockquote class="text">
5015    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5016    </p>
5017    </blockquote><p>
5018                        
5019    </p>
5020    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5021                        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>
5022                        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
5023                        &lt;map&gt; can have the following possibilites:
5024    </p>
5025    <p>
5026                            </p>
5027    <blockquote class="text">
5028    <p>"NONE" -
5029                                    </p>
5030    <blockquote class="text">
5031    <p>This is the default setting. In this case
5032                                        the sampler channel is not assigned any MIDI
5033                                        instrument map and thus will ignore all MIDI
5034                                        program change messages.
5035    </p>
5036    </blockquote>
5037                                
5038    
5039    <p>"DEFAULT" -
5040                                    </p>
5041    <blockquote class="text">
5042    <p>The sampler channel will always use the
5043                                        default MIDI instrument map to handle MIDI
5044                                        program change messages.
5045    </p>
5046    </blockquote>
5047                                
5048    
5049    <p>numeric ID -
5050                                    </p>
5051    <blockquote class="text">
5052    <p>You can assign a specific MIDI instrument map
5053                                        by replacing &lt;map&gt; with the respective numeric
5054                                        ID of the MIDI instrument map as returned by the
5055                                        <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>
5056                                        command. Once that map will be deleted, the sampler
5057                                        channel would fall back to "NONE".
5058    </p>
5059    </blockquote>
5060                                
5061    
5062    </blockquote><p>
5063                        
5064    </p>
5065    <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>
5066                        for details regarding MIDI instrument mapping.
5067    </p>
5068    <p>Possible Answers:
5069    </p>
5070    <p>
5071                            </p>
5072    <blockquote class="text">
5073    <p>"OK" -
5074                                    </p>
5075    <blockquote class="text">
5076    <p>on success
5077    </p>
5078    </blockquote>
5079                                
5080    
5081    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5082                                    </p>
5083    <blockquote class="text">
5084    <p>in case it failed, providing an appropriate error code and error message
5085  </p>  </p>
5086  </blockquote>  </blockquote>
5087                                
5088    
5089    </blockquote><p>
5090                        
5091    </p>
5092    <p>Examples:
5093    </p>
5094    <p>
5095                            </p>
5096    <blockquote class="text">
5097    <p>
5098    </p>
5099    </blockquote><p>
5100                        
5101    </p>
5102    <a name="CREATE FX_SEND"></a><br /><hr />
5103    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5104    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5105    Adding an effect send to a sampler channel</h3>
5106    
5107    <p>The front-end can create an additional effect send on a specific sampler channel
5108                        by sending the following command:
5109    </p>
5110    <p>
5111                            </p>
5112    <blockquote class="text">
5113    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5114    </p>
5115    </blockquote><p>
5116                        
5117    </p>
5118    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5119                        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>
5120                        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
5121                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5122                        is a number between 0..127 defining the MIDI controller which can alter the
5123                        effect send level and &lt;name&gt; is an optional argument defining a name
5124                        for the effect send entity. The name does not have to be unique, but MUST be
5125                        encapsulated into apostrophes and supports escape sequences as described in chapter
5126                        "<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>".
5127    </p>
5128    <p>By default, that is as initial routing, the effect send's audio channels
5129                        are automatically routed to the last audio channels of the sampler channel's
5130                        audio output device, that way you can i.e. first increase the amount of audio
5131                        channels on the audio output device for having dedicated effect send output
5132                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5133                        be picked. You can alter the destination channels however with
5134                        <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>.
5135                        
5136    </p>
5137    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5138                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5139                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5140                        the voices and route the audio signal afterwards to the master outputs and effect send
5141                        outputs (along with their respective effect send levels). A sampler channel without effect
5142                        sends however can mix its voices directly into the audio output devices's audio buffers
5143                        and is thus faster.
5144                        
5145    </p>
5146    <p>Possible Answers:
5147    </p>
5148    <p>
5149                            </p>
5150    <blockquote class="text">
5151    <p>"OK[&lt;fx-send-id&gt;]" -
5152                                    </p>
5153    <blockquote class="text">
5154    <p>in case a new effect send could be added to the
5155                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5156                                        unique ID of the newly created effect send entity
5157    </p>
5158    </blockquote>
5159                                
5160    
5161    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5162                                    </p>
5163    <blockquote class="text">
5164    <p>when a new effect send could not be added, i.e.
5165                                        due to invalid parameters
5166    </p>
5167    </blockquote>
5168                                
5169    
5170    </blockquote><p>
5171                        
5172    </p>
5173    <p>Examples:
5174    </p>
5175    <p>
5176                            </p>
5177    <blockquote class="text">
5178    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5179    </p>
5180    <p>S: "OK[0]"
5181    </p>
5182    </blockquote><p>
5183                        
5184    </p>
5185    <p>
5186                            </p>
5187    <blockquote class="text">
5188    <p>C: "CREATE FX_SEND 0 93"
5189    </p>
5190    <p>S: "OK[1]"
5191    </p>
5192    </blockquote><p>
5193                        
5194    </p>
5195    <a name="DESTROY FX_SEND"></a><br /><hr />
5196    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5197    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5198    Removing an effect send from a sampler channel</h3>
5199    
5200    <p>The front-end can remove an existing effect send on a specific sampler channel
5201                        by sending the following command:
5202    </p>
5203    <p>
5204                            </p>
5205    <blockquote class="text">
5206    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5207    </p>
5208    </blockquote><p>
5209                        
5210    </p>
5211    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5212                        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>
5213                        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
5214                        sampler channel from which the effect send should be removed from and
5215                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5216                        <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>
5217                        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.
5218    </p>
5219    <p>Possible Answers:
5220    </p>
5221    <p>
5222                            </p>
5223    <blockquote class="text">
5224    <p>"OK" -
5225                                    </p>
5226    <blockquote class="text">
5227    <p>on success
5228    </p>
5229    </blockquote>
5230                                
5231    
5232    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5233                                    </p>
5234    <blockquote class="text">
5235    <p>in case it failed, providing an appropriate error code and
5236                                        error message
5237    </p>
5238    </blockquote>
5239                                
5240    
5241    </blockquote><p>
5242                        
5243    </p>
5244    <p>Example:
5245    </p>
5246    <p>
5247                            </p>
5248    <blockquote class="text">
5249    <p>C: "DESTROY FX_SEND 0 0"
5250    </p>
5251    <p>S: "OK"
5252    </p>
5253    </blockquote><p>
5254                        
5255    </p>
5256    <a name="GET FX_SENDS"></a><br /><hr />
5257    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5258    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5259    Getting amount of effect sends on a sampler channel</h3>
5260    
5261    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5262                        by sending the following command:
5263    </p>
5264    <p>
5265                            </p>
5266    <blockquote class="text">
5267    <p>GET FX_SENDS &lt;sampler-channel&gt;
5268    </p>
5269    </blockquote><p>
5270                        
5271    </p>
5272    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5273                        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>
5274                        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.
5275    </p>
5276    <p>Possible Answers:
5277    </p>
5278    <p>
5279                            </p>
5280    <blockquote class="text">
5281    <p>The sampler will answer by returning the number of effect
5282                                sends on the given sampler channel.
5283    </p>
5284    </blockquote><p>
5285                        
5286    </p>
5287    <p>Example:
5288    </p>
5289    <p>
5290                            </p>
5291    <blockquote class="text">
5292    <p>C: "GET FX_SENDS 0"
5293    </p>
5294    <p>S: "2"
5295    </p>
5296    </blockquote><p>
5297                        
5298    </p>
5299    <a name="LIST FX_SENDS"></a><br /><hr />
5300    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5301    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5302    Listing all effect sends on a sampler channel</h3>
5303    
5304    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5305                        by sending the following command:
5306    </p>
5307    <p>
5308                            </p>
5309    <blockquote class="text">
5310    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5311    </p>
5312    </blockquote><p>
5313                        
5314    </p>
5315    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5316                        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>
5317                        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.
5318    </p>
5319    <p>Possible Answers:
5320    </p>
5321    <p>
5322                            </p>
5323    <blockquote class="text">
5324    <p>The sampler will answer by returning a comma separated list
5325                                with all effect sends' numerical IDs on the given sampler
5326                                channel.
5327    </p>
5328    </blockquote><p>
5329                        
5330    </p>
5331    <p>Examples:
5332    </p>
5333    <p>
5334                            </p>
5335    <blockquote class="text">
5336    <p>C: "LIST FX_SENDS 0"
5337    </p>
5338    <p>S: "0,1"
5339    </p>
5340    </blockquote><p>
5341                        
5342    </p>
5343    <p>
5344                            </p>
5345    <blockquote class="text">
5346    <p>C: "LIST FX_SENDS 1"
5347    </p>
5348    <p>S: ""
5349    </p>
5350    </blockquote><p>
5351                        
5352    </p>
5353    <a name="GET FX_SEND INFO"></a><br /><hr />
5354    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5355    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5356    Getting effect send information</h3>
5357    
5358    <p>The front-end can ask for the current settings of an effect send entity
5359                        by sending the following command:
5360    </p>
5361    <p>
5362                            </p>
5363    <blockquote class="text">
5364    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5365    </p>
5366    </blockquote><p>
5367                        
5368    </p>
5369    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5370                        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>
5371                        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
5372                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5373                        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>
5374                        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.
5375                      
5376    </p>
5377    <p>Possible Answers:
5378    </p>
5379    <p>
5380                            </p>
5381    <blockquote class="text">
5382    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5383                                Each answer line begins with the settings category name
5384                                followed by a colon and then a space character &lt;SP&gt; and finally
5385                                the info character string to that setting category. At the
5386                                moment the following categories are defined:
5387    </p>
5388    <p>
5389                                    </p>
5390    <blockquote class="text">
5391    <p>NAME -
5392                                            </p>
5393    <blockquote class="text">
5394    <p>name of the effect send entity
5395                                                (note that this character string may contain
5396                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5397    </p>
5398    </blockquote>
5399                                        
5400    
5401    <p>MIDI_CONTROLLER -
5402                                            </p>
5403    <blockquote class="text">
5404    <p>a value between 0 and 127 reflecting the MIDI controller
5405                                                which is able to modify the effect send's send level
5406    </p>
5407    </blockquote>
5408                                        
5409    
5410    <p>LEVEL -
5411                                            </p>
5412    <blockquote class="text">
5413    <p>optionally dotted number reflecting the effect send's
5414                                                current send level (where a value &lt; 1.0 means attenuation
5415                                                and a value > 1.0 means amplification)
5416    </p>
5417    </blockquote>
5418                                        
5419    
5420    <p>AUDIO_OUTPUT_ROUTING -
5421                                            </p>
5422    <blockquote class="text">
5423    <p>comma separated list which reflects to which audio
5424                                                channel of the selected audio output device each
5425                                                effect send output channel is routed to, e.g. "0,3" would
5426                                                mean the effect send's output channel 0 is routed to channel
5427                                                0 of the audio output device and the effect send's output
5428                                                channel 1 is routed to the channel 3 of the audio
5429                                                output device (see
5430                                                <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>
5431                                                for details)
5432    </p>
5433    </blockquote>
5434                                        
5435    
5436    </blockquote>
5437                                
5438    
5439    </blockquote><p>
5440                        
5441    </p>
5442    <p>The mentioned fields above don't have to be in particular order.
5443    </p>
5444    <p>Example:
5445    </p>
5446    <p>
5447                            </p>
5448    <blockquote class="text">
5449    <p>C: "GET FX_SEND INFO 0 0"
5450    </p>
5451    <p>S: "NAME: Reverb Send"
5452    </p>
5453    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5454    </p>
5455    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5456    </p>
5457    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5458    </p>
5459    <p>&nbsp;&nbsp;&nbsp;"."
5460    </p>
5461    </blockquote><p>
5462                        
5463    </p>
5464    <a name="SET FX_SEND NAME"></a><br /><hr />
5465    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5466    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5467    Changing effect send's name</h3>
5468    
5469    <p>The front-end can alter the current name of an effect
5470                        send entity by sending the following command:
5471    </p>
5472    <p>
5473                            </p>
5474    <blockquote class="text">
5475    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5476    </p>
5477    </blockquote><p>
5478                        
5479    </p>
5480    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5481                        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>
5482                        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,
5483                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5484                        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>
5485                        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
5486                        &lt;name&gt; is the new name of the effect send entity, which
5487                        does not have to be unique (name MUST be encapsulated into apostrophes
5488                        and supports escape sequences as described in chapter
5489                        "<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>").
5490                        
5491    </p>
5492    <p>Possible Answers:
5493    </p>
5494    <p>
5495                            </p>
5496    <blockquote class="text">
5497    <p>"OK" -
5498                                    </p>
5499    <blockquote class="text">
5500    <p>on success
5501    </p>
5502    </blockquote>
5503                                
5504    
5505    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5506                                    </p>
5507    <blockquote class="text">
5508    <p>in case it failed, providing an appropriate error code and error message
5509    </p>
5510    </blockquote>
5511                                
5512    
5513    </blockquote><p>
5514                        
5515    </p>
5516    <p>Example:
5517    </p>
5518    <p>
5519                            </p>
5520    <blockquote class="text">
5521    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5522    </p>
5523    <p>S: "OK"
5524    </p>
5525    </blockquote><p>
5526                        
5527    </p>
5528    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5529    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5530    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5531    Altering effect send's audio routing</h3>
5532    
5533    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5534                        sampler channel by sending the following command:
5535    </p>
5536    <p>
5537                            </p>
5538    <blockquote class="text">
5539    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5540    </p>
5541    </blockquote><p>
5542                        
5543    </p>
5544    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5545                        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>
5546                        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,
5547                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5548                        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>
5549                        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,
5550                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5551                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5552                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5553                        should be routed to.
5554    </p>
5555    <p>Note that effect sends can only route audio to the same audio output
5556                        device as assigned to the effect send's sampler channel. Also note that an
5557                        effect send entity does always have exactly as much audio channels as its
5558                        sampler channel. So if the sampler channel is stereo, the effect send does
5559                        have two audio channels as well. Also keep in mind that the amount of audio
5560                        channels on a sampler channel might be dependant not only to the deployed
5561                        sampler engine on the sampler channel, but also dependant to the instrument
5562                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5563                        send into a mono one by simply altering its audio routing appropriately.
5564    </p>
5565    <p>Possible Answers:
5566    </p>
5567    <p>
5568                            </p>
5569    <blockquote class="text">
5570    <p>"OK" -
5571                                    </p>
5572    <blockquote class="text">
5573    <p>on success
5574    </p>
5575    </blockquote>
5576                                
5577    
5578    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5579                                    </p>
5580    <blockquote class="text">
5581    <p>if audio output channel was set, but there are noteworthy
5582                                        issue(s) related, providing an appropriate warning code and
5583                                        warning message
5584    </p>
5585    </blockquote>
5586                                
5587    
5588    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5589                                    </p>
5590    <blockquote class="text">
5591    <p>in case it failed, providing an appropriate error code and error message
5592    </p>
5593    </blockquote>
5594                                
5595    
5596    </blockquote><p>
5597                        
5598    </p>
5599    <p>Example:
5600    </p>
5601    <p>
5602                            </p>
5603    <blockquote class="text">
5604    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5605    </p>
5606    <p>S: "OK"
5607    </p>
5608    </blockquote><p>
5609                        
5610    </p>
5611    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5612    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5613    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5614    Altering effect send's MIDI controller</h3>
5615    
5616    <p>The front-end can alter the MIDI controller of an effect
5617                        send entity by sending the following command:
5618    </p>
5619    <p>
5620                            </p>
5621    <blockquote class="text">
5622    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5623    </p>
5624    </blockquote><p>
5625                        
5626    </p>
5627    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5628                        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>
5629                        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,
5630                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5631                        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>
5632                        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
5633                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5634                        able to modify the effect send's send level.
5635    </p>
5636    <p>Possible Answers:
5637    </p>
5638    <p>
5639                            </p>
5640    <blockquote class="text">
5641    <p>"OK" -
5642                                    </p>
5643    <blockquote class="text">
5644    <p>on success
5645    </p>
5646    </blockquote>
5647                                
5648    
5649    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5650                                    </p>
5651    <blockquote class="text">
5652    <p>if MIDI controller was set, but there are noteworthy
5653                                        issue(s) related, providing an appropriate warning code and
5654                                        warning message
5655    </p>
5656    </blockquote>
5657                                
5658    
5659    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5660                                    </p>
5661    <blockquote class="text">
5662    <p>in case it failed, providing an appropriate error code and error message
5663    </p>
5664    </blockquote>
5665                                
5666    
5667    </blockquote><p>
5668                        
5669    </p>
5670    <p>Example:
5671    </p>
5672    <p>
5673                            </p>
5674    <blockquote class="text">
5675    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5676    </p>
5677    <p>S: "OK"
5678    </p>
5679    </blockquote><p>
5680                        
5681    </p>
5682    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5683    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5684    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5685    Altering effect send's send level</h3>
5686    
5687    <p>The front-end can alter the current send level of an effect
5688                        send entity by sending the following command:
5689    </p>
5690    <p>
5691                            </p>
5692    <blockquote class="text">
5693    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5694    </p>
5695    </blockquote><p>
5696                        
5697    </p>
5698    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5699                        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>
5700                        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,
5701                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5702                        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>
5703                        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
5704                        &lt;volume&gt; is an optionally dotted positive number (a value
5705                        smaller than 1.0 means attenuation, whereas a value greater than
5706                        1.0 means amplification) reflecting the new send level.
5707    </p>
5708    <p>Possible Answers:
5709    </p>
5710    <p>
5711                            </p>
5712    <blockquote class="text">
5713    <p>"OK" -
5714                                    </p>
5715    <blockquote class="text">
5716    <p>on success
5717    </p>
5718    </blockquote>
5719                                
5720    
5721    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5722                                    </p>
5723    <blockquote class="text">
5724    <p>if new send level was set, but there are noteworthy
5725                                        issue(s) related, providing an appropriate warning code and
5726                                        warning message
5727    </p>
5728    </blockquote>
5729                                
5730    
5731    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5732                                    </p>
5733    <blockquote class="text">
5734    <p>in case it failed, providing an appropriate error code and error message
5735    </p>
5736    </blockquote>
5737                                
5738    
5739    </blockquote><p>
5740                        
5741    </p>
5742    <p>Example:
5743    </p>
5744    <p>
5745                            </p>
5746    <blockquote class="text">
5747    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5748    </p>
5749    <p>S: "OK"
5750    </p>
5751    </blockquote><p>
5752                        
5753    </p>
5754    <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5755    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5756    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5757    Sending MIDI messages to sampler channel</h3>
5758    
5759    <p>The front-end can send MIDI events to specific sampler channel
5760                        by sending the following command:
5761    </p>
5762    <p>
5763                            </p>
5764    <blockquote class="text">
5765    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5766    </p>
5767    </blockquote><p>
5768                        
5769    </p>
5770    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5771                        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>
5772                        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,
5773                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5774                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5775    </p>
5776    <p>
5777                            </p>
5778    <blockquote class="text">
5779    <p>"NOTE_ON" -
5780                                    </p>
5781    <blockquote class="text">
5782    <p>For turning on MIDI notes, where &lt;arg1&gt;
5783                                        specifies the key number and &lt;arg2&gt; the velocity
5784                                        as described in the MIDI specification.
5785    </p>
5786    </blockquote>
5787                                
5788    
5789    <p>"NOTE_OFF" -
5790                                    </p>
5791    <blockquote class="text">
5792    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
5793                                        specifies the key number and &lt;arg2&gt; the velocity
5794                                        as described in the MIDI specification.
5795    </p>
5796    </blockquote>
5797                                
5798    
5799    </blockquote><p>
5800                        
5801    </p>
5802    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
5803                        and no realtime guarantee whatsoever will be made!
5804    </p>
5805    <p>Possible Answers:
5806    </p>
5807    <p>
5808                            </p>
5809    <blockquote class="text">
5810    <p>"OK" -
5811                                    </p>
5812    <blockquote class="text">
5813    <p>on success
5814    </p>
5815    </blockquote>
5816                                
5817    
5818    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5819                                    </p>
5820    <blockquote class="text">
5821    <p>in case it failed, providing an appropriate error code and error message
5822    </p>
5823    </blockquote>
5824                                
5825    
5826    </blockquote><p>
5827                        
5828    </p>
5829    <p>Example:
5830    </p>
5831    <p>
5832                            </p>
5833    <blockquote class="text">
5834    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
5835    </p>
5836    <p>S: "OK"
5837    </p>
5838    </blockquote><p>
5839                        
5840    </p>
5841    <a name="RESET CHANNEL"></a><br /><hr />
5842    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5843    <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5844    Resetting a sampler channel</h3>
5845    
5846    <p>The front-end can reset a particular sampler channel by sending the following command:
5847    </p>
5848    <p>
5849                            </p>
5850    <blockquote class="text">
5851    <p>RESET CHANNEL &lt;sampler-channel&gt;
5852    </p>
5853    </blockquote><p>
5854                        
5855    </p>
5856  <p>  <p>
5857                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
5858                      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 5861  Intellectual Property and Copyright Stat
5861  </p>  </p>
5862  <p>Possible Answers:  <p>Possible Answers:
5863  </p>  </p>
5864  <p></p>  <p>
5865                            </p>
5866  <blockquote class="text">  <blockquote class="text">
5867  <p>"OK" -  <p>"OK" -
5868                                  </p>                                  </p>
# Line 3849  Intellectual Property and Copyright Stat Line 5870  Intellectual Property and Copyright Stat
5870  <p>on success  <p>on success
5871  </p>  </p>
5872  </blockquote>  </blockquote>
5873                                
5874    
5875  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5876                                  </p>                                  </p>
# Line 3858  Intellectual Property and Copyright Stat Line 5880  Intellectual Property and Copyright Stat
5880                                      message                                      message
5881  </p>  </p>
5882  </blockquote>  </blockquote>
5883                                
5884    
5885  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5886                                  </p>                                  </p>
# Line 3866  Intellectual Property and Copyright Stat Line 5889  Intellectual Property and Copyright Stat
5889                                      error message                                      error message
5890  </p>  </p>
5891  </blockquote>  </blockquote>
5892                                
5893    
5894  </blockquote>  </blockquote><p>
5895                        
5896    </p>
5897  <p>Examples:  <p>Examples:
5898  </p>  </p>
5899  <p></p>  <p>
5900                            </p>
5901  <blockquote class="text">  <blockquote class="text">
5902  <p>  <p>
5903  </p>  </p>
5904  </blockquote>  </blockquote><p>
5905                        
5906  <a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a>&nbsp;Controlling connection</h4>  </p>
5907    <a name="anchor12"></a><br /><hr />
5908    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5909    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5910    Controlling connection</h3>
5911    
5912  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5913  </p>  </p>
5914  <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 />
5915    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5916    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5917    Register front-end for receiving event messages</h3>
5918    
5919  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5920                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
5921  </p>  </p>
5922  <p></p>  <p>
5923                            </p>
5924  <blockquote class="text">  <blockquote class="text">
5925  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
5926  </p>  </p>
5927  </blockquote>  </blockquote><p>
5928                        
5929    </p>
5930  <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
5931                      client wants to subscribe to.                      client wants to subscribe to.
5932  </p>  </p>
5933  <p>Possible Answers:  <p>Possible Answers:
5934  </p>  </p>
5935  <p></p>  <p>
5936                            </p>
5937  <blockquote class="text">  <blockquote class="text">
5938  <p>"OK" -  <p>"OK" -
5939                                  </p>                                  </p>
# Line 3905  Intellectual Property and Copyright Stat Line 5941  Intellectual Property and Copyright Stat
5941  <p>on success  <p>on success
5942  </p>  </p>
5943  </blockquote>  </blockquote>
5944                                
5945    
5946  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5947                                  </p>                                  </p>
# Line 3914  Intellectual Property and Copyright Stat Line 5951  Intellectual Property and Copyright Stat
5951                                      warning message                                      warning message
5952  </p>  </p>
5953  </blockquote>  </blockquote>
5954                                
5955    
5956  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5957                                  </p>                                  </p>
# Line 3922  Intellectual Property and Copyright Stat Line 5960  Intellectual Property and Copyright Stat
5960                                      error message                                      error message
5961  </p>  </p>
5962  </blockquote>  </blockquote>
5963                                
5964    
5965  </blockquote>  </blockquote><p>
5966                        
5967    </p>
5968  <p>Examples:  <p>Examples:
5969  </p>  </p>
5970  <p></p>  <p>
5971                            </p>
5972  <blockquote class="text">  <blockquote class="text">
5973  <p>  <p>
5974  </p>  </p>
5975  </blockquote>  </blockquote><p>
5976                        
5977  <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>
5978    <a name="UNSUBSCRIBE"></a><br /><hr />
5979    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5980    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5981    Unregister front-end for not receiving event messages</h3>
5982    
5983  <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
5984                      messages anymore by sending the following command:                      messages anymore by sending the following command:
5985  </p>  </p>
5986  <p></p>  <p>
5987                            </p>
5988  <blockquote class="text">  <blockquote class="text">
5989  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
5990  </p>  </p>
5991  </blockquote>  </blockquote><p>
5992                        
5993    </p>
5994  <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
5995                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
5996  </p>  </p>
5997  <p>Possible Answers:  <p>Possible Answers:
5998  </p>  </p>
5999  <p></p>  <p>
6000                            </p>
6001  <blockquote class="text">  <blockquote class="text">
6002  <p>"OK" -  <p>"OK" -
6003                                  </p>                                  </p>
# Line 3957  Intellectual Property and Copyright Stat Line 6005  Intellectual Property and Copyright Stat
6005  <p>on success  <p>on success
6006  </p>  </p>
6007  </blockquote>  </blockquote>
6008                                
6009    
6010  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6011                                  </p>                                  </p>
# Line 3966  Intellectual Property and Copyright Stat Line 6015  Intellectual Property and Copyright Stat
6015                                      warning message                                      warning message
6016  </p>  </p>
6017  </blockquote>  </blockquote>
6018                                
6019    
6020  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6021                                  </p>                                  </p>
# Line 3974  Intellectual Property and Copyright Stat Line 6024  Intellectual Property and Copyright Stat
6024                                      error message                                      error message
6025  </p>  </p>
6026  </blockquote>  </blockquote>
6027                                
6028    
6029  </blockquote>  </blockquote><p>
6030                        
6031    </p>
6032  <p>Examples:  <p>Examples:
6033  </p>  </p>
6034  <p></p>  <p>
6035                            </p>
6036  <blockquote class="text">  <blockquote class="text">
6037  <p>  <p>
6038  </p>  </p>
6039  </blockquote>  </blockquote><p>
6040                        
6041  <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>
6042    <a name="SET ECHO"></a><br /><hr />
6043    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6044    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
6045    Enable or disable echo of commands</h3>
6046    
6047  <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:
6048  </p>  </p>
6049  <p></p>  <p>
6050                            </p>
6051  <blockquote class="text">  <blockquote class="text">
6052  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
6053  </p>  </p>
6054  </blockquote>  </blockquote><p>
6055                        
6056    </p>
6057  <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
6058                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
6059                      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 6064  Intellectual Property and Copyright Stat
6064  </p>  </p>
6065  <p>Possible Answers:  <p>Possible Answers:
6066  </p>  </p>
6067  <p></p>  <p>
6068                            </p>
6069  <blockquote class="text">  <blockquote class="text">
6070  <p>"OK" -  <p>"OK" -
6071                                  </p>                                  </p>
# Line 4013  Intellectual Property and Copyright Stat Line 6073  Intellectual Property and Copyright Stat
6073  <p>usually  <p>usually
6074  </p>  </p>
6075  </blockquote>  </blockquote>
6076                                
6077    
6078  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6079                                  </p>                                  </p>
# Line 4020  Intellectual Property and Copyright Stat Line 6081  Intellectual Property and Copyright Stat
6081  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
6082  </p>  </p>
6083  </blockquote>  </blockquote>
6084                                
6085    
6086  </blockquote>  </blockquote><p>
6087                        
6088    </p>
6089  <p>Examples:  <p>Examples:
6090  </p>  </p>
6091  <p></p>  <p>
6092                            </p>
6093  <blockquote class="text">  <blockquote class="text">
6094  <p>  <p>
6095  </p>  </p>
6096  </blockquote>  </blockquote><p>
6097                        
6098  <a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a>&nbsp;Close client connection</h4>  </p>
6099    <a name="QUIT"></a><br /><hr />
6100    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6101    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
6102    Close client connection</h3>
6103    
6104  <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:
6105  </p>  </p>
6106  <p></p>  <p>
6107                            </p>
6108  <blockquote class="text">  <blockquote class="text">
6109  <p>QUIT  <p>QUIT
6110  </p>  </p>
6111  </blockquote>  </blockquote><p>
6112                        
6113    </p>
6114  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
6115                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6116  </p>  </p>
6117  <a name="rfc.section.5.6"></a><h4><a name="anchor14">5.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
6118    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6119    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
6120    Global commands</h3>
6121    
6122  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6123  </p>  </p>
6124  <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 />
6125    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6126    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
6127    Current number of active voices</h3>
6128    
6129    <p>The front-end can ask for the current number of active voices on
6130                        the sampler by sending the following command:
6131    </p>
6132    <p>
6133                            </p>
6134    <blockquote class="text">
6135    <p>GET TOTAL_VOICE_COUNT
6136    </p>
6137    </blockquote><p>
6138                        
6139    </p>
6140    <p>Possible Answers:
6141    </p>
6142    <p>
6143                            </p>
6144    <blockquote class="text">
6145    <p>LinuxSampler will answer by returning the number of all active
6146                                voices on the sampler.
6147    </p>
6148    </blockquote><p>
6149                        
6150    </p>
6151    <a name="GET TOTAL_VOICE_COUNT_MAX"></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.2"></a><h3>6.6.2.&nbsp;
6154    Maximum amount of active voices</h3>
6155    
6156    <p>The front-end can ask for the maximum number of active voices
6157                        by sending the following command:
6158    </p>
6159    <p>
6160                            </p>
6161    <blockquote class="text">
6162    <p>GET TOTAL_VOICE_COUNT_MAX
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 returning the maximum number
6173                                of active voices.
6174    </p>
6175    </blockquote><p>
6176                        
6177    </p>
6178    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6179    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6180    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6181    Current number of active disk streams</h3>
6182    
6183    <p>The front-end can ask for the current number of active disk streams on
6184                        the sampler by sending the following command:
6185    </p>
6186    <p>
6187                            </p>
6188    <blockquote class="text">
6189    <p>GET TOTAL_STREAM_COUNT
6190    </p>
6191    </blockquote><p>
6192                        
6193    </p>
6194    <p>Possible Answers:
6195    </p>
6196    <p>
6197                            </p>
6198    <blockquote class="text">
6199    <p>LinuxSampler will answer by returning the number of all active
6200                                disk streams on the sampler.
6201    </p>
6202    </blockquote><p>
6203                        
6204    </p>
6205    <a name="RESET"></a><br /><hr />
6206    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6207    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6208    Reset sampler</h3>
6209    
6210  <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:
6211  </p>  </p>
6212  <p></p>  <p>
6213                            </p>
6214  <blockquote class="text">  <blockquote class="text">
6215  <p>RESET  <p>RESET
6216  </p>  </p>
6217    </blockquote><p>
6218                        
6219    </p>
6220    <p>Possible Answers:
6221    </p>
6222    <p>
6223                            </p>
6224    <blockquote class="text">
6225    <p>"OK" -
6226                                    </p>
6227    <blockquote class="text">
6228    <p>always
6229    </p>
6230    </blockquote>
6231                                
6232    
6233    </blockquote><p>
6234                        
6235    </p>
6236    <p>Examples:
6237    </p>
6238    <p>
6239                            </p>
6240    <blockquote class="text">
6241    <p>
6242    </p>
6243    </blockquote><p>
6244                        
6245    </p>
6246    <a name="GET SERVER INFO"></a><br /><hr />
6247    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6248    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6249    General sampler informations</h3>
6250    
6251    <p>The client can ask for general informations about the LinuxSampler
6252                           instance by sending the following command:
6253    </p>
6254    <p>
6255                            </p>
6256    <blockquote class="text">
6257    <p>GET SERVER INFO
6258    </p>
6259    </blockquote><p>
6260                        
6261    </p>
6262    <p>Possible Answers:
6263    </p>
6264    <p>
6265                            </p>
6266    <blockquote class="text">
6267    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6268                                   Each answer line begins with the information category name
6269                                   followed by a colon and then a space character &lt;SP&gt; and finally
6270                                   the info character string to that information category. At the
6271                                   moment the following categories are defined:
6272                                
6273    </p>
6274    <p>
6275                                    </p>
6276    <blockquote class="text">
6277    <p>DESCRIPTION -
6278                                            </p>
6279    <blockquote class="text">
6280    <p>arbitrary textual description about the sampler
6281                                                (note that the character string may contain
6282                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6283    </p>
6284    </blockquote>
6285                                        
6286    
6287    <p>VERSION -
6288                                            </p>
6289    <blockquote class="text">
6290    <p>version of the sampler
6291    </p>
6292    </blockquote>
6293                                        
6294    
6295    <p>PROTOCOL_VERSION -
6296                                            </p>
6297    <blockquote class="text">
6298    <p>version of the LSCP specification the sampler
6299                                                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)
6300    </p>
6301    </blockquote>
6302                                        
6303    
6304    <p>INSTRUMENTS_DB_SUPPORT -
6305                                            </p>
6306    <blockquote class="text">
6307    <p>either yes or no, specifies whether the
6308                                                sampler is build with instruments database support.
6309    </p>
6310    </blockquote>
6311                                        
6312    
6313    </blockquote>
6314                                
6315    
6316    </blockquote><p>
6317                        
6318    </p>
6319    <p>The mentioned fields above don't have to be in particular order.
6320                        Other fields might be added in future.
6321    </p>
6322    <a name="GET VOLUME"></a><br /><hr />
6323    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6324    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6325    Getting global volume attenuation</h3>
6326    
6327    <p>The client can ask for the current global sampler-wide volume
6328                        attenuation by sending the following command:
6329    </p>
6330    <p>
6331                            </p>
6332    <blockquote class="text">
6333    <p>GET VOLUME
6334    </p>
6335    </blockquote><p>
6336                        
6337    </p>
6338    <p>Possible Answers:
6339    </p>
6340    <p>
6341                            </p>
6342    <blockquote class="text">
6343    <p>The sampler will always answer by returning the optional
6344                                dotted floating point coefficient, reflecting the current
6345                                global volume attenuation.
6346                                
6347    </p>
6348    </blockquote><p>
6349                        
6350    </p>
6351    <p>Note: it is up to the respective sampler engine whether to obey
6352                        that global volume parameter or not, but in general all engines SHOULD
6353                        use this parameter.
6354    </p>
6355    <a name="SET VOLUME"></a><br /><hr />
6356    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6357    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6358    Setting global volume attenuation</h3>
6359    
6360    <p>The client can alter the current global sampler-wide volume
6361                        attenuation by sending the following command:
6362    </p>
6363    <p>
6364                            </p>
6365    <blockquote class="text">
6366    <p>SET VOLUME &lt;volume&gt;
6367    </p>
6368    </blockquote><p>
6369                        
6370    </p>
6371    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6372                       floating point value, reflecting the new global volume parameter.
6373                       This value might usually be in the range between 0.0 and 1.0, that
6374                       is for attenuating the overall volume.
6375    </p>
6376    <p>Possible Answers:
6377    </p>
6378    <p>
6379                            </p>
6380    <blockquote class="text">
6381    <p>"OK" -
6382                                    </p>
6383    <blockquote class="text">
6384    <p>on success
6385    </p>
6386    </blockquote>
6387                                
6388    
6389    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6390                                    </p>
6391    <blockquote class="text">
6392    <p>if the global volume was set, but there are noteworthy
6393                                        issue(s) related, providing an appropriate warning code and
6394                                        warning message
6395    </p>
6396    </blockquote>
6397                                
6398    
6399    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6400                                    </p>
6401    <blockquote class="text">
6402    <p>in case it failed, providing an appropriate error code and error message
6403    </p>
6404    </blockquote>
6405                                
6406    
6407    </blockquote><p>
6408                        
6409    </p>
6410    <a name="MIDI Instrument Mapping"></a><br /><hr />
6411    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6412    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6413    MIDI Instrument Mapping</h3>
6414    
6415    <p>The MIDI protocol provides a way to switch between instruments
6416                    by sending so called MIDI bank select and MIDI program change
6417                    messages which are essentially just numbers. The following commands
6418                    allow to actually map arbitrary MIDI bank select / program change
6419                    numbers with real instruments.
6420    </p>
6421    <p>The sampler allows to manage an arbitrary amount of MIDI
6422                    instrument maps which define which instrument to load on
6423                    which MIDI program change message.
6424    </p>
6425    <p>By default, that is when the sampler is launched, there is no
6426                    map, thus the sampler will simply ignore all program change
6427                    messages. The front-end has to explicitly create at least one
6428                    map, add entries to the map and tell the respective sampler
6429                    channel(s) which MIDI instrument map to use, so the sampler
6430                    knows how to react on a given program change message on the
6431                    respective sampler channel, that is by switching to the
6432                    respectively defined engine type and loading the respective
6433                    instrument. See command
6434                    <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>
6435                    for how to assign a MIDI instrument map to a sampler channel.
6436    </p>
6437    <p>Also note per MIDI specification a bank select message does not
6438                    cause to switch to another instrument. Instead when receiving a
6439                    bank select message the bank value will be stored and a subsequent
6440                    program change message (which may occur at any time) will finally
6441                    cause the sampler to switch to the respective instrument as
6442                    reflected by the current MIDI instrument map.
6443    </p>
6444    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6445    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6446    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6447    Create a new MIDI instrument map</h3>
6448    
6449    <p>The front-end can add a new MIDI instrument map by sending
6450                        the following command:
6451    </p>
6452    <p>
6453                            </p>
6454    <blockquote class="text">
6455    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6456    </p>
6457    </blockquote><p>
6458                        
6459    </p>
6460    <p>Where &lt;name&gt; is an optional argument allowing to
6461                        assign a custom name to the new map. MIDI instrument Map
6462                        names do not have to be unique, but MUST be encapsulated
6463                        into apostrophes and support escape sequences as described
6464                        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>".
6465                        
6466    </p>
6467    <p>Possible Answers:
6468    </p>
6469    <p>
6470                            </p>
6471    <blockquote class="text">
6472    <p>"OK[&lt;map&gt;]" -
6473                                    </p>
6474    <blockquote class="text">
6475    <p>in case a new MIDI instrument map could
6476                                        be added, where &lt;map&gt; reflects the
6477                                        unique ID of the newly created MIDI
6478                                        instrument map
6479    </p>
6480    </blockquote>
6481                                
6482    
6483    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6484                                    </p>
6485    <blockquote class="text">
6486    <p>when a new map could not be created, which
6487                                        might never occur in practice
6488    </p>
6489    </blockquote>
6490                                
6491    
6492    </blockquote><p>
6493                        
6494    </p>
6495    <p>Examples:
6496    </p>
6497    <p>
6498                            </p>
6499    <blockquote class="text">
6500    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6501    </p>
6502    <p>S: "OK[0]"
6503    </p>
6504    </blockquote><p>
6505                        
6506    </p>
6507    <p>
6508                            </p>
6509    <blockquote class="text">
6510    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6511    </p>
6512    <p>S: "OK[1]"
6513    </p>
6514    </blockquote><p>
6515                        
6516    </p>
6517    <p>
6518                            </p>
6519    <blockquote class="text">
6520    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6521    </p>
6522    <p>S: "OK[5]"
6523    </p>
6524    </blockquote><p>
6525                        
6526    </p>
6527    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6528    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6529    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6530    Delete one particular or all MIDI instrument maps</h3>
6531    
6532    <p>The front-end can delete a particular MIDI instrument map
6533                        by sending the following command:
6534    </p>
6535    <p>
6536                            </p>
6537    <blockquote class="text">
6538    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6539    </p>
6540    </blockquote><p>
6541                        
6542    </p>
6543    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6544                        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>
6545                        command.
6546    </p>
6547    <p>The front-end can delete all MIDI instrument maps by
6548                        sending the following command:
6549    </p>
6550    <p>
6551                            </p>
6552    <blockquote class="text">
6553    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6554    </p>
6555    </blockquote><p>
6556                        
6557    </p>
6558    <p>Possible Answers:
6559    </p>
6560    <p>
6561                            </p>
6562    <blockquote class="text">
6563    <p>"OK" -
6564                                    </p>
6565    <blockquote class="text">
6566    <p>in case the map(s) could be deleted
6567    </p>
6568    </blockquote>
6569                                
6570    
6571    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6572                                    </p>
6573    <blockquote class="text">
6574    <p>when the given map does not exist
6575    </p>
6576    </blockquote>
6577                                
6578    
6579    </blockquote><p>
6580                        
6581    </p>
6582    <p>Examples:
6583    </p>
6584    <p>
6585                            </p>
6586    <blockquote class="text">
6587    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6588    </p>
6589    <p>S: "OK"
6590    </p>
6591    </blockquote><p>
6592                        
6593    </p>
6594    <p>
6595                            </p>
6596    <blockquote class="text">
6597    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6598    </p>
6599    <p>S: "OK"
6600    </p>
6601    </blockquote><p>
6602                        
6603    </p>
6604    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6605    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6606    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6607    Get amount of existing MIDI instrument maps</h3>
6608    
6609    <p>The front-end can retrieve the current amount of MIDI
6610                        instrument maps by sending the following command:
6611    </p>
6612    <p>
6613                            </p>
6614    <blockquote class="text">
6615    <p>GET MIDI_INSTRUMENT_MAPS
6616    </p>
6617    </blockquote><p>
6618                        
6619    </p>
6620    <p>Possible Answers:
6621    </p>
6622    <p>
6623                            </p>
6624    <blockquote class="text">
6625    <p>The sampler will answer by returning the current
6626                                number of MIDI instrument maps.
6627    </p>
6628    </blockquote><p>
6629                        
6630    </p>
6631    <p>Example:
6632    </p>
6633    <p>
6634                            </p>
6635    <blockquote class="text">
6636    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6637    </p>
6638    <p>S: "2"
6639    </p>
6640    </blockquote><p>
6641                        
6642    </p>
6643    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6644    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6645    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6646    Getting all created MIDI instrument maps</h3>
6647    
6648    <p>The number of MIDI instrument maps can change on runtime. To get the
6649                        current list of MIDI instrument maps, the front-end can send the
6650                        following command:
6651    </p>
6652    <p>
6653                            </p>
6654    <blockquote class="text">
6655    <p>LIST MIDI_INSTRUMENT_MAPS
6656    </p>
6657    </blockquote><p>
6658                        
6659    </p>
6660    <p>Possible Answers:
6661    </p>
6662    <p>
6663                            </p>
6664    <blockquote class="text">
6665    <p>The sampler will answer by returning a comma separated list
6666                                with all MIDI instrument maps' numerical IDs.
6667    </p>
6668    </blockquote><p>
6669                        
6670    </p>
6671    <p>Example:
6672    </p>
6673    <p>
6674                            </p>
6675    <blockquote class="text">
6676    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6677    </p>
6678    <p>S: "0,1,5,12"
6679    </p>
6680    </blockquote><p>
6681                        
6682    </p>
6683    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6684    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6685    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6686    Getting MIDI instrument map information</h3>
6687    
6688    <p>The front-end can ask for the current settings of a MIDI
6689                        instrument map by sending the following command:
6690    </p>
6691    <p>
6692                            </p>
6693    <blockquote class="text">
6694    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6695    </p>
6696    </blockquote><p>
6697                        
6698    </p>
6699    <p>Where &lt;map&gt; is the numerical ID of the map the
6700                        front-end is interested in as returned by the
6701                        <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>
6702                        command.
6703    </p>
6704    <p>Possible Answers:
6705    </p>
6706    <p>
6707                            </p>
6708    <blockquote class="text">
6709    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6710                                Each answer line begins with the settings category name
6711                                followed by a colon and then a space character &lt;SP&gt; and finally
6712                                the info character string to that setting category. At the
6713                                moment the following categories are defined:
6714    </p>
6715    <p>
6716                                    </p>
6717    <blockquote class="text">
6718    <p>NAME -
6719                                            </p>
6720    <blockquote class="text">
6721    <p>custom name of the given map,
6722                                                which does not have to be unique
6723                                                (note that this character string may contain
6724                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6725    </p>
6726    </blockquote>
6727                                        
6728    
6729    <p>DEFAULT -
6730                                            </p>
6731    <blockquote class="text">
6732    <p>either true or false,
6733                                                defines whether this map is the default map
6734    </p>
6735    </blockquote>
6736                                        
6737    
6738    </blockquote>
6739                                
6740    
6741    </blockquote><p>
6742                        
6743    </p>
6744    <p>The mentioned fields above don't have to be in particular order.
6745    </p>
6746    <p>Example:
6747    </p>
6748    <p>
6749                            </p>
6750    <blockquote class="text">
6751    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6752    </p>
6753    <p>S: "NAME: Standard Map"
6754    </p>
6755    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6756    </p>
6757    <p>&nbsp;&nbsp;&nbsp;"."
6758    </p>
6759    </blockquote><p>
6760                        
6761    </p>
6762    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6763    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6764    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6765    Renaming a MIDI instrument map</h3>
6766    
6767    <p>The front-end can alter the custom name of a MIDI
6768                        instrument map by sending the following command:
6769    </p>
6770    <p>
6771                            </p>
6772    <blockquote class="text">
6773    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6774    </p>
6775    </blockquote><p>
6776                        
6777    </p>
6778    <p>Where &lt;map&gt; is the numerical ID of the map and
6779                        &lt;name&gt; the new custom name of the map, which does not
6780                        have to be unique (name MUST be encapsulated into apostrophes
6781                        and supports escape sequences as described in chapter
6782                        "<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>").
6783                        
6784    </p>
6785    <p>Possible Answers:
6786    </p>
6787    <p>
6788                            </p>
6789    <blockquote class="text">
6790    <p>"OK" -
6791                                    </p>
6792    <blockquote class="text">
6793    <p>on success
6794    </p>
6795    </blockquote>
6796                                
6797    
6798    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6799                                    </p>
6800    <blockquote class="text">
6801    <p>in case the given map does not exist
6802    </p>
6803    </blockquote>
6804                                
6805    
6806    </blockquote><p>
6807                        
6808    </p>
6809    <p>Example:
6810    </p>
6811    <p>
6812                            </p>
6813    <blockquote class="text">
6814    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6815    </p>
6816    <p>S: "OK"
6817    </p>
6818    </blockquote><p>
6819                        
6820    </p>
6821    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6822    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6823    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6824    Create or replace a MIDI instrument map entry</h3>
6825    
6826    <p>The front-end can create a new or replace an existing entry
6827                        in a sampler's MIDI instrument map by sending the following
6828                        command:
6829    </p>
6830    <p>
6831                            </p>
6832    <blockquote class="text">
6833    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6834                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6835                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6836                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6837    </p>
6838    </blockquote><p>
6839                        
6840    </p>
6841    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6842                        &lt;midi_bank&gt; is an integer value between
6843                        0..16383 reflecting the MIDI bank select index,
6844                        &lt;midi_prog&gt; an
6845                        integer value between 0..127 reflecting the MIDI program change
6846                        index, &lt;engine_name&gt; a sampler engine name as returned by
6847                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6848                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6849                        of the instrument's file to be deployed (encapsulated into apostrophes,
6850                        supporting escape sequences as described in chapter
6851                        "<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>"),
6852                        &lt;instrument_index&gt; the index (integer value) of the instrument
6853                        within the given file, &lt;volume_value&gt; reflects the master
6854                        volume of the instrument as optionally dotted number (where a
6855                        value &lt; 1.0 means attenuation and a value > 1.0 means
6856                        amplification). This parameter easily allows to adjust the
6857                        volume of all intruments within a custom instrument map
6858                        without having to adjust their instrument files. The
6859                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6860                        time of the instrument, that is when the instrument should
6861                        be loaded, when freed and has exactly the following
6862                        possibilities:
6863    </p>
6864    <p>
6865                            </p>
6866    <blockquote class="text">
6867    <p>"ON_DEMAND" -
6868                                    </p>
6869    <blockquote class="text">
6870    <p>The instrument will be loaded when needed,
6871                                        that is when demanded by at least one sampler
6872                                        channel. It will immediately be freed from memory
6873                                        when not needed by any sampler channel anymore.
6874    </p>
6875    </blockquote>
6876                                
6877    
6878    <p>"ON_DEMAND_HOLD" -
6879                                    </p>
6880    <blockquote class="text">
6881    <p>The instrument will be loaded when needed,
6882                                        that is when demanded by at least one sampler
6883                                        channel. It will be kept in memory even when
6884                                        not needed by any sampler channel anymore.
6885                                        Instruments with this mode are only freed
6886                                        when the sampler is reset or all mapping
6887                                        entries with this mode (and respective
6888                                        instrument) are explicitly changed to
6889                                        "ON_DEMAND" and no sampler channel is using
6890                                        the instrument anymore.
6891    </p>
6892    </blockquote>
6893                                
6894    
6895    <p>"PERSISTENT" -
6896                                    </p>
6897    <blockquote class="text">
6898    <p>The instrument will immediately be loaded
6899                                        into memory when this mapping
6900                                        command is sent and the instrument is kept all
6901                                        the time. Instruments with this mode are
6902                                        only freed when the sampler is reset or all
6903                                        mapping entries with this mode (and
6904                                        respective instrument) are explicitly
6905                                        changed to "ON_DEMAND" and no sampler
6906                                        channel is using the instrument anymore.
6907    </p>
6908    </blockquote>
6909                                
6910    
6911    <p>not supplied -
6912                                    </p>
6913    <blockquote class="text">
6914    <p>In case there is no &lt;instr_load_mode&gt;
6915                                        argument given, it will be up to the
6916                                        InstrumentManager to decide which mode to use.
6917                                        Usually it will use "ON_DEMAND" if an entry
6918                                        for the given instrument does not exist in
6919                                        the InstrumentManager's list yet, otherwise
6920                                        if an entry already exists, it will simply
6921                                        stick with the mode currently reflected by
6922                                        the already existing entry, that is it will
6923                                        not change the mode.
6924    </p>
6925  </blockquote>  </blockquote>
6926                                
6927    
6928    </blockquote><p>
6929                        
6930    </p>
6931    <p>
6932                        The &lt;instr_load_mode&gt; argument thus allows to define an
6933                        appropriate strategy (low memory consumption vs. fast
6934                        instrument switching) for each instrument individually. Note, the
6935                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6936                        "PERSISTENT" have to be supported by the respective sampler engine
6937                        (which is technically the case when the engine provides an
6938                        InstrumentManager for its format). If this is not the case the
6939                        argument will automatically fall back to the default value
6940                        "ON_DEMAND". Also the load mode of one instrument may
6941                        automatically change the laod mode of other instrument(s), i.e.
6942                        because the instruments are part of the same file and the
6943                        engine does not allow a way to manage load modes for them
6944                        individually. Due to this, in case the frontend shows the
6945                        load modes of entries, the frontend should retrieve the actual
6946                        mode by i.e. sending
6947                        <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>
6948                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6949                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6950                        "<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
6951                        mapping entry, useful for frontends for displaying an appropriate name for
6952                        mapped instruments (using
6953                        <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>).
6954                        
6955    </p>
6956    <p>
6957                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6958                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6959                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6960                        immediately, that is to let the sampler establish the mapping in the
6961                        background. So this argument might be especially useful for mappings with
6962                        a "PERSISTENT" type, because these have to load the respective instruments
6963                        immediately and might thus block for a very long time. It is recommended
6964                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6965                        because it has the following drawbacks: as "NON_MODAL" instructions return
6966                        immediately, they may not necessarily return an error i.e. when the given
6967                        instrument file turns out to be corrupt, beside that subsequent commands
6968                        in a LSCP instruction sequence might fail, because mandatory mappings are
6969                        not yet completed.
6970                        
6971    </p>
6972    <p>Possible Answers:
6973    </p>
6974    <p>
6975                            </p>
6976    <blockquote class="text">
6977    <p>"OK" -
6978                                    </p>
6979    <blockquote class="text">
6980    <p>usually
6981    </p>
6982    </blockquote>
6983                                
6984    
6985    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6986                                    </p>
6987    <blockquote class="text">
6988    <p>when the given map or engine does not exist or a value
6989                                        is out of range
6990    </p>
6991    </blockquote>
6992                                
6993    
6994    </blockquote><p>
6995                        
6996    </p>
6997    <p>Examples:
6998    </p>
6999    <p>
7000                            </p>
7001    <blockquote class="text">
7002    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
7003    </p>
7004    <p>S: "OK"
7005    </p>
7006    </blockquote><p>
7007                        
7008    </p>
7009    <p>
7010                            </p>
7011    <blockquote class="text">
7012    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
7013    </p>
7014    <p>S: "OK"
7015    </p>
7016    </blockquote><p>
7017                        
7018    </p>
7019    <p>
7020                            </p>
7021    <blockquote class="text">
7022    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
7023    </p>
7024    <p>S: "OK"
7025    </p>
7026    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
7027    </p>
7028    <p>S: "OK"
7029    </p>
7030    </blockquote><p>
7031                        
7032    </p>
7033    <p>
7034                            </p>
7035    <blockquote class="text">
7036    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
7037    </p>
7038    <p>S: "OK"
7039    </p>
7040    </blockquote><p>
7041                        
7042    </p>
7043    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
7044    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7045    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
7046    Getting ammount of MIDI instrument map entries</h3>
7047    
7048    <p>The front-end can query the amount of currently existing
7049                        entries in a MIDI instrument map by sending the following
7050                        command:
7051    </p>
7052    <p>
7053                            </p>
7054    <blockquote class="text">
7055    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
7056    </p>
7057    </blockquote><p>
7058                        
7059    </p>
7060    <p>The front-end can query the amount of currently existing
7061                        entries in all MIDI instrument maps by sending the following
7062                        command:
7063    </p>
7064    <p>
7065                            </p>
7066    <blockquote class="text">
7067    <p>GET MIDI_INSTRUMENTS ALL
7068    </p>
7069    </blockquote><p>
7070                        
7071    </p>
7072    <p>Possible Answers:
7073    </p>
7074    <p>
7075                            </p>
7076    <blockquote class="text">
7077    <p>The sampler will answer by sending the current number of
7078                                entries in the MIDI instrument map(s).
7079    </p>
7080    </blockquote><p>
7081                        
7082    </p>
7083    <p>Example:
7084    </p>
7085    <p>
7086                            </p>
7087    <blockquote class="text">
7088    <p>C: "GET MIDI_INSTRUMENTS 0"
7089    </p>
7090    <p>S: "234"
7091    </p>
7092    </blockquote><p>
7093                        
7094    </p>
7095    <p>
7096                            </p>
7097    <blockquote class="text">
7098    <p>C: "GET MIDI_INSTRUMENTS ALL"
7099    </p>
7100    <p>S: "954"
7101    </p>
7102    </blockquote><p>
7103                        
7104    </p>
7105    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7106    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7107    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7108    Getting indeces of all entries of a MIDI instrument map</h3>
7109    
7110    <p>The front-end can query a list of all currently existing
7111                        entries in a certain MIDI instrument map by sending the following
7112                        command:
7113    </p>
7114    <p>
7115                            </p>
7116    <blockquote class="text">
7117    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7118    </p>
7119    </blockquote><p>
7120                        
7121    </p>
7122    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7123    </p>
7124    <p>The front-end can query a list of all currently existing
7125                        entries of all MIDI instrument maps by sending the following
7126                        command:
7127    </p>
7128    <p>
7129                            </p>
7130    <blockquote class="text">
7131    <p>LIST MIDI_INSTRUMENTS ALL
7132    </p>
7133    </blockquote><p>
7134                        
7135    </p>
7136    <p>Possible Answers:
7137    </p>
7138    <p>
7139                            </p>
7140    <blockquote class="text">
7141    <p>The sampler will answer by sending a comma separated
7142                                list of map ID - MIDI bank - MIDI program triples, where
7143                                each triple is encapsulated into curly braces. The
7144                                list is returned in one single line. Each triple
7145                                just reflects the key of the respective map entry,
7146                                thus subsequent
7147                                <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>
7148                                command(s) are necessary to retrieve detailed informations
7149                                about each entry.
7150    </p>
7151    </blockquote><p>
7152                        
7153    </p>
7154    <p>Example:
7155    </p>
7156    <p>
7157                            </p>
7158    <blockquote class="text">
7159    <p>C: "LIST MIDI_INSTRUMENTS 0"
7160    </p>
7161    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7162    </p>
7163    </blockquote><p>
7164                        
7165    </p>
7166    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7167    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7168    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7169    Remove an entry from the MIDI instrument map</h3>
7170    
7171    <p>The front-end can delete an entry from a MIDI instrument
7172                        map by sending the following command:
7173    </p>
7174    <p>
7175                            </p>
7176    <blockquote class="text">
7177    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7178    </p>
7179    </blockquote><p>
7180                        
7181    </p>
7182    <p>
7183                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7184                        &lt;midi_bank&gt; is an integer value between 0..16383
7185                        reflecting the MIDI bank value and
7186                        &lt;midi_prog&gt; an integer value between
7187                        0..127 reflecting the MIDI program value of the map's entrie's key
7188                        index triple.
7189                        
7190    </p>
7191  <p>Possible Answers:  <p>Possible Answers:
7192  </p>  </p>
7193  <p></p>  <p>
7194                            </p>
7195    <blockquote class="text">
7196    <p>"OK" -
7197                                    </p>
7198    <blockquote class="text">
7199    <p>usually
7200    </p>
7201    </blockquote>
7202                                
7203    
7204    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7205                                    </p>
7206    <blockquote class="text">
7207    <p>when index out of bounds
7208    </p>
7209    </blockquote>
7210                                
7211    
7212    </blockquote><p>
7213                        
7214    </p>
7215    <p>Example:
7216    </p>
7217    <p>
7218                            </p>
7219    <blockquote class="text">
7220    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7221    </p>
7222    <p>S: "OK"
7223    </p>
7224    </blockquote><p>
7225                        
7226    </p>
7227    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7228    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7229    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7230    Get current settings of MIDI instrument map entry</h3>
7231    
7232    <p>The front-end can retrieve the current settings of a certain
7233                        instrument map entry by sending the following command:
7234    </p>
7235    <p>
7236                            </p>
7237    <blockquote class="text">
7238    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7239    </p>
7240    </blockquote><p>
7241                        
7242    </p>
7243    <p>
7244                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7245                        &lt;midi_bank&gt; is an integer value between 0..16383
7246                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7247                        and &lt;midi_prog&gt; an integer value between
7248                        0..127 reflecting the MIDI program value of the map's entrie's key
7249                        index triple.
7250                        
7251    </p>
7252    <p>Possible Answers:
7253    </p>
7254    <p>
7255                            </p>
7256    <blockquote class="text">
7257    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7258                                separated list. Each answer line begins with the
7259                                information category name followed by a colon and then
7260                                a space character &lt;SP&gt; and finally the info
7261                                character string to that info category. At the moment
7262                                the following categories are defined:
7263    </p>
7264    <p>"NAME" -
7265                                    </p>
7266    <blockquote class="text">
7267    <p>Name for this MIDI instrument map entry (if defined).
7268                                        This name shall be used by frontends for displaying a
7269                                        name for this mapped instrument. It can be set and
7270                                        changed with the
7271                                        <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>
7272                                        command and does not have to be unique.
7273                                        (note that this character string may contain
7274                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7275    </p>
7276    </blockquote>
7277                                
7278    
7279    <p>"ENGINE_NAME" -
7280                                    </p>
7281    <blockquote class="text">
7282    <p>Name of the engine to be deployed for this
7283                                        instrument.
7284    </p>
7285    </blockquote>
7286                                
7287    
7288    <p>"INSTRUMENT_FILE" -
7289                                    </p>
7290    <blockquote class="text">
7291    <p>File name of the instrument
7292                                        (note that this path may contain
7293                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7294    </p>
7295    </blockquote>
7296                                
7297    
7298    <p>"INSTRUMENT_NR" -
7299                                    </p>
7300    <blockquote class="text">
7301    <p>Index of the instrument within the file.
7302    </p>
7303    </blockquote>
7304                                
7305    
7306    <p>"INSTRUMENT_NAME" -
7307                                    </p>
7308    <blockquote class="text">
7309    <p>Name of the loaded instrument as reflected by its file.
7310                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7311                                        cannot be changed (note that this character string may contain
7312                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7313    </p>
7314    </blockquote>
7315                                
7316    
7317    <p>"LOAD_MODE" -
7318                                    </p>
7319    <blockquote class="text">
7320    <p>Life time of instrument
7321                                        (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).
7322    </p>
7323    </blockquote>
7324                                
7325    
7326    <p>"VOLUME" -
7327                                    </p>
7328    <blockquote class="text">
7329    <p>master volume of the instrument as optionally
7330                                        dotted number (where a value &lt; 1.0 means attenuation
7331                                        and a value > 1.0 means amplification)
7332    </p>
7333    </blockquote>
7334                                
7335    
7336    <p>The mentioned fields above don't have to be in particular order.
7337    </p>
7338    </blockquote><p>
7339                        
7340    </p>
7341    <p>Example:
7342    </p>
7343    <p>
7344                            </p>
7345    <blockquote class="text">
7346    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7347    </p>
7348    <p>S: "NAME: Drums for Foo Song"
7349    </p>
7350    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7351    </p>
7352    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7353    </p>
7354    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7355    </p>
7356    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7357    </p>
7358    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7359    </p>
7360    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7361    </p>
7362    <p>&nbsp;&nbsp;&nbsp;"."
7363    </p>
7364    </blockquote><p>
7365                        
7366    </p>
7367    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7368    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7369    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7370    Clear MIDI instrument map</h3>
7371    
7372    <p>The front-end can clear a whole MIDI instrument map, that
7373                        is delete all its entries by sending the following command:
7374    </p>
7375    <p>
7376                            </p>
7377    <blockquote class="text">
7378    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7379    </p>
7380    </blockquote><p>
7381                        
7382    </p>
7383    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7384    </p>
7385    <p>The front-end can clear all MIDI instrument maps, that
7386                        is delete all entries of all maps by sending the following
7387                        command:
7388    </p>
7389    <p>
7390                            </p>
7391    <blockquote class="text">
7392    <p>CLEAR MIDI_INSTRUMENTS ALL
7393    </p>
7394    </blockquote><p>
7395                        
7396    </p>
7397    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7398                        maps, only their entries, thus the map's settings like
7399                        custom name will be preservevd.
7400    </p>
7401    <p>Possible Answers:
7402    </p>
7403    <p>
7404                            </p>
7405  <blockquote class="text">  <blockquote class="text">
7406  <p>"OK" -  <p>"OK" -
7407                                  </p>                                  </p>
# Line 4068  Intellectual Property and Copyright Stat Line 7409  Intellectual Property and Copyright Stat
7409  <p>always  <p>always
7410  </p>  </p>
7411  </blockquote>  </blockquote>
7412                                
7413    
7414    </blockquote><p>
7415                        
7416    </p>
7417    <p>Examples:
7418    </p>
7419    <p>
7420                           </p>
7421    <blockquote class="text">
7422    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7423    </p>
7424    <p>S: "OK"
7425    </p>
7426    </blockquote><p>
7427                        
7428    </p>
7429    <p>
7430                           </p>
7431    <blockquote class="text">
7432    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7433    </p>
7434    <p>S: "OK"
7435    </p>
7436    </blockquote><p>
7437                        
7438    </p>
7439    <a name="Managing Instruments Database"></a><br /><hr />
7440    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7441    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7442    Managing Instruments Database</h3>
7443    
7444    <p>The following commands describe how to use and manage
7445                    the instruments database.
7446    </p>
7447    <p>Notice:
7448    </p>
7449    <p>
7450                            </p>
7451    <blockquote class="text">
7452    <p>All command arguments representing a path or
7453                                instrument/directory name support escape sequences as described in chapter
7454                                "<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>".
7455                                
7456    </p>
7457    <p>All occurrences of a forward slash in instrument and directory
7458                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7459                                
7460    </p>
7461    </blockquote><p>
7462                        
7463    </p>
7464    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7465    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7466    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7467    Creating a new instrument directory</h3>
7468    
7469    <p>The front-end can add a new instrument directory to the
7470                        instruments database by sending the following command:
7471    </p>
7472    <p>
7473                            </p>
7474    <blockquote class="text">
7475    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7476    </p>
7477    </blockquote><p>
7478                        
7479    </p>
7480    <p>Where &lt;dir&gt; is the absolute path name of the directory
7481                        to be created (encapsulated into apostrophes).
7482    </p>
7483    <p>Possible Answers:
7484    </p>
7485    <p>
7486                            </p>
7487    <blockquote class="text">
7488    <p>"OK" -
7489                                    </p>
7490    <blockquote class="text">
7491    <p>on success
7492    </p>
7493    </blockquote>
7494                                
7495    
7496    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7497                                    </p>
7498    <blockquote class="text">
7499    <p>when the directory could not be created, which
7500                                        can happen if the directory already exists or the
7501                                        name contains not allowed symbols
7502    </p>
7503    </blockquote>
7504                                
7505    
7506    </blockquote><p>
7507                        
7508    </p>
7509    <p>Examples:
7510    </p>
7511    <p>
7512                            </p>
7513    <blockquote class="text">
7514    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7515    </p>
7516    <p>S: "OK"
7517    </p>
7518    </blockquote><p>
7519                        
7520    </p>
7521    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7522    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7523    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7524    Deleting an instrument directory</h3>
7525    
7526    <p>The front-end can delete a particular instrument directory
7527                        from the instruments database by sending the following command:
7528    </p>
7529    <p>
7530                            </p>
7531    <blockquote class="text">
7532    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7533    </p>
7534    </blockquote><p>
7535                        
7536    </p>
7537    <p>Where &lt;dir&gt; is the absolute path name of the directory
7538                        to delete. The optional FORCE argument can be used to
7539                        force the deletion of a non-empty directory and all its content.
7540    </p>
7541    <p>Possible Answers:
7542    </p>
7543    <p>
7544                            </p>
7545    <blockquote class="text">
7546    <p>"OK" -
7547                                    </p>
7548    <blockquote class="text">
7549    <p>if the directory is deleted successfully
7550    </p>
7551    </blockquote>
7552                                
7553    
7554    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7555                                    </p>
7556    <blockquote class="text">
7557    <p>if the given directory does not exist, or
7558                                        if trying to delete a non-empty directory,
7559                                        without using the FORCE argument.
7560    </p>
7561    </blockquote>
7562                                
7563    
7564    </blockquote><p>
7565                        
7566    </p>
7567    <p>Examples:
7568    </p>
7569    <p>
7570                            </p>
7571    <blockquote class="text">
7572    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7573    </p>
7574    <p>S: "OK"
7575    </p>
7576    </blockquote><p>
7577                        
7578    </p>
7579    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7580    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7581    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7582    Getting amount of instrument directories</h3>
7583    
7584    <p>The front-end can retrieve the current amount of
7585                        directories in a specific directory by sending the following command:
7586    </p>
7587    <p>
7588                            </p>
7589    <blockquote class="text">
7590    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7591    </p>
7592    </blockquote><p>
7593                        
7594    </p>
7595    <p>Where &lt;dir&gt; should be replaced by the absolute path
7596                        name of the directory. If RECURSIVE is specified, the number of
7597                        all directories, including those located in subdirectories of the
7598                        specified directory, will be returned.
7599    </p>
7600    <p>Possible Answers:
7601    </p>
7602    <p>
7603                            </p>
7604    <blockquote class="text">
7605    <p>The current number of instrument directories
7606                                in the specified directory.
7607    </p>
7608    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7609                                    </p>
7610    <blockquote class="text">
7611    <p>if the given directory does not exist.
7612    </p>
7613    </blockquote>
7614                                
7615    
7616    </blockquote><p>
7617                        
7618    </p>
7619    <p>Example:
7620    </p>
7621    <p>
7622                            </p>
7623    <blockquote class="text">
7624    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7625    </p>
7626    <p>S: "2"
7627    </p>
7628    </blockquote><p>
7629                        
7630    </p>
7631    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7632    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7633    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7634    Listing all directories in specific directory</h3>
7635    
7636    <p>The front-end can retrieve the current list of directories
7637                        in specific directory by sending the following command:
7638    </p>
7639    <p>
7640                            </p>
7641    <blockquote class="text">
7642    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7643    </p>
7644    </blockquote><p>
7645                        
7646    </p>
7647    <p>Where &lt;dir&gt; should be replaced by the absolute path
7648                        name of the directory. If RECURSIVE is specified, the absolute path names
7649                        of all directories, including those located in subdirectories of the
7650                        specified directory, will be returned.
7651    </p>
7652    <p>Possible Answers:
7653    </p>
7654    <p>
7655                            </p>
7656    <blockquote class="text">
7657    <p>A comma separated list of all instrument directories
7658                                (encapsulated into apostrophes) in the specified directory.
7659    </p>
7660    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7661                                    </p>
7662    <blockquote class="text">
7663    <p>if the given directory does not exist.
7664    </p>
7665    </blockquote>
7666                                
7667    
7668    </blockquote><p>
7669                        
7670    </p>
7671    <p>Example:
7672    </p>
7673    <p>
7674                            </p>
7675    <blockquote class="text">
7676    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7677    </p>
7678    <p>S: "'Piano Collection','Percussion Collection'"
7679    </p>
7680    </blockquote><p>
7681                        
7682    </p>
7683    <p>
7684                            </p>
7685    <blockquote class="text">
7686    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7687    </p>
7688    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7689    </p>
7690    </blockquote><p>
7691                        
7692    </p>
7693    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7694    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7695    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7696    Getting instrument directory information</h3>
7697    
7698    <p>The front-end can ask for the current settings of an
7699                        instrument directory by sending the following command:
7700    </p>
7701    <p>
7702                            </p>
7703    <blockquote class="text">
7704    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7705    </p>
7706    </blockquote><p>
7707                        
7708    </p>
7709    <p>Where &lt;dir&gt; should be replaced by the absolute path
7710                        name of the directory the front-end is interested in.
7711    </p>
7712    <p>Possible Answers:
7713    </p>
7714    <p>
7715                            </p>
7716    <blockquote class="text">
7717    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7718                                Each answer line begins with the settings category name
7719                                followed by a colon and then a space character &lt;SP&gt; and finally
7720                                the info character string to that setting category. At the
7721                                moment the following categories are defined:
7722    </p>
7723    <p>
7724                                    </p>
7725    <blockquote class="text">
7726    <p>DESCRIPTION -
7727                                            </p>
7728    <blockquote class="text">
7729    <p>A brief description of the directory content.
7730                                                Note that the character string may contain
7731                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7732    </p>
7733    </blockquote>
7734                                        
7735    
7736    <p>CREATED -
7737                                            </p>
7738    <blockquote class="text">
7739    <p>The creation date and time of the directory,
7740                                                represented in "YYYY-MM-DD HH:MM:SS" format
7741    </p>
7742    </blockquote>
7743                                        
7744    
7745    <p>MODIFIED -
7746                                            </p>
7747    <blockquote class="text">
7748    <p>The date and time of the last modification of the
7749                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7750    </p>
7751    </blockquote>
7752                                        
7753    
7754    </blockquote>
7755                                
7756    
7757    </blockquote><p>
7758                        
7759    </p>
7760    <p>The mentioned fields above don't have to be in particular order.
7761    </p>
7762    <p>Example:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7768    </p>
7769    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7770    </p>
7771    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7772    </p>
7773    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7774    </p>
7775    <p>&nbsp;&nbsp;&nbsp;"."
7776    </p>
7777    </blockquote><p>
7778                        
7779    </p>
7780    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7781    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7782    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7783    Renaming an instrument directory</h3>
7784    
7785    <p>The front-end can alter the name of a specific
7786                        instrument directory by sending the following command:
7787    </p>
7788    <p>
7789                            </p>
7790    <blockquote class="text">
7791    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7792    </p>
7793    </blockquote><p>
7794                        
7795    </p>
7796    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7797                        &lt;name&gt; is the new name for that directory.
7798    </p>
7799    <p>Possible Answers:
7800    </p>
7801    <p>
7802                            </p>
7803    <blockquote class="text">
7804    <p>"OK" -
7805                                    </p>
7806    <blockquote class="text">
7807    <p>on success
7808    </p>
7809    </blockquote>
7810                                
7811    
7812    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7813                                    </p>
7814    <blockquote class="text">
7815    <p>in case the given directory does not exists,
7816                                        or if a directory with name equal to the new
7817                                        name already exists.
7818    </p>
7819    </blockquote>
7820                                
7821    
7822    </blockquote><p>
7823                        
7824    </p>
7825    <p>Example:
7826    </p>
7827    <p>
7828                            </p>
7829    <blockquote class="text">
7830    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7831    </p>
7832    <p>S: "OK"
7833    </p>
7834    </blockquote><p>
7835                        
7836    </p>
7837    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7838    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7839    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7840    Moving an instrument directory</h3>
7841    
7842    <p>The front-end can move a specific
7843                        instrument directory by sending the following command:
7844    </p>
7845    <p>
7846                            </p>
7847    <blockquote class="text">
7848    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7849    </p>
7850    </blockquote><p>
7851                        
7852    </p>
7853    <p>Where &lt;dir&gt; is the absolute path name of the directory
7854                        to move and &lt;dst&gt; is the location where the directory will
7855                        be moved to.
7856    </p>
7857    <p>Possible Answers:
7858    </p>
7859    <p>
7860                            </p>
7861    <blockquote class="text">
7862    <p>"OK" -
7863                                    </p>
7864    <blockquote class="text">
7865    <p>on success
7866    </p>
7867    </blockquote>
7868                                
7869    
7870    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7871                                    </p>
7872    <blockquote class="text">
7873    <p>in case a given directory does not exists,
7874                                        or if a directory with name equal to the name
7875                                        of the specified directory already exists in
7876                                        the destination directory. Error is also thrown
7877                                        when trying to move a directory to a subdirectory
7878                                        of itself.
7879    </p>
7880    </blockquote>
7881                                
7882    
7883    </blockquote><p>
7884                        
7885    </p>
7886    <p>Example:
7887    </p>
7888    <p>
7889                            </p>
7890    <blockquote class="text">
7891    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7892    </p>
7893    <p>S: "OK"
7894    </p>
7895    </blockquote><p>
7896                        
7897    </p>
7898    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7899    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7900    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7901    Copying instrument directories</h3>
7902    
7903    <p>The front-end can copy a specific
7904                        instrument directory by sending the following command:
7905    </p>
7906    <p>
7907                            </p>
7908    <blockquote class="text">
7909    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7910    </p>
7911    </blockquote><p>
7912                        
7913    </p>
7914    <p>Where &lt;dir&gt; is the absolute path name of the directory
7915                        to copy and &lt;dst&gt; is the location where the directory will
7916                        be copied to.
7917    </p>
7918    <p>Possible Answers:
7919    </p>
7920    <p>
7921                            </p>
7922    <blockquote class="text">
7923    <p>"OK" -
7924                                    </p>
7925    <blockquote class="text">
7926    <p>on success
7927    </p>
7928    </blockquote>
7929                                
7930    
7931    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7932                                    </p>
7933    <blockquote class="text">
7934    <p>in case a given directory does not exists,
7935                                        or if a directory with name equal to the name
7936                                        of the specified directory already exists in
7937                                        the destination directory. Error is also thrown
7938                                        when trying to copy a directory to a subdirectory
7939                                        of itself.
7940    </p>
7941    </blockquote>
7942                                
7943    
7944    </blockquote><p>
7945                        
7946    </p>
7947    <p>Example:
7948    </p>
7949    <p>
7950                            </p>
7951    <blockquote class="text">
7952    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7953    </p>
7954    <p>S: "OK"
7955    </p>
7956    </blockquote><p>
7957                        
7958    </p>
7959    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7960    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7961    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7962    Changing the description of directory</h3>
7963    
7964    <p>The front-end can alter the description of a specific
7965                        instrument directory by sending the following command:
7966    </p>
7967    <p>
7968                            </p>
7969    <blockquote class="text">
7970    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7971    </p>
7972    </blockquote><p>
7973                        
7974    </p>
7975    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7976                        &lt;desc&gt; is the new description for the directory
7977                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7978                        "<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>").
7979    </p>
7980    <p>Possible Answers:
7981    </p>
7982    <p>
7983                            </p>
7984    <blockquote class="text">
7985    <p>"OK" -
7986                                    </p>
7987    <blockquote class="text">
7988    <p>on success
7989    </p>
7990    </blockquote>
7991                                
7992    
7993    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7994                                    </p>
7995    <blockquote class="text">
7996    <p>in case the given directory does not exists.
7997    </p>
7998    </blockquote>
7999                                
8000    
8001    </blockquote><p>
8002                        
8003    </p>
8004    <p>Example:
8005    </p>
8006    <p>
8007                            </p>
8008    <blockquote class="text">
8009    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
8010    </p>
8011    <p>S: "OK"
8012    </p>
8013    </blockquote><p>
8014                        
8015    </p>
8016    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8017    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8018    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
8019    Finding directories</h3>
8020    
8021    <p>The front-end can search for directories
8022                        in specific directory by sending the following command:
8023    </p>
8024    <p>
8025                            </p>
8026    <blockquote class="text">
8027    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8028    </p>
8029    </blockquote><p>
8030                        
8031    </p>
8032    <p>Where &lt;dir&gt; should be replaced by the absolute path
8033                        name of the directory to search in. If NON_RECURSIVE is specified, the
8034                        directories located in subdirectories of the specified directory will not
8035                        be searched. &lt;criteria-list&gt; is a list of search criterias
8036                        in form of "key1=val1 key2=val2 ...". The following criterias are
8037                        allowed:
8038    </p>
8039    <p>
8040                          
8041    <p>NAME='&lt;search-string&gt;'
8042                              </p>
8043    <blockquote class="text">
8044    <p>Restricts the search to directories, which names
8045                                  satisfy the supplied search string (encapsulated into apostrophes,
8046                                  supporting escape sequences as described in chapter
8047                                  "<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>").
8048    </p>
8049    </blockquote><p>
8050                          
8051    </p>
8052    
8053                          
8054    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8055                              </p>
8056    <blockquote class="text">
8057    <p>Restricts the search to directories, which creation
8058                                  date satisfies the specified period, where &lt;date-after&gt;
8059                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8060                                  If &lt;date-after&gt; is omitted the search is restricted to
8061                                  directories created before &lt;date-before&gt;. If
8062                                  &lt;date-before&gt; is omitted, the search is restricted
8063                                  to directories created after &lt;date-after&gt;.
8064    </p>
8065    </blockquote><p>
8066                          
8067    </p>
8068    
8069                          
8070    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8071                              </p>
8072    <blockquote class="text">
8073    <p>Restricts the search to directories, which
8074                                  date of last modification satisfies the specified period, where
8075                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8076                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8077                                  directories, which are last modified before &lt;date-before&gt;. If
8078                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
8079                                  which are last modified after &lt;date-after&gt;.
8080    </p>
8081    </blockquote><p>
8082                          
8083    </p>
8084    
8085                          
8086    <p>DESCRIPTION='&lt;search-string&gt;'
8087                              </p>
8088    <blockquote class="text">
8089    <p>Restricts the search to directories with description
8090                                  that satisfies the supplied search string
8091                                  (encapsulated into apostrophes, supporting escape
8092                                  sequences as described in chapter
8093                                  "<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>").
8094    </p>
8095    </blockquote><p>
8096                          
8097    </p>
8098                        
8099    
8100    <p>Where &lt;search-string&gt; is either a regular expression, or a
8101                        word list separated with spaces for OR search and with '+' for AND search.
8102    </p>
8103    <p>Possible Answers:
8104    </p>
8105    <p>
8106                            </p>
8107    <blockquote class="text">
8108    <p>A comma separated list with the absolute path names (encapsulated into
8109                                apostrophes) of all directories in the specified directory that satisfy
8110                                the supplied search criterias.
8111    </p>
8112    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8113                                    </p>
8114    <blockquote class="text">
8115    <p>if the given directory does not exist.
8116    </p>
8117    </blockquote>
8118                                
8119    
8120    </blockquote><p>
8121                        
8122    </p>
8123    <p>Example:
8124    </p>
8125    <p>
8126                            </p>
8127    <blockquote class="text">
8128    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8129    </p>
8130    <p>S: "'/Piano Collection'"
8131    </p>
8132    </blockquote><p>
8133                        
8134    </p>
8135    <p>
8136                            </p>
8137    <blockquote class="text">
8138    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8139    </p>
8140    <p>S: "'/Piano Collection','/Percussions'"
8141    </p>
8142    </blockquote><p>
8143                        
8144    </p>
8145    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8146    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8147    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8148    Adding instruments to the instruments database</h3>
8149    
8150    <p>The front-end can add one or more instruments
8151                        to the instruments database by sending the following command:
8152    </p>
8153    <p>
8154                            </p>
8155    <blockquote class="text">
8156    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8157    </p>
8158    </blockquote><p>
8159                        
8160    </p>
8161    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8162                        (encapsulated into apostrophes) in the instruments database in which
8163                        only the new instruments (that are not already in the database) will
8164                        be added, &lt;file_path&gt; is the absolute path name of a file or
8165                        directory in the file system (encapsulated into apostrophes). In case
8166                        an instrument file is supplied, only the instruments in the specified
8167                        file will be added to the instruments database. If the optional
8168                        &lt;instr_index&gt; (the index of the instrument within the given file)
8169                        is supplied too, then only the specified instrument will be added.
8170                        In case a directory is supplied, the instruments in that directory
8171                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8172                        when a directory is provided as &lt;file_path&gt; and specifies how the
8173                        scanning will be done and has exactly the following possibilities:
8174    </p>
8175    <p>
8176                            </p>
8177    <blockquote class="text">
8178    <p>"RECURSIVE" -
8179                                    </p>
8180    <blockquote class="text">
8181    <p>All instruments will be processed, including those
8182                                        in the subdirectories, and the respective subdirectory
8183                                        tree structure will be recreated in the instruments
8184                                        database
8185    </p>
8186    </blockquote>
8187                                
8188    
8189    <p>"NON_RECURSIVE" -
8190                                    </p>
8191    <blockquote class="text">
8192    <p>Only the instruments in the specified directory
8193                                        will be added, the instruments in the subdirectories
8194                                        will not be processed.
8195    </p>
8196    </blockquote>
8197                                
8198    
8199    <p>"FLAT" -
8200                                    </p>
8201    <blockquote class="text">
8202    <p>All instruments will be processed, including those
8203                                        in the subdirectories, but the respective subdirectory
8204                                        structure will not be recreated in the instruments
8205                                        database. All instruments will be added directly in
8206                                        the specified database directory.
8207    </p>
8208    </blockquote>
8209                                
8210    
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>The difference between regular and NON_MODAL versions of the command
8215                        is that the regular command returns when the scanning is finished
8216                        while NON_MODAL version returns immediately and a background process is launched.
8217                        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>
8218                        command can be used to monitor the scanning progress.
8219    </p>
8220    <p>Possible Answers:
8221    </p>
8222    <p>
8223                            </p>
8224    <blockquote class="text">
8225    <p>"OK" -
8226                                    </p>
8227    <blockquote class="text">
8228    <p>on success when NON_MODAL is not supplied
8229    </p>
8230    </blockquote>
8231                                
8232    
8233    <p>"OK[&lt;job-id&gt;]" -
8234                                    </p>
8235    <blockquote class="text">
8236    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8237                                        is a numerical ID used to obtain status information about the job progress.
8238                                        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>
8239                                        
8240    </p>
8241    </blockquote>
8242                                
8243    
8244    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8245                                    </p>
8246    <blockquote class="text">
8247    <p>if an invalid path is specified.
8248    </p>
8249    </blockquote>
8250                                
8251    
8252    </blockquote><p>
8253                        
8254    </p>
8255    <p>Examples:
8256    </p>
8257    <p>
8258                            </p>
8259    <blockquote class="text">
8260    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8261    </p>
8262    <p>S: "OK"
8263    </p>
8264    </blockquote><p>
8265                        
8266    </p>
8267    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8268    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8269    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8270    Removing an instrument</h3>
8271    
8272    <p>The front-end can remove a particular instrument
8273                        from the instruments database by sending the following command:
8274    </p>
8275    <p>
8276                            </p>
8277    <blockquote class="text">
8278    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8279    </p>
8280    </blockquote><p>
8281                        
8282    </p>
8283    <p>Where &lt;instr_path&gt; is the absolute path name
8284                        (in the instruments database) of the instrument to remove.
8285    </p>
8286    <p>Possible Answers:
8287    </p>
8288    <p>
8289                            </p>
8290    <blockquote class="text">
8291    <p>"OK" -
8292                                    </p>
8293    <blockquote class="text">
8294    <p>if the instrument is removed successfully
8295    </p>
8296    </blockquote>
8297                                
8298    
8299    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8300                                    </p>
8301    <blockquote class="text">
8302    <p>if the given path does not exist or
8303                                        is a directory.
8304    </p>
8305    </blockquote>
8306                                
8307    
8308    </blockquote><p>
8309                        
8310    </p>
8311    <p>Examples:
8312    </p>
8313    <p>
8314                            </p>
8315    <blockquote class="text">
8316    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8317    </p>
8318    <p>S: "OK"
8319    </p>
8320    </blockquote><p>
8321                        
8322    </p>
8323    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8324    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8325    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8326    Getting amount of instruments</h3>
8327    
8328    <p>The front-end can retrieve the current amount of
8329                        instruments in a specific directory by sending the following command:
8330    </p>
8331    <p>
8332                            </p>
8333    <blockquote class="text">
8334    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8335    </p>
8336    </blockquote><p>
8337                        
8338    </p>
8339    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8340                        of the directory. If RECURSIVE is specified, the number of all
8341                        instruments, including those located in subdirectories of the
8342                        specified directory, will be returned.
8343    </p>
8344    <p>Possible Answers:
8345    </p>
8346    <p>
8347                            </p>
8348    <blockquote class="text">
8349    <p>The current number of instruments
8350                                in the specified directory.
8351    </p>
8352    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8353                                    </p>
8354    <blockquote class="text">
8355    <p>if the given directory does not exist.
8356    </p>
8357    </blockquote>
8358                                
8359    
8360    </blockquote><p>
8361                        
8362    </p>
8363    <p>Example:
8364    </p>
8365    <p>
8366                            </p>
8367    <blockquote class="text">
8368    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8369    </p>
8370    <p>S: "2"
8371    </p>
8372    </blockquote><p>
8373                        
8374    </p>
8375    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8376    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8377    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8378    Listing all instruments in specific directory</h3>
8379    
8380    <p>The front-end can retrieve the current list of instruments
8381                        in specific directory by sending the following command:
8382    </p>
8383    <p>
8384                            </p>
8385    <blockquote class="text">
8386    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8387    </p>
8388    </blockquote><p>
8389                        
8390    </p>
8391    <p>Where &lt;dir&gt; should be replaced by the absolute path
8392                        name of the directory. If RECURSIVE is specified, the absolute path
8393                        names of all instruments, including those located in subdirectories
8394                        of the specified directory, will be returned.
8395    </p>
8396    <p>Possible Answers:
8397    </p>
8398    <p>
8399                            </p>
8400    <blockquote class="text">
8401    <p>A comma separated list of all instruments
8402                                (encapsulated into apostrophes) in the specified directory.
8403    </p>
8404    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8405                                    </p>
8406    <blockquote class="text">
8407    <p>if the given directory does not exist.
8408    </p>
8409    </blockquote>
8410                                
8411    
8412    </blockquote><p>
8413                        
8414    </p>
8415    <p>Example:
8416    </p>
8417    <p>
8418                            </p>
8419    <blockquote class="text">
8420    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8421    </p>
8422    <p>S: "'Bosendorfer 290','Steinway D'"
8423    </p>
8424    </blockquote><p>
8425                        
8426    </p>
8427    <p>
8428                            </p>
8429    <blockquote class="text">
8430    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8431    </p>
8432    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8433    </p>
8434    </blockquote><p>
8435                        
8436    </p>
8437    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8438    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8439    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8440    Getting instrument information</h3>
8441    
8442    <p>The front-end can ask for the current settings of an
8443                        instrument by sending the following command:
8444    </p>
8445    <p>
8446                            </p>
8447    <blockquote class="text">
8448    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8449    </p>
8450    </blockquote><p>
8451                        
8452    </p>
8453    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8454                        name of the instrument the front-end is interested in.
8455    </p>
8456    <p>Possible Answers:
8457    </p>
8458    <p>
8459                            </p>
8460    <blockquote class="text">
8461    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8462                                Each answer line begins with the settings category name
8463                                followed by a colon and then a space character &lt;SP&gt; and finally
8464                                the info character string to that setting category. At the
8465                                moment the following categories are defined:
8466    </p>
8467    <p>
8468                                    </p>
8469    <blockquote class="text">
8470    <p>INSTRUMENT_FILE -
8471                                            </p>
8472    <blockquote class="text">
8473    <p>File name of the instrument.
8474                                                Note that the character string may contain
8475                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8476    </p>
8477    </blockquote>
8478                                        
8479    
8480    <p>INSTRUMENT_NR -
8481                                            </p>
8482    <blockquote class="text">
8483    <p>Index of the instrument within the file.
8484    </p>
8485    </blockquote>
8486                                        
8487    
8488    <p>FORMAT_FAMILY -
8489                                            </p>
8490    <blockquote class="text">
8491    <p>The format family of the instrument.
8492    </p>
8493    </blockquote>
8494                                        
8495    
8496    <p>FORMAT_VERSION -
8497                                            </p>
8498    <blockquote class="text">
8499    <p>The format version of the instrument.
8500    </p>
8501    </blockquote>
8502                                        
8503    
8504    <p>SIZE -
8505                                            </p>
8506    <blockquote class="text">
8507    <p>The size of the instrument in bytes.
8508    </p>
8509    </blockquote>
8510                                        
8511    
8512    <p>CREATED -
8513                                            </p>
8514    <blockquote class="text">
8515    <p>The date and time when the instrument is added
8516                                                in the instruments database, represented in
8517                                               "YYYY-MM-DD HH:MM:SS" format
8518    </p>
8519    </blockquote>
8520                                        
8521    
8522    <p>MODIFIED -
8523                                            </p>
8524    <blockquote class="text">
8525    <p>The date and time of the last modification of the
8526                                                instrument's database settings, represented in
8527                                                "YYYY-MM-DD HH:MM:SS" format
8528    </p>
8529    </blockquote>
8530                                        
8531    
8532    <p>DESCRIPTION -
8533                                            </p>
8534    <blockquote class="text">
8535    <p>A brief description of the instrument.
8536                                                Note that the character string may contain
8537                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8538    </p>
8539    </blockquote>
8540                                        
8541    
8542    <p>IS_DRUM -
8543                                            </p>
8544    <blockquote class="text">
8545    <p>either true or false, determines whether the
8546                                                instrument is a drumkit or a chromatic instrument
8547    </p>
8548    </blockquote>
8549                                        
8550    
8551    <p>PRODUCT -
8552                                            </p>
8553    <blockquote class="text">
8554    <p>The product title of the instrument.
8555                                                Note that the character string may contain
8556                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8557    </p>
8558    </blockquote>
8559                                        
8560    
8561    <p>ARTISTS -
8562                                            </p>
8563    <blockquote class="text">
8564    <p>Lists the artist names.
8565                                                Note that the character string may contain
8566                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8567    </p>
8568    </blockquote>
8569                                        
8570    
8571    <p>KEYWORDS -
8572                                            </p>
8573    <blockquote class="text">
8574    <p>Provides a list of keywords that refer to the instrument.
8575                                                Keywords are separated with semicolon and blank.
8576                                                Note that the character string may contain
8577                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8578    </p>
8579    </blockquote>
8580                                        
8581    
8582    </blockquote>
8583                                
8584    
8585    </blockquote><p>
8586                        
8587    </p>
8588    <p>The mentioned fields above don't have to be in particular order.
8589    </p>
8590    <p>Example:
8591    </p>
8592    <p>
8593                            </p>
8594    <blockquote class="text">
8595    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8596    </p>
8597    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8598    </p>
8599    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8600    </p>
8601    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8602    </p>
8603    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8604    </p>
8605    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8606    </p>
8607    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8608    </p>
8609    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8610    </p>
8611    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8612    </p>
8613    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8614    </p>
8615    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8616    </p>
8617    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8618    </p>
8619    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8620    </p>
8621    <p>&nbsp;&nbsp;&nbsp;"."
8622    </p>
8623    </blockquote><p>
8624                        
8625    </p>
8626    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8627    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8628    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8629    Renaming an instrument</h3>
8630    
8631    <p>The front-end can alter the name of a specific
8632                        instrument by sending the following command:
8633    </p>
8634    <p>
8635                            </p>
8636    <blockquote class="text">
8637    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8638    </p>
8639    </blockquote><p>
8640                        
8641    </p>
8642    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8643                        &lt;name&gt; is the new name for that instrument.
8644    </p>
8645    <p>Possible Answers:
8646    </p>
8647    <p>
8648                            </p>
8649    <blockquote class="text">
8650    <p>"OK" -
8651                                    </p>
8652    <blockquote class="text">
8653    <p>on success
8654    </p>
8655    </blockquote>
8656                                
8657    
8658    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8659                                    </p>
8660    <blockquote class="text">
8661    <p>in case the given instrument does not exists,
8662                                        or if an instrument with name equal to the new
8663                                        name already exists.
8664    </p>
8665    </blockquote>
8666                                
8667    
8668    </blockquote><p>
8669                        
8670    </p>
8671    <p>Example:
8672    </p>
8673    <p>
8674                            </p>
8675    <blockquote class="text">
8676    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8677    </p>
8678    <p>S: "OK"
8679    </p>
8680    </blockquote><p>
8681                        
8682    </p>
8683    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8684    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8685    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8686    Moving an instrument</h3>
8687    
8688    <p>The front-end can move a specific instrument to another directory by
8689                        sending the following command:
8690    </p>
8691    <p>
8692                            </p>
8693    <blockquote class="text">
8694    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8695    </p>
8696    </blockquote><p>
8697                        
8698    </p>
8699    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8700                        to move and &lt;dst&gt; is the directory where the instrument will
8701                        be moved to.
8702    </p>
8703    <p>Possible Answers:
8704    </p>
8705    <p>
8706                            </p>
8707    <blockquote class="text">
8708    <p>"OK" -
8709                                    </p>
8710    <blockquote class="text">
8711    <p>on success
8712    </p>
8713    </blockquote>
8714                                
8715    
8716    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8717                                    </p>
8718    <blockquote class="text">
8719    <p>in case the given instrument does not exists,
8720                                        or if an instrument with name equal to the name of the
8721                                        specified instrument already exists in the destination
8722                                        directory.
8723    </p>
8724    </blockquote>
8725                                
8726    
8727    </blockquote><p>
8728                        
8729    </p>
8730    <p>Example:
8731    </p>
8732    <p>
8733                            </p>
8734    <blockquote class="text">
8735    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8736    </p>
8737    <p>S: "OK"
8738    </p>
8739    </blockquote><p>
8740                        
8741    </p>
8742    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8743    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8744    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8745    Copying instruments</h3>
8746    
8747    <p>The front-end can copy a specific instrument to another directory by
8748                        sending the following command:
8749    </p>
8750    <p>
8751                            </p>
8752    <blockquote class="text">
8753    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8754    </p>
8755    </blockquote><p>
8756                        
8757    </p>
8758    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8759                        to copy and &lt;dst&gt; is the directory where the instrument will
8760                        be copied to.
8761    </p>
8762    <p>Possible Answers:
8763    </p>
8764    <p>
8765                            </p>
8766    <blockquote class="text">
8767    <p>"OK" -
8768                                    </p>
8769    <blockquote class="text">
8770    <p>on success
8771    </p>
8772    </blockquote>
8773                                
8774    
8775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8776                                    </p>
8777    <blockquote class="text">
8778    <p>in case the given instrument does not exists,
8779                                        or if an instrument with name equal to the name of the
8780                                        specified instrument already exists in the destination
8781                                        directory.
8782    </p>
8783    </blockquote>
8784                                
8785    
8786    </blockquote><p>
8787                        
8788    </p>
8789    <p>Example:
8790    </p>
8791    <p>
8792                            </p>
8793    <blockquote class="text">
8794    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8795    </p>
8796    <p>S: "OK"
8797    </p>
8798    </blockquote><p>
8799                        
8800    </p>
8801    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8802    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8803    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8804    Changing the description of instrument</h3>
8805    
8806    <p>The front-end can alter the description of a specific
8807                        instrument by sending the following command:
8808    </p>
8809    <p>
8810                            </p>
8811    <blockquote class="text">
8812    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8813    </p>
8814    </blockquote><p>
8815                        
8816    </p>
8817    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8818                        &lt;desc&gt; is the new description for the instrument
8819                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8820                        "<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>").
8821    </p>
8822    <p>Possible Answers:
8823    </p>
8824    <p>
8825                            </p>
8826    <blockquote class="text">
8827    <p>"OK" -
8828                                    </p>
8829    <blockquote class="text">
8830    <p>on success
8831    </p>
8832    </blockquote>
8833                                
8834    
8835    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8836                                    </p>
8837    <blockquote class="text">
8838    <p>in case the given instrument does not exists.
8839    </p>
8840    </blockquote>
8841                                
8842    
8843    </blockquote><p>
8844                        
8845    </p>
8846    <p>Example:
8847    </p>
8848    <p>
8849                            </p>
8850    <blockquote class="text">
8851    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8852    </p>
8853    <p>S: "OK"
8854    </p>
8855    </blockquote><p>
8856                        
8857    </p>
8858    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8859    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8860    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8861    Finding instruments</h3>
8862    
8863    <p>The front-end can search for instruments
8864                        in specific directory by sending the following command:
8865    </p>
8866    <p>
8867                            </p>
8868    <blockquote class="text">
8869    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8870    </p>
8871    </blockquote><p>
8872                        
8873    </p>
8874    <p>Where &lt;dir&gt; should be replaced by the absolute path
8875                        name of the directory to search in. If NON_RECURSIVE is specified, the
8876                        directories located in subdirectories of the specified directory will not
8877                        be searched. &lt;criteria-list&gt; is a list of search criterias
8878                        in form of "key1=val1 key2=val2 ...". The following criterias are
8879                        allowed:
8880    </p>
8881    <p>
8882                          
8883    <p>NAME='&lt;search-string&gt;'
8884                              </p>
8885    <blockquote class="text">
8886    <p>Restricts the search to instruments, which names
8887                                  satisfy the supplied search string (encapsulated into apostrophes,
8888                                  supporting escape sequences as described in chapter
8889                                  "<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>").
8890    </p>
8891    </blockquote><p>
8892                          
8893    </p>
8894    
8895                          
8896    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8897                              </p>
8898    <blockquote class="text">
8899    <p>Restricts the search to instruments, which
8900                                  size is in the specified range. If &lt;min&gt; is omitted,
8901                                  the search results are restricted to instruments with size less then
8902                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8903                                  search is restricted to instruments with size greater then
8904                                  or equal to &lt;min&gt;.
8905    </p>
8906    </blockquote><p>
8907                          
8908    </p>
8909    
8910                          
8911    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8912                              </p>
8913    <blockquote class="text">
8914    <p>Restricts the search to instruments, which creation
8915                                  date satisfies the specified period, where &lt;date-after&gt;
8916                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8917                                  If &lt;date-after&gt; is omitted the search is restricted to
8918                                  instruments created before &lt;date-before&gt;. If
8919                                  &lt;date-before&gt; is omitted, the search is restricted
8920                                  to instruments created after &lt;date-after&gt;.
8921    </p>
8922    </blockquote><p>
8923                          
8924    </p>
8925    
8926                          
8927    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8928                              </p>
8929    <blockquote class="text">
8930    <p>Restricts the search to instruments, which
8931                                  date of last modification satisfies the specified period, where
8932                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8933                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8934                                  instruments, which are last modified before &lt;date-before&gt;. If
8935                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8936                                  which are last modified after &lt;date-after&gt;.
8937    </p>
8938    </blockquote><p>
8939                          
8940    </p>
8941    
8942                          
8943    <p>DESCRIPTION='&lt;search-string&gt;'
8944                              </p>
8945    <blockquote class="text">
8946    <p>Restricts the search to instruments with description
8947                                  that satisfies the supplied search string (encapsulated into apostrophes,
8948                                  supporting escape sequences as described in chapter
8949                                  "<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>").
8950    </p>
8951    </blockquote><p>
8952                          
8953    </p>
8954    
8955                          
8956    <p>PRODUCT='&lt;search-string&gt;'
8957                              </p>
8958    <blockquote class="text">
8959    <p>Restricts the search to instruments with product info
8960                                  that satisfies the supplied search string (encapsulated into apostrophes,
8961                                  supporting escape sequences as described in chapter
8962                                  "<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>").
8963    </p>
8964    </blockquote><p>
8965                          
8966    </p>
8967    
8968                          
8969    <p>ARTISTS='&lt;search-string&gt;'
8970                              </p>
8971    <blockquote class="text">
8972    <p>Restricts the search to instruments with artists info
8973                                  that satisfies the supplied search string (encapsulated into apostrophes,
8974                                  supporting escape sequences as described in chapter
8975                                  "<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>").
8976    </p>
8977    </blockquote><p>
8978                          
8979    </p>
8980    
8981                          
8982    <p>KEYWORDS='&lt;search-string&gt;'
8983                              </p>
8984    <blockquote class="text">
8985    <p>Restricts the search to instruments with keyword list
8986                                  that satisfies the supplied search string (encapsulated into apostrophes,
8987                                  supporting escape sequences as described in chapter
8988                                  "<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>").
8989    </p>
8990    </blockquote><p>
8991                          
8992    </p>
8993    
8994                          
8995    <p>IS_DRUM=true | false
8996                              </p>
8997    <blockquote class="text">
8998    <p>Either true or false. Restricts the search to
8999                                  drum kits or chromatic instruments.
9000    </p>
9001    </blockquote><p>
9002                          
9003    </p>
9004    
9005                          
9006    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
9007                              </p>
9008    <blockquote class="text">
9009    <p>Restricts the search to instruments of the supplied format families,
9010                                  where &lt;format-list&gt; is a comma separated list of format families.
9011    </p>
9012    </blockquote><p>
9013                          
9014    </p>
9015                        
9016    
9017    <p>Where &lt;search-string&gt; is either a regular expression, or a
9018                        word list separated with spaces for OR search and with '+' for AND search.
9019    </p>
9020    <p>Possible Answers:
9021    </p>
9022    <p>
9023                            </p>
9024    <blockquote class="text">
9025    <p>A comma separated list with the absolute path names (encapsulated into
9026                                apostrophes) of all instruments in the specified directory that satisfy
9027                                the supplied search criterias.
9028    </p>
9029    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9030                                    </p>
9031    <blockquote class="text">
9032    <p>if the given directory does not exist.
9033    </p>
9034    </blockquote>
9035                                
9036    
9037    </blockquote><p>
9038                        
9039    </p>
9040    <p>Example:
9041    </p>
9042    <p>
9043                            </p>
9044    <blockquote class="text">
9045    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
9046    </p>
9047    <p>S: "'/Piano Collection/Bosendorfer 290'"
9048    </p>
9049    </blockquote><p>
9050                        
9051    </p>
9052    <p>
9053                            </p>
9054    <blockquote class="text">
9055    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
9056    </p>
9057    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
9058    </p>
9059    </blockquote><p>
9060                        
9061    </p>
9062    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9063    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9064    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9065    Getting job status information</h3>
9066    
9067    <p>The front-end can ask for the current status of a
9068                        particular database instruments job by sending the following command:
9069    </p>
9070    <p>
9071                            </p>
9072    <blockquote class="text">
9073    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9074    </p>
9075    </blockquote><p>
9076                        
9077    </p>
9078    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9079                        of the job the front-end is interested in.
9080    </p>
9081    <p>Possible Answers:
9082    </p>
9083    <p>
9084                            </p>
9085    <blockquote class="text">
9086    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9087                                Each answer line begins with the settings category name
9088                                followed by a colon and then a space character &lt;SP&gt; and finally
9089                                the info character string to that setting category. At the
9090                                moment the following categories are defined:
9091    </p>
9092    <p>
9093                                    </p>
9094    <blockquote class="text">
9095    <p>FILES_TOTAL -
9096                                            </p>
9097    <blockquote class="text">
9098    <p>The total number of files scheduled for scanning
9099    </p>
9100    </blockquote>
9101                                        
9102    
9103    <p>FILES_SCANNED -
9104                                            </p>
9105    <blockquote class="text">
9106    <p>The current number of scanned files
9107    </p>
9108    </blockquote>
9109                                        
9110    
9111    <p>SCANNING -
9112                                            </p>
9113    <blockquote class="text">
9114    <p>The absolute path name of the file which is currently
9115                                                being scanned
9116    </p>
9117    </blockquote>
9118                                        
9119    
9120    <p>STATUS -
9121                                            </p>
9122    <blockquote class="text">
9123    <p>An integer value between 0 and 100 indicating the
9124                                                scanning progress percentage of the file which is
9125                                                currently being scanned
9126    </p>
9127    </blockquote>
9128                                        
9129    
9130    </blockquote>
9131                                
9132    
9133    </blockquote><p>
9134                        
9135    </p>
9136    <p>The mentioned fields above don't have to be in particular order.
9137    </p>
9138    <p>Example:
9139    </p>
9140    <p>
9141                            </p>
9142    <blockquote class="text">
9143    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9144    </p>
9145    <p>S: "FILES_TOTAL: 12"
9146    </p>
9147    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9148    </p>
9149    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9150    </p>
9151    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9152    </p>
9153    <p>&nbsp;&nbsp;&nbsp;"."
9154    </p>
9155    </blockquote><p>
9156                        
9157    </p>
9158    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9159    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9160    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9161    Formatting the instruments database</h3>
9162    
9163    <p>The front-end can remove all instruments and directories and re-create
9164                        the instruments database structure (e.g., in case of a database corruption)
9165                        by sending the following command:
9166    </p>
9167    <p>
9168                            </p>
9169    <blockquote class="text">
9170    <p>FORMAT INSTRUMENTS_DB
9171    </p>
9172    </blockquote><p>
9173                        
9174    </p>
9175    <p>Possible Answers:
9176    </p>
9177    <p>
9178                            </p>
9179    <blockquote class="text">
9180    <p>"OK" -
9181                                    </p>
9182    <blockquote class="text">
9183    <p>on success
9184    </p>
9185    </blockquote>
9186                                
9187    
9188    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9189                                    </p>
9190    <blockquote class="text">
9191    <p>If the formatting of the instruments database
9192                                        failed.
9193    </p>
9194    </blockquote>
9195                                
9196    
9197    </blockquote><p>
9198                        
9199    </p>
9200    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9201    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9202    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9203    Checking for lost instrument files</h3>
9204    
9205    <p>The front-end can retrieve the list of all instrument files in the instruments database
9206                        that don't exist in the filesystem by sending the following command:
9207    </p>
9208    <p>
9209                            </p>
9210    <blockquote class="text">
9211    <p>FIND LOST DB_INSTRUMENT_FILES
9212    </p>
9213    </blockquote><p>
9214                        
9215    </p>
9216    <p>Possible Answers:
9217    </p>
9218    <p>
9219                            </p>
9220    <blockquote class="text">
9221    <p>A comma separated list with the absolute path names
9222                                (encapsulated into apostrophes) of all lost instrument files.
9223    </p>
9224    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9225                                    </p>
9226    <blockquote class="text">
9227    <p>in case it failed, providing an appropriate error code and error message.
9228    </p>
9229    </blockquote>
9230                                
9231    
9232    </blockquote><p>
9233                        
9234    </p>
9235    <p>Example:
9236    </p>
9237    <p>
9238                            </p>
9239    <blockquote class="text">
9240    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9241    </p>
9242    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9243    </p>
9244    </blockquote><p>
9245                        
9246    </p>
9247    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9248    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9249    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9250    Replacing an instrument file</h3>
9251    
9252    <p>The front-end can substitute all occurrences of an instrument file
9253                        in the instruments database with a new one by sending the following command:
9254    </p>
9255    <p>
9256                            </p>
9257    <blockquote class="text">
9258    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9259    </p>
9260    </blockquote><p>
9261                        
9262    </p>
9263    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9264                        to substitute with &lt;new_path&gt;.
9265    </p>
9266    <p>Possible Answers:
9267    </p>
9268    <p>
9269                            </p>
9270    <blockquote class="text">
9271    <p>"OK" -
9272                                    </p>
9273    <blockquote class="text">
9274    <p>on success
9275    </p>
9276    </blockquote>
9277                                
9278    
9279    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9280                                    </p>
9281    <blockquote class="text">
9282    <p>in case it failed, providing an appropriate error code and error message.
9283    </p>
9284    </blockquote>
9285                                
9286    
9287    </blockquote><p>
9288                        
9289    </p>
9290    <p>Example:
9291    </p>
9292    <p>
9293                            </p>
9294    <blockquote class="text">
9295    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9296    </p>
9297    <p>S: "OK"
9298    </p>
9299    </blockquote><p>
9300                        
9301    </p>
9302    <a name="editing_instruments"></a><br /><hr />
9303    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9304    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9305    Editing Instruments</h3>
9306    
9307    <p>The sampler allows to edit instruments while playing with the
9308                    sampler by spawning an external (3rd party) instrument editor
9309                    application for a given instrument. The 3rd party instrument
9310                    editor applications have to place a respective plugin DLL file
9311                    into the sampler's plugins directory. The sampler will
9312                    automatically try to load all plugin DLLs in that directory on
9313                    startup and only on startup!
9314    </p>
9315    <p>At the moment there is only one command for this feature set,
9316                    but this will most probably change in future.
9317    </p>
9318    <a name="EDIT INSTRUMENT"></a><br /><hr />
9319    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9320    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9321    Opening an appropriate instrument editor application</h3>
9322    
9323    <p>The front-end can request to open an appropriate instrument
9324                        editor application by sending the following command:
9325    </p>
9326    <p>
9327                            </p>
9328    <blockquote class="text">
9329    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9330    </p>
9331    </blockquote><p>
9332                        
9333    </p>
9334    <p>Where &lt;sampler-channel&gt; should be replaced by the
9335                        number of the sampler channel as given by the
9336                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9337                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9338                        command.
9339    </p>
9340    <p>The sampler will try to ask all registered instrument
9341                        editors (or to be more specific: their sampler plugins)
9342                        whether they are capable to handle the instrument on the
9343                        given sampler channel. The sampler will simply use the first
9344                        instrument editor application which replied with a positive
9345                        answer and spawn that instrument editor application within
9346                        the sampler's process and provide that application access
9347                        to the instrument's data structures, so both applications
9348                        can share and access the same instruments data at the same
9349                        time, thus allowing to immediately hear changes with the
9350                        sampler made by the instrument editor.
9351    </p>
9352    <p>Note: consequently instrument editors are always spawned
9353                        locally on the same machine where the sampler is running
9354                        on!
9355    </p>
9356    <p>Possible Answers:
9357    </p>
9358    <p>
9359                            </p>
9360    <blockquote class="text">
9361    <p>"OK" -
9362                                    </p>
9363    <blockquote class="text">
9364    <p>when an appropriate instrument editor was
9365                                        launched
9366    </p>
9367    </blockquote>
9368                                
9369    
9370    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9371                                    </p>
9372    <blockquote class="text">
9373    <p>when an appropriate instrument editor was
9374                                        launched, but there are noteworthy issues
9375    </p>
9376    </blockquote>
9377                                
9378    
9379    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9380                                    </p>
9381    <blockquote class="text">
9382    <p>when an appropriate instrument editor
9383                                        could not be launched
9384    </p>
9385    </blockquote>
9386                                
9387    
9388    </blockquote><p>
9389                        
9390    </p>
9391    <p>Examples:
9392    </p>
9393    <p>
9394                            </p>
9395    <blockquote class="text">
9396    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9397    </p>
9398    <p>S: "OK"
9399    </p>
9400    </blockquote><p>
9401                        
9402    </p>
9403    <a name="file_management"></a><br /><hr />
9404    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9405    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9406    Managing Files</h3>
9407    
9408    <p>You can query detailed informations about files located
9409                    at the same system where the sampler instance is running on.
9410                    Using this command set allows to retrieve file informations
9411                    even remotely from another machine.
9412    </p>
9413    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9414    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9415    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9416    Retrieving amount of instruments of a file</h3>
9417    
9418    <p>The front-end can retrieve the amount of instruments
9419                        within a given instrument file by sending the
9420                        following command:
9421    </p>
9422    <p>
9423                            </p>
9424    <blockquote class="text">
9425    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9426    </p>
9427    </blockquote><p>
9428                        
9429    </p>
9430    <p>Where &lt;filename&gt; is the name of the instrument
9431                        file (encapsulated into apostrophes, supporting escape
9432                        sequences as described in chapter
9433                        "<a class='info' href='#character_set'>Character Set and Escape
9434                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9435    </p>
9436    <p>The sampler will try to ask all sampler engines,
9437                        whether they support the given file and ask the first
9438                        engine with a positive answer for the amount of
9439                        instruments.
9440    </p>
9441    <p>Possible Answers:
9442    </p>
9443    <p>
9444                            </p>
9445    <blockquote class="text">
9446    <p>On success, the sampler will answer by
9447                                   returning the amount of instruments.
9448                                
9449    </p>
9450    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9451                                    </p>
9452    <blockquote class="text">
9453    <p>if the file could not be handled
9454    </p>
9455  </blockquote>  </blockquote>
9456                                
9457    
9458    </blockquote><p>
9459                        
9460    </p>
9461  <p>Examples:  <p>Examples:
9462  </p>  </p>
9463  <p></p>  <p>
9464                            </p>
9465    <blockquote class="text">
9466    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9467    </p>
9468    <p>S: "10"
9469    </p>
9470    </blockquote><p>
9471                        
9472    </p>
9473    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9474    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9475    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9476    Retrieving all instruments of a file</h3>
9477    
9478    <p>The front-end can retrieve a list of all instruments
9479                        within a given instrument file by sending the
9480                        following command:
9481    </p>
9482    <p>
9483                            </p>
9484    <blockquote class="text">
9485    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9486    </p>
9487    </blockquote><p>
9488                        
9489    </p>
9490    <p>Where &lt;filename&gt; is the name of the instrument
9491                        file (encapsulated into apostrophes, supporting escape
9492                        sequences as described in chapter
9493                        "<a class='info' href='#character_set'>Character Set and Escape
9494                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9495    </p>
9496    <p>The sampler will try to ask all sampler engines,
9497                        whether they support the given file and ask the first
9498                        engine with a positive answer for a list of IDs for the
9499                        instruments in the given file.
9500    </p>
9501    <p>Possible Answers:
9502    </p>
9503    <p>
9504                            </p>
9505    <blockquote class="text">
9506    <p>On success, the sampler will answer by
9507                                   returning a comma separated list of
9508                                   instrument IDs.
9509                                
9510    </p>
9511    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9512                                    </p>
9513    <blockquote class="text">
9514    <p>if the file could not be handled
9515    </p>
9516    </blockquote>
9517                                
9518    
9519    </blockquote><p>
9520                        
9521    </p>
9522    <p>Examples:
9523    </p>
9524    <p>
9525                            </p>
9526    <blockquote class="text">
9527    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9528    </p>
9529    <p>S: "0,1,2,3,4,5,6,7,8,9"
9530    </p>
9531    </blockquote><p>
9532                        
9533    </p>
9534    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9535    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9536    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9537    Retrieving informations about one instrument in a file</h3>
9538    
9539    <p>The front-end can retrieve detailed informations
9540                        about a specific instrument within a given instrument
9541                        file by sending the following command:
9542    </p>
9543    <p>
9544                            </p>
9545  <blockquote class="text">  <blockquote class="text">
9546    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9547                                &lt;instr-id&gt;
9548    </p>
9549    </blockquote><p>
9550                        
9551    </p>
9552    <p>Where &lt;filename&gt; is the name of the instrument
9553                        file (encapsulated into apostrophes, supporting escape
9554                        sequences as described in chapter
9555                        "<a class='info' href='#character_set'>Character Set and Escape
9556                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9557                        instrument ID as returned by the
9558                        <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.
9559    </p>
9560    <p>The sampler will try to ask all sampler engines,
9561                        whether they support the given file and ask the first
9562                        engine with a positive answer for informations about the
9563                        specific instrument in the given file.
9564    </p>
9565    <p>Possible Answers:
9566    </p>
9567  <p>  <p>
9568                            </p>
9569    <blockquote class="text">
9570    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9571                                Each answer line begins with the settings category name
9572                                followed by a colon and then a space character &lt;SP&gt; and finally
9573                                the info character string to that setting category. At the
9574                                moment the following categories are defined:
9575    </p>
9576    <p>
9577                                    </p>
9578    <blockquote class="text">
9579    <p>NAME -
9580                                            </p>
9581    <blockquote class="text">
9582    <p>name of the instrument as
9583                                                stored in the instrument file
9584    </p>
9585    </blockquote>
9586                                        
9587    
9588    <p>FORMAT_FAMILY -
9589                                            </p>
9590    <blockquote class="text">
9591    <p>name of the sampler format
9592                                                of the given instrument
9593    </p>
9594    </blockquote>
9595                                        
9596    
9597    <p>FORMAT_VERSION -
9598                                            </p>
9599    <blockquote class="text">
9600    <p>version of the sampler format
9601                                                the instrumen is stored as
9602    </p>
9603    </blockquote>
9604                                        
9605    
9606    <p>PRODUCT -
9607                                            </p>
9608    <blockquote class="text">
9609    <p>official product name of the
9610                                                instrument as stored in the file
9611                                                
9612    </p>
9613    </blockquote>
9614                                        
9615    
9616    <p>ARTISTS -
9617                                            </p>
9618    <blockquote class="text">
9619    <p>artists / sample library
9620                                                vendor of the instrument
9621  </p>  </p>
9622  </blockquote>  </blockquote>
9623                                        
9624    
9625    <p>KEY_BINDINGS -
9626                                            </p>
9627    <blockquote class="text">
9628    <p>comma separated list of integer values representing
9629                                                   the instrument's key mapping in the range between 0 .. 127,
9630                                                   reflecting the analog meaning of the MIDI specification.
9631    </p>
9632    </blockquote>
9633                                        
9634    
9635    <p>KEYSWITCH_BINDINGS -
9636                                            </p>
9637    <blockquote class="text">
9638    <p>comma separated list of integer values representing
9639                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
9640                                                   reflecting the analog meaning of the MIDI specification.
9641    </p>
9642    </blockquote>
9643                                        
9644    
9645    </blockquote>
9646                                
9647    
9648    </blockquote><p>
9649                        
9650    </p>
9651    <p>The mentioned fields above don't have to be in particular order.
9652    </p>
9653    <p>Example:
9654    </p>
9655    <p>
9656                            </p>
9657    <blockquote class="text">
9658    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9659    </p>
9660    <p>S: "NAME: Lunatic Loops"
9661    </p>
9662    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9663    </p>
9664    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9665    </p>
9666    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9667    </p>
9668    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9669    </p>
9670    <p>&nbsp;&nbsp;&nbsp;"."
9671    </p>
9672    </blockquote><p>
9673                        
9674    </p>
9675  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9676  <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>
9677  <a name="rfc.section.6"></a><h3>6.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9678    Command Syntax</h3>
9679    
9680    <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>
9681                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>)
9682                where applicable.
9683                
9684    </p>
9685    <p>input =
9686            </p>
9687    <blockquote class="text">
9688    <p>line LF
9689                    
9690    </p>
9691    <p>/ line CR LF
9692                    
9693    </p>
9694    </blockquote><p>
9695    
9696    </p>
9697    <p>line =
9698            </p>
9699    <blockquote class="text">
9700    <p>/* epsilon (empty line ignored) */
9701                    
9702    </p>
9703    <p>/ comment
9704                    
9705    </p>
9706    <p>/ command
9707                    
9708    </p>
9709    <p>/ error
9710                    
9711    </p>
9712    </blockquote><p>
9713    
9714    </p>
9715    <p>comment =
9716            </p>
9717    <blockquote class="text">
9718    <p>'#'
9719                    
9720    </p>
9721    <p>/ comment '#'
9722                    
9723    </p>
9724    <p>/ comment SP
9725                    
9726    </p>
9727    <p>/ comment number
9728                    
9729    </p>
9730    <p>/ comment string
9731                    
9732    </p>
9733    </blockquote><p>
9734    
9735    </p>
9736    <p>command =
9737            </p>
9738    <blockquote class="text">
9739    <p>ADD SP add_instruction
9740                    
9741    </p>
9742    <p>/ MAP SP map_instruction
9743                    
9744    </p>
9745    <p>/ UNMAP SP unmap_instruction
9746                    
9747    </p>
9748    <p>/ GET SP get_instruction
9749                    
9750    </p>
9751    <p>/ CREATE SP create_instruction
9752                    
9753    </p>
9754    <p>/ DESTROY SP destroy_instruction
9755                    
9756    </p>
9757    <p>/ LIST SP list_instruction
9758                    
9759    </p>
9760    <p>/ LOAD SP load_instruction
9761                    
9762    </p>
9763    <p>/ REMOVE SP remove_instruction
9764                    
9765    </p>
9766    <p>/ SET SP set_instruction
9767                    
9768    </p>
9769    <p>/ SUBSCRIBE SP subscribe_event
9770                    
9771    </p>
9772    <p>/ UNSUBSCRIBE SP unsubscribe_event
9773                    
9774    </p>
9775    <p>/ RESET SP reset_instruction
9776                    
9777    </p>
9778    <p>/ CLEAR SP clear_instruction
9779                    
9780    </p>
9781    <p>/ FIND SP find_instruction
9782                    
9783    </p>
9784    <p>/ MOVE SP move_instruction
9785                    
9786    </p>
9787    <p>/ COPY SP copy_instruction
9788                    
9789    </p>
9790    <p>/ EDIT SP edit_instruction
9791                    
9792    </p>
9793    <p>/ FORMAT SP format_instruction
9794                    
9795    </p>
9796    <p>SEND SP send_instruction
9797                    
9798    </p>
9799    <p>/ RESET
9800                    
9801    </p>
9802    <p>/ QUIT
9803                    
9804    </p>
9805    </blockquote><p>
9806    
9807    </p>
9808    <p>add_instruction =
9809            </p>
9810    <blockquote class="text">
9811    <p>CHANNEL
9812                    
9813    </p>
9814    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9815                    
9816    </p>
9817    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9818                    
9819    </p>
9820    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9821                    
9822    </p>
9823    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9824                    
9825    </p>
9826    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9827                    
9828    </p>
9829    <p>/ DB_INSTRUMENTS SP db_path SP filename
9830                    
9831    </p>
9832    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9833                    
9834    </p>
9835    <p>/ MIDI_INSTRUMENT_MAP
9836                    
9837    </p>
9838    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9839                    
9840    </p>
9841    </blockquote><p>
9842    
9843    </p>
9844    <p>subscribe_event =
9845            </p>
9846    <blockquote class="text">
9847    <p>AUDIO_OUTPUT_DEVICE_COUNT
9848                    
9849    </p>
9850    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9851                    
9852    </p>
9853    <p>/ MIDI_INPUT_DEVICE_COUNT
9854                    
9855    </p>
9856    <p>/ MIDI_INPUT_DEVICE_INFO
9857                    
9858    </p>
9859    <p>/ CHANNEL_COUNT
9860                    
9861    </p>
9862    <p>/ CHANNEL_MIDI
9863                    
9864    </p>
9865    <p>/ DEVICE_MIDI
9866                    
9867    </p>
9868    <p>/ VOICE_COUNT
9869                    
9870    </p>
9871    <p>/ STREAM_COUNT
9872                    
9873    </p>
9874    <p>/ BUFFER_FILL
9875                    
9876    </p>
9877    <p>/ CHANNEL_INFO
9878                    
9879    </p>
9880    <p>/ FX_SEND_COUNT
9881                    
9882    </p>
9883    <p>/ FX_SEND_INFO
9884                    
9885    </p>
9886    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9887                    
9888    </p>
9889    <p>/ MIDI_INSTRUMENT_MAP_INFO
9890                    
9891    </p>
9892    <p>/ MIDI_INSTRUMENT_COUNT
9893                    
9894    </p>
9895    <p>/ MIDI_INSTRUMENT_INFO
9896                    
9897    </p>
9898    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9899                    
9900    </p>
9901    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9902                    
9903    </p>
9904    <p>/ DB_INSTRUMENT_COUNT
9905                    
9906    </p>
9907    <p>/ DB_INSTRUMENT_INFO
9908                    
9909    </p>
9910    <p>/ DB_INSTRUMENTS_JOB_INFO
9911                    
9912    </p>
9913    <p>/ MISCELLANEOUS
9914                    
9915    </p>
9916    <p>/ TOTAL_STREAM_COUNT
9917                    
9918    </p>
9919    <p>/ TOTAL_VOICE_COUNT
9920                    
9921    </p>
9922    <p>/ GLOBAL_INFO
9923                    
9924    </p>
9925    </blockquote><p>
9926    
9927    </p>
9928    <p>unsubscribe_event =
9929            </p>
9930    <blockquote class="text">
9931    <p>AUDIO_OUTPUT_DEVICE_COUNT
9932                    
9933    </p>
9934    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9935                    
9936    </p>
9937    <p>/ MIDI_INPUT_DEVICE_COUNT
9938                    
9939    </p>
9940    <p>/ MIDI_INPUT_DEVICE_INFO
9941                    
9942    </p>
9943    <p>/ CHANNEL_COUNT
9944                    
9945    </p>
9946    <p>/ CHANNEL_MIDI
9947                    
9948    </p>
9949    <p>/ DEVICE_MIDI
9950                    
9951    </p>
9952    <p>/ VOICE_COUNT
9953                    
9954    </p>
9955    <p>/ STREAM_COUNT
9956                    
9957    </p>
9958    <p>/ BUFFER_FILL
9959                    
9960    </p>
9961    <p>/ CHANNEL_INFO
9962                    
9963    </p>
9964    <p>/ FX_SEND_COUNT
9965                    
9966    </p>
9967    <p>/ FX_SEND_INFO
9968                    
9969    </p>
9970    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9971                    
9972    </p>
9973    <p>/ MIDI_INSTRUMENT_MAP_INFO
9974                    
9975    </p>
9976    <p>/ MIDI_INSTRUMENT_COUNT
9977                    
9978    </p>
9979    <p>/ MIDI_INSTRUMENT_INFO
9980                    
9981    </p>
9982    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9983                    
9984    </p>
9985    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9986                    
9987    </p>
9988    <p>/ DB_INSTRUMENT_COUNT
9989                    
9990    </p>
9991    <p>/ DB_INSTRUMENT_INFO
9992                    
9993    </p>
9994    <p>/ DB_INSTRUMENTS_JOB_INFO
9995                    
9996    </p>
9997    <p>/ MISCELLANEOUS
9998                    
9999    </p>
10000    <p>/ TOTAL_STREAM_COUNT
10001                    
10002    </p>
10003    <p>/ TOTAL_VOICE_COUNT
10004                    
10005    </p>
10006    <p>/ GLOBAL_INFO
10007                    
10008    </p>
10009    </blockquote><p>
10010    
10011    </p>
10012    <p>map_instruction =
10013            </p>
10014    <blockquote class="text">
10015    <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
10016                    
10017    </p>
10018    <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
10019                    
10020    </p>
10021    <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
10022                    
10023    </p>
10024    <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
10025                    
10026    </p>
10027    </blockquote><p>
10028    
10029    </p>
10030    <p>unmap_instruction =
10031            </p>
10032    <blockquote class="text">
10033    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
10034                    
10035    </p>
10036    </blockquote><p>
10037    
10038    </p>
10039    <p>remove_instruction =
10040            </p>
10041    <blockquote class="text">
10042    <p>CHANNEL SP sampler_channel
10043                    
10044    </p>
10045    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
10046                    
10047    </p>
10048    <p>/ MIDI_INSTRUMENT_MAP SP ALL
10049                    
10050    </p>
10051    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
10052                    
10053    </p>
10054    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10055                    
10056    </p>
10057    <p>/ DB_INSTRUMENT SP db_path
10058                    
10059    </p>
10060    </blockquote><p>
10061    
10062    </p>
10063    <p>get_instruction =
10064            </p>
10065    <blockquote class="text">
10066    <p>AVAILABLE_ENGINES
10067                    
10068    </p>
10069    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
10070                    
10071    </p>
10072    <p>/ MIDI_INPUT_DRIVER SP INFO SP string
10073                    
10074    </p>
10075    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string
10076                    
10077    </p>
10078    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
10079                    
10080    </p>
10081    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10082                    
10083    </p>
10084    <p>/ AUDIO_OUTPUT_DRIVER SP INFO SP string
10085                    
10086    </p>
10087    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string
10088                    
10089    </p>
10090    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
10091                    
10092    </p>
10093    <p>/ AUDIO_OUTPUT_DEVICES
10094                    
10095    </p>
10096    <p>/ MIDI_INPUT_DEVICES
10097                    
10098    </p>
10099    <p>/ AUDIO_OUTPUT_DEVICE SP INFO SP number
10100                    
10101    </p>
10102    <p>/ MIDI_INPUT_DEVICE SP INFO SP number
10103                    
10104    </p>
10105    <p>/ MIDI_INPUT_PORT SP INFO SP number SP number
10106                    
10107    </p>
10108    <p>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string
10109                    
10110    </p>
10111    <p>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number
10112                    
10113    </p>
10114    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string
10115                    
10116    </p>
10117    <p>/ CHANNELS
10118                    
10119    </p>
10120    <p>/ CHANNEL SP INFO SP sampler_channel
10121                    
10122    </p>
10123    <p>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel
10124                    
10125    </p>
10126    <p>/ CHANNEL SP STREAM_COUNT SP sampler_channel
10127                    
10128    </p>
10129    <p>/ CHANNEL SP VOICE_COUNT SP sampler_channel
10130                    
10131    </p>
10132    <p>/ ENGINE SP INFO SP engine_name
10133                    
10134    </p>
10135    <p>/ SERVER SP INFO
10136                    
10137    </p>
10138    <p>/ TOTAL_STREAM_COUNT
10139                    
10140    </p>
10141    <p>/ TOTAL_VOICE_COUNT
10142                    
10143    </p>
10144    <p>/ TOTAL_VOICE_COUNT_MAX
10145                    
10146    </p>
10147    <p>/ MIDI_INSTRUMENTS SP midi_map
10148                    
10149    </p>
10150    <p>/ MIDI_INSTRUMENTS SP ALL
10151                    
10152    </p>
10153    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
10154                    
10155    </p>
10156    <p>/ MIDI_INSTRUMENT_MAPS
10157                    
10158    </p>
10159    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
10160                    
10161    </p>
10162    <p>/ FX_SENDS SP sampler_channel
10163                    
10164    </p>
10165    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
10166                    
10167    </p>
10168    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10169                    
10170    </p>
10171    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10172                    
10173    </p>
10174    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
10175                    
10176    </p>
10177    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10178                    
10179    </p>
10180    <p>/ DB_INSTRUMENTS SP db_path
10181                    
10182    </p>
10183    <p>/ DB_INSTRUMENT SP INFO SP db_path
10184                    
10185    </p>
10186    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
10187                    
10188    </p>
10189    <p>/ VOLUME
10190                    
10191    </p>
10192    <p>/ FILE SP INSTRUMENTS SP filename
10193                    
10194    </p>
10195    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
10196                    
10197    </p>
10198    </blockquote><p>
10199    
10200    </p>
10201    <p>set_instruction =
10202            </p>
10203    <blockquote class="text">
10204    <p>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10205                    
10206    </p>
10207    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list
10208                    
10209    </p>
10210    <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10211                    
10212    </p>
10213    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
10214                    
10215    </p>
10216    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
10217                    
10218    </p>
10219    <p>/ CHANNEL SP set_chan_instruction
10220                    
10221    </p>
10222    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
10223                    
10224    </p>
10225    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10226                    
10227    </p>
10228    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10229                    
10230    </p>
10231    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
10232                    
10233    </p>
10234    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10235                    
10236    </p>
10237    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10238                    
10239    </p>
10240    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10241                    
10242    </p>
10243    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10244                    
10245    </p>
10246    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10247                    
10248    </p>
10249    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10250                    
10251    </p>
10252    <p>/ ECHO SP boolean
10253                    
10254    </p>
10255    <p>/ VOLUME SP volume_value
10256                    
10257    </p>
10258    </blockquote><p>
10259    
10260    </p>
10261    <p>create_instruction =
10262            </p>
10263    <blockquote class="text">
10264    <p>AUDIO_OUTPUT_DEVICE SP string SP key_val_list
10265                    
10266    </p>
10267    <p>/ AUDIO_OUTPUT_DEVICE SP string
10268                    
10269    </p>
10270    <p>/ MIDI_INPUT_DEVICE SP string SP key_val_list
10271                    
10272    </p>
10273    <p>/ MIDI_INPUT_DEVICE SP string
10274                    
10275    </p>
10276    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
10277                    
10278    </p>
10279    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
10280                    
10281    </p>
10282    </blockquote><p>
10283    
10284    </p>
10285    <p>reset_instruction =
10286            </p>
10287    <blockquote class="text">
10288    <p>CHANNEL SP sampler_channel
10289                    
10290    </p>
10291    </blockquote><p>
10292    
10293    </p>
10294    <p>clear_instruction =
10295            </p>
10296    <blockquote class="text">
10297    <p>MIDI_INSTRUMENTS SP midi_map
10298                    
10299    </p>
10300    <p>/ MIDI_INSTRUMENTS SP ALL
10301                    
10302    </p>
10303    </blockquote><p>
10304    
10305    </p>
10306    <p>find_instruction =
10307            </p>
10308    <blockquote class="text">
10309    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10310                    
10311    </p>
10312    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10313                    
10314    </p>
10315    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10316                    
10317    </p>
10318    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10319                    
10320    </p>
10321    <p>/ LOST SP DB_INSTRUMENT_FILES
10322                    
10323    </p>
10324    </blockquote><p>
10325    
10326    </p>
10327    <p>move_instruction =
10328            </p>
10329    <blockquote class="text">
10330    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10331                    
10332    </p>
10333    <p>/ DB_INSTRUMENT SP db_path SP db_path
10334                    
10335    </p>
10336    </blockquote><p>
10337    
10338    </p>
10339    <p>copy_instruction =
10340            </p>
10341    <blockquote class="text">
10342    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10343                    
10344    </p>
10345    <p>/ DB_INSTRUMENT SP db_path SP db_path
10346                    
10347    </p>
10348    </blockquote><p>
10349    
10350    </p>
10351    <p>destroy_instruction =
10352            </p>
10353    <blockquote class="text">
10354    <p>AUDIO_OUTPUT_DEVICE SP number
10355                    
10356    </p>
10357    <p>/ MIDI_INPUT_DEVICE SP number
10358                    
10359    </p>
10360    <p>/ FX_SEND SP sampler_channel SP fx_send_id
10361                    
10362    </p>
10363    </blockquote><p>
10364    
10365    </p>
10366    <p>load_instruction =
10367            </p>
10368    <blockquote class="text">
10369    <p>INSTRUMENT SP load_instr_args
10370                    
10371    </p>
10372    <p>/ ENGINE SP load_engine_args
10373                    
10374    </p>
10375    </blockquote><p>
10376    
10377    </p>
10378    <p>set_chan_instruction =
10379            </p>
10380    <blockquote class="text">
10381    <p>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index
10382                    
10383    </p>
10384    <p>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index
10385                    
10386    </p>
10387    <p>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name
10388                    
10389    </p>
10390    <p>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index
10391                    
10392    </p>
10393    <p>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index
10394                    
10395    </p>
10396    <p>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index
10397                    
10398    </p>
10399    <p>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index
10400                    
10401    </p>
10402    <p>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name
10403                    
10404    </p>
10405    <p>/ VOLUME SP sampler_channel SP volume_value
10406                    
10407    </p>
10408    <p>/ MUTE SP sampler_channel SP boolean
10409                    
10410    </p>
10411    <p>/ SOLO SP sampler_channel SP boolean
10412                    
10413    </p>
10414    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
10415                    
10416    </p>
10417    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
10418                    
10419    </p>
10420    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
10421                    
10422    </p>
10423    </blockquote><p>
10424    
10425    </p>
10426    <p>edit_instruction =
10427            </p>
10428    <blockquote class="text">
10429    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10430                    
10431    </p>
10432    </blockquote><p>
10433    
10434    </p>
10435    <p>format_instruction =
10436            </p>
10437    <blockquote class="text">
10438    <p>INSTRUMENTS_DB
10439                    
10440    </p>
10441    </blockquote><p>
10442    
10443    </p>
10444    <p>modal_arg =
10445            </p>
10446    <blockquote class="text">
10447    <p>/* epsilon (empty argument) */
10448                    
10449    </p>
10450    <p>/ NON_MODAL SP
10451                    
10452    </p>
10453    </blockquote><p>
10454    
10455    </p>
10456    <p>key_val_list =
10457            </p>
10458    <blockquote class="text">
10459    <p>string '=' param_val_list
10460                    
10461    </p>
10462    <p>/ key_val_list SP string '=' param_val_list
10463                    
10464    </p>
10465    </blockquote><p>
10466    
10467    </p>
10468    <p>buffer_size_type =
10469            </p>
10470    <blockquote class="text">
10471    <p>BYTES
10472                    
10473    </p>
10474    <p>/ PERCENTAGE
10475                    
10476    </p>
10477    </blockquote><p>
10478    
10479    </p>
10480    <p>list_instruction =
10481            </p>
10482    <blockquote class="text">
10483    <p>AUDIO_OUTPUT_DEVICES
10484                    
10485    </p>
10486    <p>/ MIDI_INPUT_DEVICES
10487                    
10488    </p>
10489    <p>/ CHANNELS
10490                    
10491    </p>
10492    <p>/ AVAILABLE_ENGINES
10493                    
10494    </p>
10495    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
10496                    
10497    </p>
10498    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10499                    
10500    </p>
10501    <p>/ MIDI_INSTRUMENTS SP midi_map
10502                    
10503    </p>
10504    <p>/ MIDI_INSTRUMENTS SP ALL
10505                    
10506    </p>
10507    <p>/ MIDI_INSTRUMENT_MAPS
10508                    
10509    </p>
10510    <p>/ FX_SENDS SP sampler_channel
10511                    
10512    </p>
10513    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10514                    
10515    </p>
10516    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10517                    
10518    </p>
10519    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10520                    
10521    </p>
10522    <p>/ DB_INSTRUMENTS SP db_path
10523                    
10524    </p>
10525    <p>/ FILE SP INSTRUMENTS SP filename
10526                    
10527    </p>
10528    </blockquote><p>
10529    
10530    </p>
10531    <p>send_instruction =
10532            </p>
10533    <blockquote class="text">
10534    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
10535                    
10536    </p>
10537    </blockquote><p>
10538    
10539    </p>
10540    <p>load_instr_args =
10541            </p>
10542    <blockquote class="text">
10543    <p>filename SP instrument_index SP sampler_channel
10544                    
10545    </p>
10546    <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
10547                    
10548    </p>
10549    </blockquote><p>
10550    
10551    </p>
10552    <p>load_engine_args =
10553            </p>
10554    <blockquote class="text">
10555    <p>engine_name SP sampler_channel
10556                    
10557    </p>
10558    </blockquote><p>
10559    
10560    </p>
10561    <p>instr_load_mode =
10562            </p>
10563    <blockquote class="text">
10564    <p>ON_DEMAND
10565                    
10566    </p>
10567    <p>/ ON_DEMAND_HOLD
10568                    
10569    </p>
10570    <p>/ PERSISTENT
10571                    
10572    </p>
10573    </blockquote><p>
10574    
10575    </p>
10576    <p>device_index =
10577            </p>
10578    <blockquote class="text">
10579    <p>number
10580                    
10581    </p>
10582    </blockquote><p>
10583    
10584    </p>
10585    <p>audio_channel_index =
10586            </p>
10587    <blockquote class="text">
10588    <p>number
10589                    
10590    </p>
10591    </blockquote><p>
10592    
10593    </p>
10594    <p>audio_output_type_name =
10595            </p>
10596    <blockquote class="text">
10597    <p>string
10598                    
10599    </p>
10600    </blockquote><p>
10601    
10602    </p>
10603    <p>midi_input_port_index =
10604            </p>
10605    <blockquote class="text">
10606    <p>number
10607                    
10608    </p>
10609    </blockquote><p>
10610    
10611    </p>
10612    <p>midi_input_channel_index =
10613            </p>
10614    <blockquote class="text">
10615    <p>number
10616                    
10617    </p>
10618    <p>/ ALL
10619                    
10620    </p>
10621    </blockquote><p>
10622    
10623    </p>
10624    <p>midi_input_type_name =
10625            </p>
10626    <blockquote class="text">
10627    <p>string
10628                    
10629    </p>
10630    </blockquote><p>
10631    
10632    </p>
10633    <p>midi_map =
10634            </p>
10635    <blockquote class="text">
10636    <p>number
10637                    
10638    </p>
10639    </blockquote><p>
10640    
10641    </p>
10642    <p>midi_bank =
10643            </p>
10644    <blockquote class="text">
10645    <p>number
10646                    
10647    </p>
10648    </blockquote><p>
10649    
10650    </p>
10651    <p>midi_prog =
10652            </p>
10653    <blockquote class="text">
10654    <p>number
10655                    
10656    </p>
10657    </blockquote><p>
10658    
10659    </p>
10660    <p>midi_ctrl =
10661            </p>
10662    <blockquote class="text">
10663    <p>number
10664                    
10665    </p>
10666    </blockquote><p>
10667    
10668    </p>
10669    <p>volume_value =
10670            </p>
10671    <blockquote class="text">
10672    <p>dotnum
10673                    
10674    </p>
10675    <p>/ number
10676                    
10677    </p>
10678    </blockquote><p>
10679    
10680    </p>
10681    <p>sampler_channel =
10682            </p>
10683    <blockquote class="text">
10684    <p>number
10685                    
10686    </p>
10687    </blockquote><p>
10688    
10689    </p>
10690    <p>instrument_index =
10691            </p>
10692    <blockquote class="text">
10693    <p>number
10694                    
10695    </p>
10696    </blockquote><p>
10697    
10698    </p>
10699    <p>fx_send_id =
10700            </p>
10701    <blockquote class="text">
10702    <p>number
10703                    
10704    </p>
10705    </blockquote><p>
10706    
10707    </p>
10708    <p>engine_name =
10709            </p>
10710    <blockquote class="text">
10711    <p>string
10712                    
10713    </p>
10714    </blockquote><p>
10715    
10716    </p>
10717    <p>filename =
10718            </p>
10719    <blockquote class="text">
10720    <p>path
10721                    
10722    </p>
10723    </blockquote><p>
10724    
10725    </p>
10726    <p>db_path =
10727            </p>
10728    <blockquote class="text">
10729    <p>path
10730                    
10731    </p>
10732    </blockquote><p>
10733    
10734    </p>
10735    <p>map_name =
10736            </p>
10737    <blockquote class="text">
10738    <p>stringval_escaped
10739                    
10740    </p>
10741    </blockquote><p>
10742    
10743    </p>
10744    <p>entry_name =
10745            </p>
10746    <blockquote class="text">
10747    <p>stringval_escaped
10748                    
10749    </p>
10750    </blockquote><p>
10751    
10752    </p>
10753    <p>fx_send_name =
10754            </p>
10755    <blockquote class="text">
10756    <p>stringval_escaped
10757                    
10758    </p>
10759    </blockquote><p>
10760    
10761    </p>
10762    <p>param_val_list =
10763            </p>
10764    <blockquote class="text">
10765    <p>param_val
10766                    
10767    </p>
10768    <p>/ param_val_list','param_val
10769                    
10770    </p>
10771    </blockquote><p>
10772    
10773    </p>
10774    <p>param_val =
10775            </p>
10776    <blockquote class="text">
10777    <p>string
10778                    
10779    </p>
10780    <p>/ stringval
10781                    
10782    </p>
10783    <p>/ number
10784                    
10785    </p>
10786    <p>/ dotnum
10787                    
10788    </p>
10789    </blockquote><p>
10790    
10791    </p>
10792    <p>query_val_list =
10793            </p>
10794    <blockquote class="text">
10795    <p>string '=' query_val
10796                    
10797    </p>
10798    <p>/ query_val_list SP string '=' query_val
10799                    
10800    </p>
10801    </blockquote><p>
10802    
10803    </p>
10804    <p>query_val =
10805            </p>
10806    <blockquote class="text">
10807    <p>text_escaped
10808                    
10809    </p>
10810    <p>/ stringval_escaped
10811                    
10812    </p>
10813    </blockquote><p>
10814    
10815  <p>TODO: will soon automatically included from src/network/lscp.y,  </p>
10816              meanwhile have a look at that file to get the exact definition of  <p>scan_mode =
10817              the command syntax.          </p>
10818    <blockquote class="text">
10819    <p>RECURSIVE
10820                    
10821    </p>
10822    <p>/ NON_RECURSIVE
10823                    
10824    </p>
10825    <p>/ FLAT
10826                    
10827    </p>
10828    </blockquote><p>
10829    
10830    </p>
10831    <a name="character_set"></a><br /><hr />
10832    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10833    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10834    Character Set and Escape Sequences</h3>
10835    
10836    <p>Older versions of this protocol up to and including v1.1 only
10837                    supported the standard ASCII character set (ASCII code 0 - 127)
10838                    <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
10839                    however support the Extended ASCII character set (ASCII code
10840                    0 - 255). The same group of younger protocols also support
10841                    escape sequences, but only for certain, explicitly declared
10842                    parts of the protocol. The supported escape sequences are
10843                    defined as follows:
10844    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10845    <col align="left"><col align="left">
10846    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10847    <tr>
10848    <td align="left">\n</td>
10849    <td align="left">new line</td>
10850    </tr>
10851    <tr>
10852    <td align="left">\r</td>
10853    <td align="left">carriage return</td>
10854    </tr>
10855    <tr>
10856    <td align="left">\f</td>
10857    <td align="left">form feed</td>
10858    </tr>
10859    <tr>
10860    <td align="left">\t</td>
10861    <td align="left">horizontal tab</td>
10862    </tr>
10863    <tr>
10864    <td align="left">\v</td>
10865    <td align="left">vertical tab</td>
10866    </tr>
10867    <tr>
10868    <td align="left">\'</td>
10869    <td align="left">apostrophe</td>
10870    </tr>
10871    <tr>
10872    <td align="left">\"</td>
10873    <td align="left">quotation mark</td>
10874    </tr>
10875    <tr>
10876    <td align="left">\\</td>
10877    <td align="left">backslash</td>
10878    </tr>
10879    <tr>
10880    <td align="left">\OOO</td>
10881    <td align="left">three digit octal ASCII code of the character</td>
10882    </tr>
10883    <tr>
10884    <td align="left">\xHH</td>
10885    <td align="left">two digit hex ASCII code of the character</td>
10886    </tr>
10887    </table>
10888    
10889    <p>Notice: due to the transition of certain parts of the
10890                    protocol which now support escape sequences, a slight backward
10891                    incompatibility to protocols version v1.1 and younger has been
10892                    introduced. The only difference is that in parts of the protocol
10893                    where escape characters are now supported, a backslash characters
10894                    MUST be escaped as well (that is as double backslash), whereas
10895                    in the old versions a single backslash was sufficient.
10896    </p>
10897    <p>The following LSCP commands support escape sequences as part
10898                    of their filename / path based arguments and / or may contain
10899                    a filename / path with escape sequences in their response:
10900                    </p>
10901    <blockquote class="text">
10902    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10903    </p>
10904    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10905    </p>
10906    <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>
10907    </p>
10908    <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>
10909    </p>
10910    <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>
10911    </p>
10912    <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>
10913    </p>
10914    <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>
10915    </p>
10916    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10917    </p>
10918    <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>
10919    </p>
10920    <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>
10921    </p>
10922    <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>
10923    </p>
10924    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10925    </p>
10926    <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>
10927    </p>
10928    <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>
10929    </p>
10930    <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>
10931    </p>
10932    <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>
10933    </p>
10934    <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>
10935    </p>
10936    <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>
10937    </p>
10938    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10939    </p>
10940    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10941    </p>
10942    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10943    </p>
10944    <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>
10945    </p>
10946    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10947    </p>
10948    <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>
10949    </p>
10950    <p><a class='info' href='#FIND LOST DB_INSTRUMENT_FILES'>"FIND LOST DB_INSTRUMENT_FILES"<span> (</span><span class='info'>Checking for lost instrument files</span><span>)</span></a>
10951    </p>
10952    <p><a class='info' href='#SET DB_INSTRUMENT FILE_PATH'>"SET DB_INSTRUMENT FILE_PATH"<span> (</span><span class='info'>Replacing an instrument file</span><span>)</span></a>
10953    </p>
10954    <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>
10955    </p>
10956    <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>
10957    </p>
10958    <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>
10959    </p>
10960    </blockquote><p>
10961                    Note that the forward slash character ('/') has a special meaning in
10962                    filename / path based arguments: it acts as separator of the nodes in
10963                    the path, thus if a directory- or filename includes a forward slash
10964                    (not intended as path node separator), you MUST escape that slash
10965                    either with the respective hex escape sequence ("\x2f") or with the
10966                    respective octal escape sequence ("\057").
10967                    
10968    </p>
10969    <p>
10970                    Note for Windows: file path arguments in LSCP are expected
10971                    to use forward slashes as directory node separator similar
10972                    to Unix based operating systems. In contrast to Unix however
10973                    a Windows typical drive character is expected to be
10974                    prefixed to the path. That is an original Windows file path
10975                    like "D:\Sounds\My.gig" would become in LSCP:
10976                    "D:/Sounds/My.gig".
10977                    
10978    </p>
10979    <p>
10980                    The following LSCP commands even support escape sequences as
10981                    part of at least one of their text-based arguments (i.e. entity name,
10982                    description) and / or may contain escape sequences in at least one of
10983                    their text-based fields in their response:
10984                    </p>
10985    <blockquote class="text">
10986    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10987    </p>
10988    <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>
10989    </p>
10990    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10991    </p>
10992    <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>
10993    </p>
10994    <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>
10995    </p>
10996    <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>
10997    </p>
10998    <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>
10999    </p>
11000    <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>
11001    </p>
11002    <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>
11003    </p>
11004    <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>
11005    </p>
11006    <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>
11007    </p>
11008    <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>
11009    </p>
11010    <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>
11011    </p>
11012    <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>
11013    </p>
11014    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11015    </p>
11016    <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>
11017    </p>
11018    <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>
11019    </p>
11020    <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>
11021    </p>
11022    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11023    </p>
11024    </blockquote><p>
11025                    Please note that these lists are manually maintained. If you
11026                    find a command that also supports escape sequences we forgot to
11027                    mention here, please report it!
11028                    
11029  </p>  </p>
11030  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
11031  <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>
11032  <a name="rfc.section.7"></a><h3>7.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
11033    Events</h3>
11034    
11035  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
11036  </p>  </p>
11037  <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 />
11038    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11039    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
11040    Number of audio output devices changed</h3>
11041    
11042    <p>Client may want to be notified when the total number of audio output devices on the
11043                    back-end changes by issuing the following command:
11044    </p>
11045    <p>
11046                        </p>
11047    <blockquote class="text">
11048    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
11049    </p>
11050    </blockquote><p>
11051                    
11052    </p>
11053    <p>Server will start sending the following notification messages:
11054    </p>
11055    <p>
11056                        </p>
11057    <blockquote class="text">
11058    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
11059    </p>
11060    </blockquote><p>
11061                    
11062    </p>
11063    <p>where &lt;devices&gt; will be replaced by the new number
11064                    of audio output devices.
11065    </p>
11066    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
11067    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11068    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
11069    Audio output device's settings changed</h3>
11070    
11071    <p>Client may want to be notified when changes were made to audio output devices on the
11072                    back-end by issuing the following command:
11073    </p>
11074    <p>
11075                        </p>
11076    <blockquote class="text">
11077    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
11078    </p>
11079    </blockquote><p>
11080                    
11081    </p>
11082    <p>Server will start sending the following notification messages:
11083    </p>
11084    <p>
11085                        </p>
11086    <blockquote class="text">
11087    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
11088    </p>
11089    </blockquote><p>
11090                    
11091    </p>
11092    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
11093                    which settings has been changed. The front-end will have to send
11094                    the respective command to actually get the audio output device info. Because these messages
11095                    will be triggered by LSCP commands issued by other clients rather than real
11096                    time events happening on the server, it is believed that an empty notification
11097                    message is sufficient here.
11098    </p>
11099    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
11100    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11101    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
11102    Number of MIDI input devices changed</h3>
11103    
11104    <p>Client may want to be notified when the total number of MIDI input devices on the
11105                    back-end changes by issuing the following command:
11106    </p>
11107    <p>
11108                        </p>
11109    <blockquote class="text">
11110    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
11111    </p>
11112    </blockquote><p>
11113                    
11114    </p>
11115    <p>Server will start sending the following notification messages:
11116    </p>
11117    <p>
11118                        </p>
11119    <blockquote class="text">
11120    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
11121    </p>
11122    </blockquote><p>
11123                    
11124    </p>
11125    <p>where &lt;devices&gt; will be replaced by the new number
11126                    of MIDI input devices.
11127    </p>
11128    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
11129    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11130    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
11131    MIDI input device's settings changed</h3>
11132    
11133    <p>Client may want to be notified when changes were made to MIDI input devices on the
11134                    back-end by issuing the following command:
11135    </p>
11136    <p>
11137                        </p>
11138    <blockquote class="text">
11139    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
11140    </p>
11141    </blockquote><p>
11142                    
11143    </p>
11144    <p>Server will start sending the following notification messages:
11145    </p>
11146    <p>
11147                        </p>
11148    <blockquote class="text">
11149    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
11150    </p>
11151    </blockquote><p>
11152                    
11153    </p>
11154    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
11155                    which settings has been changed. The front-end will have to send
11156                    the respective command to actually get the MIDI input device info. Because these messages
11157                    will be triggered by LSCP commands issued by other clients rather than real
11158                    time events happening on the server, it is believed that an empty notification
11159                    message is sufficient here.
11160    </p>
11161    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
11162    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11163    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
11164    Number of sampler channels changed</h3>
11165    
11166  <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
11167                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
11168  </p>  </p>
11169  <p></p>  <p>
11170                        </p>
11171  <blockquote class="text">  <blockquote class="text">
11172  <p>SUBSCRIBE CHANNEL_COUNT  <p>SUBSCRIBE CHANNEL_COUNT
11173  </p>  </p>
11174  </blockquote>  </blockquote><p>
11175                    
11176    </p>
11177  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11178  </p>  </p>
11179  <p></p>  <p>
11180                        </p>
11181  <blockquote class="text">  <blockquote class="text">
11182  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
11183  </p>  </p>
11184  </blockquote>  </blockquote><p>
11185                    
11186    </p>
11187  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
11188                  of sampler channels.                  of sampler channels.
11189  </p>  </p>
11190  <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 />
11191    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11192    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
11193    MIDI data on a sampler channel arrived</h3>
11194    
11195    <p>Client may want to be notified when MIDI data arrive on sampler channels on
11196                    back-end side, by issuing the following command:
11197    </p>
11198    <p>
11199                        </p>
11200    <blockquote class="text">
11201    <p>SUBSCRIBE CHANNEL_MIDI
11202    </p>
11203    </blockquote><p>
11204                    
11205    </p>
11206    <p>Server will start sending one of the the following notification messages:
11207    </p>
11208    <p>
11209                        </p>
11210    <blockquote class="text">
11211    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
11212    </p>
11213    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11214    </p>
11215    </blockquote><p>
11216                    
11217    </p>
11218    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
11219                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11220                    0 .. 127, reflecting the analog meaning of the MIDI specification.
11221                    
11222    </p>
11223    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11224                    delivered by this mechanism! With other words: events could be lost at any time!
11225                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11226                    thread unaffected by this feature.
11227    </p>
11228    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
11229    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11230    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
11231    MIDI data on a MIDI input device arrived</h3>
11232    
11233    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
11234    </p>
11235    <p>
11236                                </p>
11237    <blockquote class="text">
11238    <p>SUBSCRIBE DEVICE_MIDI
11239    </p>
11240    </blockquote><p>
11241                        
11242    </p>
11243    <p>Server will start sending one of the the following notification messages:
11244    </p>
11245    <p>
11246                                </p>
11247    <blockquote class="text">
11248    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11249    </p>
11250    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11251    </p>
11252    </blockquote><p>
11253                        
11254    </p>
11255    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11256                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11257                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11258                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11259                        
11260    </p>
11261    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11262                           delivered by this mechanism! With other words: events could be lost at any time!
11263                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11264                           thread unaffected by this feature.
11265    </p>
11266    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11267    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11268    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11269    Number of active voices changed</h3>
11270    
11271  <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
11272                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
11273  </p>  </p>
11274  <p></p>  <p>
11275                        </p>
11276  <blockquote class="text">  <blockquote class="text">
11277  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
11278  </p>  </p>
11279  </blockquote>  </blockquote><p>
11280                    
11281    </p>
11282  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11283  </p>  </p>
11284  <p></p>  <p>
11285                        </p>
11286  <blockquote class="text">  <blockquote class="text">
11287  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
11288    </p>
11289    </blockquote><p>
11290                    
11291  </p>  </p>
 </blockquote>  
   
11292  <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
11293                  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
11294                  active voices on that channel.                  active voices on that channel.
11295  </p>  </p>
11296  <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 />
11297    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11298    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11299    Number of active disk streams changed</h3>
11300    
11301  <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
11302                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
11303  </p>  </p>
11304  <p></p>  <p>
11305                        </p>
11306  <blockquote class="text">  <blockquote class="text">
11307  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
11308  </p>  </p>
11309  </blockquote>  </blockquote><p>
11310                    
11311    </p>
11312  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11313  </p>  </p>
11314  <p></p>  <p>
11315                        </p>
11316  <blockquote class="text">  <blockquote class="text">
11317  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
11318  </p>  </p>
11319  </blockquote>  </blockquote><p>
11320                    
11321    </p>
11322  <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
11323                  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
11324                  active disk streams on that channel.                  active disk streams on that channel.
11325  </p>  </p>
11326  <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 />
11327    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11328    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11329    Disk stream buffer fill state changed</h3>
11330    
11331  <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
11332                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
11333  </p>  </p>
11334  <p></p>  <p>
11335                        </p>
11336  <blockquote class="text">  <blockquote class="text">
11337  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
11338  </p>  </p>
11339  </blockquote>  </blockquote><p>
11340                    
11341    </p>
11342  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11343  </p>  </p>
11344  <p></p>  <p>
11345                        </p>
11346  <blockquote class="text">  <blockquote class="text">
11347  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
11348  </p>  </p>
11349  </blockquote>  </blockquote><p>
11350                    
11351    </p>
11352  <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
11353                  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
11354                  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>
11355                  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.
11356  </p>  </p>
11357  <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 />
11358    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11359    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11360    Channel information changed</h3>
11361    
11362  <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
11363                  back-end by issuing the following command:                  back-end by issuing the following command:
11364  </p>  </p>
11365  <p></p>  <p>
11366                        </p>
11367  <blockquote class="text">  <blockquote class="text">
11368  <p>SUBSCRIBE CHANNEL_INFO  <p>SUBSCRIBE CHANNEL_INFO
11369  </p>  </p>
11370  </blockquote>  </blockquote><p>
11371                    
11372    </p>
11373  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11374  </p>  </p>
11375  <p></p>  <p>
11376                        </p>
11377  <blockquote class="text">  <blockquote class="text">
11378  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
11379  </p>  </p>
11380  </blockquote>  </blockquote><p>
11381                    
11382    </p>
11383  <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
11384                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
11385                  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 11387  Intellectual Property and Copyright Stat
11387                  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
11388                  message is sufficient here.                  message is sufficient here.
11389  </p>  </p>
11390  <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 />
11391    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11392    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11393    Number of effect sends changed</h3>
11394    
11395    <p>Client may want to be notified when the number of effect sends on
11396                    a particular sampler channel is changed by issuing the following command:
11397    </p>
11398    <p>
11399                        </p>
11400    <blockquote class="text">
11401    <p>SUBSCRIBE FX_SEND_COUNT
11402    </p>
11403    </blockquote><p>
11404                    
11405    </p>
11406    <p>Server will start sending the following notification messages:
11407    </p>
11408    <p>
11409                        </p>
11410    <blockquote class="text">
11411    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11412    </p>
11413    </blockquote><p>
11414                    
11415    </p>
11416    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11417                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11418                    be replaced by the new number of effect sends on that channel.
11419    </p>
11420    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11421    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11422    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11423    Effect send information changed</h3>
11424    
11425    <p>Client may want to be notified when changes were made to effect sends on a
11426                    a particular sampler channel by issuing the following command:
11427    </p>
11428    <p>
11429                        </p>
11430    <blockquote class="text">
11431    <p>SUBSCRIBE FX_SEND_INFO
11432    </p>
11433    </blockquote><p>
11434                    
11435    </p>
11436    <p>Server will start sending the following notification messages:
11437    </p>
11438    <p>
11439                        </p>
11440    <blockquote class="text">
11441    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11442    </p>
11443    </blockquote><p>
11444                    
11445    </p>
11446    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11447                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11448                    be replaced by the numerical ID of the changed effect send.
11449    </p>
11450    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11451    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11452    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11453    Total number of active voices changed</h3>
11454    
11455    <p>Client may want to be notified when the total number of voices on the
11456                    back-end changes by issuing the following command:
11457    </p>
11458    <p>
11459                        </p>
11460    <blockquote class="text">
11461    <p>SUBSCRIBE TOTAL_VOICE_COUNT
11462    </p>
11463    </blockquote><p>
11464                    
11465    </p>
11466    <p>Server will start sending the following notification messages:
11467    </p>
11468    <p>
11469                        </p>
11470    <blockquote class="text">
11471    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11472    </p>
11473    </blockquote><p>
11474                    
11475    </p>
11476    <p>where &lt;voices&gt; will be replaced by the new number of
11477                    all currently active voices.
11478    </p>
11479    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11480    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11481    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11482    Total number of active disk streams changed</h3>
11483    
11484    <p>Client may want to be notified when the total number of disk streams on the
11485                    back-end changes by issuing the following command:
11486    </p>
11487    <p>
11488                        </p>
11489    <blockquote class="text">
11490    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11491    </p>
11492    </blockquote><p>
11493                    
11494    </p>
11495    <p>Server will start sending the following notification messages:
11496    </p>
11497    <p>
11498                        </p>
11499    <blockquote class="text">
11500    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11501    </p>
11502    </blockquote><p>
11503                    
11504    </p>
11505    <p>where &lt;streams&gt; will be replaced by the new number of
11506                    all currently active disk streams.
11507    </p>
11508    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11509    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11510    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11511    Number of MIDI instrument maps changed</h3>
11512    
11513    <p>Client may want to be notified when the number of MIDI instrument maps on the
11514                    back-end changes by issuing the following command:
11515    </p>
11516    <p>
11517                        </p>
11518    <blockquote class="text">
11519    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
11520    </p>
11521    </blockquote><p>
11522                    
11523    </p>
11524    <p>Server will start sending the following notification messages:
11525    </p>
11526    <p>
11527                        </p>
11528    <blockquote class="text">
11529    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
11530    </p>
11531    </blockquote><p>
11532                    
11533    </p>
11534    <p>where &lt;maps&gt; will be replaced by the new number
11535                    of MIDI instrument maps.
11536    </p>
11537    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11538    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11539    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11540    MIDI instrument map information changed</h3>
11541    
11542    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
11543                    back-end by issuing the following command:
11544    </p>
11545    <p>
11546                        </p>
11547    <blockquote class="text">
11548    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
11549    </p>
11550    </blockquote><p>
11551                    
11552    </p>
11553    <p>Server will start sending the following notification messages:
11554    </p>
11555    <p>
11556                        </p>
11557    <blockquote class="text">
11558    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
11559    </p>
11560    </blockquote><p>
11561                    
11562    </p>
11563    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11564                    for which information changes occurred. The front-end will have to send
11565                    the respective command to actually get the MIDI instrument map info. Because these messages
11566                    will be triggered by LSCP commands issued by other clients rather than real
11567                    time events happening on the server, it is believed that an empty notification
11568                    message is sufficient here.
11569    </p>
11570    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11571    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11572    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11573    Number of MIDI instruments changed</h3>
11574    
11575    <p>Client may want to be notified when the number of MIDI instrument maps on the
11576                    back-end changes by issuing the following command:
11577    </p>
11578    <p>
11579                        </p>
11580    <blockquote class="text">
11581    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
11582    </p>
11583    </blockquote><p>
11584                    
11585    </p>
11586    <p>Server will start sending the following notification messages:
11587    </p>
11588    <p>
11589                        </p>
11590    <blockquote class="text">
11591    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
11592    </p>
11593    </blockquote><p>
11594                    
11595    </p>
11596    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
11597                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
11598                    the new number of MIDI instruments in the specified map.
11599    </p>
11600    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11601    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11602    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11603    MIDI instrument information changed</h3>
11604    
11605    <p>Client may want to be notified when changes were made to MIDI instruments on the
11606                    back-end by issuing the following command:
11607    </p>
11608    <p>
11609                        </p>
11610    <blockquote class="text">
11611    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
11612    </p>
11613    </blockquote><p>
11614                    
11615    </p>
11616    <p>Server will start sending the following notification messages:
11617    </p>
11618    <p>
11619                        </p>
11620    <blockquote class="text">
11621    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
11622    </p>
11623    </blockquote><p>
11624                    
11625    </p>
11626    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11627                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
11628                    the location of the changed MIDI instrument in the map. The front-end will have to send
11629                    the respective command to actually get the MIDI instrument info. Because these messages
11630                    will be triggered by LSCP commands issued by other clients rather than real
11631                    time events happening on the server, it is believed that an empty notification
11632                    message is sufficient here.
11633    </p>
11634    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11635    <table 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    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11637    Global settings changed</h3>
11638    
11639    <p>Client may want to be notified when changes to the global settings
11640                    of the sampler were made by issuing the following command:
11641    </p>
11642    <p>
11643                        </p>
11644    <blockquote class="text">
11645    <p>SUBSCRIBE GLOBAL_INFO
11646    </p>
11647    </blockquote><p>
11648                    
11649    </p>
11650    <p>Server will start sending the following types of notification messages:
11651    </p>
11652    <p>
11653                        </p>
11654    <blockquote class="text">
11655    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11656                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11657                            replaced by the optional dotted floating point value, reflecting the
11658                            new global volume parameter.
11659    </p>
11660    </blockquote><p>
11661                    
11662    </p>
11663    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11664    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11665    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11666    Number of database instrument directories changed</h3>
11667    
11668    <p>Client may want to be notified when the number of instrument
11669                    directories in a particular directory in the instruments database
11670                    is changed by issuing the following command:
11671    </p>
11672    <p>
11673                        </p>
11674    <blockquote class="text">
11675    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11676    </p>
11677    </blockquote><p>
11678                    
11679    </p>
11680    <p>Server will start sending the following notification messages:
11681    </p>
11682    <p>
11683                        </p>
11684    <blockquote class="text">
11685    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11686    </p>
11687    </blockquote><p>
11688                    
11689    </p>
11690    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11691                    name of the directory in the instruments database,
11692                    in which the number of directories is changed.
11693    </p>
11694    <p>Note that when a non-empty directory is removed, this event
11695                    is not sent for the subdirectories in that directory.
11696    </p>
11697    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11698    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11699    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11700    Database instrument directory information changed</h3>
11701    
11702    <p>Client may want to be notified when changes were made to directories
11703                    in the instruments database by issuing the following command:
11704    </p>
11705    <p>
11706                        </p>
11707    <blockquote class="text">
11708    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11709    </p>
11710    </blockquote><p>
11711                    
11712    </p>
11713    <p>Server will start sending the following notification messages:
11714    </p>
11715    <p>
11716                        </p>
11717    <blockquote class="text">
11718    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11719    </p>
11720    </blockquote><p>
11721                    
11722    </p>
11723    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11724                    of the directory, for which information changes occurred. The front-end will have to send
11725                    the respective command to actually get the updated directory info. Because these messages
11726                    will be triggered by LSCP commands issued by other clients rather than real
11727                    time events happening on the server, it is believed that an empty notification
11728                    message is sufficient here.
11729    </p>
11730    <p>
11731                        </p>
11732    <blockquote class="text">
11733    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11734    </p>
11735    </blockquote><p>
11736                    
11737    </p>
11738    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11739                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11740                    the new name of the directory, encapsulated into apostrophes.
11741    </p>
11742    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11743    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11744    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11745    Number of database instruments changed</h3>
11746    
11747    <p>Client may want to be notified when the number of instruments
11748                    in a particular directory in the instruments database
11749                    is changed by issuing the following command:
11750    </p>
11751    <p>
11752                        </p>
11753    <blockquote class="text">
11754    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11755    </p>
11756    </blockquote><p>
11757                    
11758    </p>
11759    <p>Server will start sending the following notification messages:
11760    </p>
11761    <p>
11762                        </p>
11763    <blockquote class="text">
11764    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11765    </p>
11766    </blockquote><p>
11767                    
11768    </p>
11769    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11770                    name of the directory in the instruments database,
11771                    in which the number of instruments is changed.
11772    </p>
11773    <p>Note that when a non-empty directory is removed, this event
11774                    is not sent for the instruments in that directory.
11775    </p>
11776    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11777    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11778    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11779    Database instrument information changed</h3>
11780    
11781    <p>Client may want to be notified when changes were made to instruments
11782                    in the instruments database by issuing the following command:
11783    </p>
11784    <p>
11785                        </p>
11786    <blockquote class="text">
11787    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11788    </p>
11789    </blockquote><p>
11790                    
11791    </p>
11792    <p>Server will start sending the following notification messages:
11793    </p>
11794    <p>
11795                        </p>
11796    <blockquote class="text">
11797    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11798    </p>
11799    </blockquote><p>
11800                    
11801    </p>
11802    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11803                    of the instrument, which settings are changed. The front-end will have to send
11804                    the respective command to actually get the updated directory info. Because these messages
11805                    will be triggered by LSCP commands issued by other clients rather than real
11806                    time events happening on the server, it is believed that an empty notification
11807                    message is sufficient here.
11808    </p>
11809    <p>
11810                        </p>
11811    <blockquote class="text">
11812    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11813    </p>
11814    </blockquote><p>
11815                    
11816    </p>
11817    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11818                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11819                    the new name of the instrument, encapsulated into apostrophes.
11820    </p>
11821    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11822    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11823    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
11824    Database job status information changed</h3>
11825    
11826    <p>Client may want to be notified when the status of particular database
11827                    instruments job is changed by issuing the following command:
11828    </p>
11829    <p>
11830                        </p>
11831    <blockquote class="text">
11832    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11833    </p>
11834    </blockquote><p>
11835                    
11836    </p>
11837    <p>Server will start sending the following notification messages:
11838    </p>
11839    <p>
11840                        </p>
11841    <blockquote class="text">
11842    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11843    </p>
11844    </blockquote><p>
11845                    
11846    </p>
11847    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11848                    which status is changed. The front-end will have to send the respective
11849                    command to actually get the status info. Because these messages
11850                    will be triggered by LSCP commands issued by other clients rather than real
11851                    time events happening on the server, it is believed that an empty notification
11852                    message is sufficient here.
11853    </p>
11854    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11855    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11856    <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
11857    Miscellaneous and debugging events</h3>
11858    
11859  <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
11860                  the server by issuing the following command:                  the server by issuing the following command:
11861  </p>  </p>
11862  <p></p>  <p>
11863                        </p>
11864  <blockquote class="text">  <blockquote class="text">
11865  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
11866  </p>  </p>
11867  </blockquote>  </blockquote><p>
11868                    
11869    </p>
11870  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11871  </p>  </p>
11872  <p></p>  <p>
11873                        </p>
11874  <blockquote class="text">  <blockquote class="text">
11875  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
11876  </p>  </p>
11877  </blockquote>  </blockquote><p>
11878                    
11879    </p>
11880  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
11881                  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
11882                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11883  </p>  </p>
11884  <a name="anchor15"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11885  <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>
11886  <a name="rfc.section.8"></a><h3>8.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11887    Security Considerations</h3>
11888    
11889  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11890              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
11891              connect, running LinuxSampler might be a security risk for the host              connect, running LinuxSampler might be a security risk for the host
11892              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11893  </p>  </p>
11894  <a name="anchor16"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11895  <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>
11896  <a name="rfc.section.9"></a><h3>9.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11897    Acknowledgments</h3>
11898    
11899  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11900              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
11901              list:              list:
11902  </p>  </p>
11903  <p></p>  <p>
11904                    </p>
11905  <blockquote class="text">  <blockquote class="text">
11906  <p>Rui Nuno Capela  <p>Rui Nuno Capela
11907  </p>  </p>
# Line 4261  Intellectual Property and Copyright Stat Line 11911  Intellectual Property and Copyright Stat
11911  </p>  </p>
11912  <p>Grigor Iliev  <p>Grigor Iliev
11913  </p>  </p>
11914  </blockquote>  </blockquote><p>
11915                
11916    </p>
11917  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11918  <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>
11919  <h3>10&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11920  <table width="99%" border="0">  <table width="99%" border="0">
11921    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11922    <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>
11923  <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>
11924  <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>
11925    <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
11926    <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>
11927    <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
11928    <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>
11929  </table>  </table>
11930    
11931  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11932  <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>
11933  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11934  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11935  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4286  Schoenebeck</td></tr> Line 11943  Schoenebeck</td></tr>
11943  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
11944  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
11945  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
11946  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
11947  <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>
11948  </table>  </table>
11949  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11950  <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>
11951  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11952  <p class='copyright'>  <p class='copyright'>
11953  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>  
11954  <p class='copyright'>  <p class='copyright'>
11955  The IETF invites any interested party to bring to its  This document is subject to the rights,
11956  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11957  other proprietary rights which may cover technology that may be  and except as set forth therein,
11958  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>  
11959  <p class='copyright'>  <p class='copyright'>
11960  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  This document and the information contained herein are provided
11961    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11962    THE ORGANIZATION HE/SHE REPRESENTS
11963    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11964    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11965    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11966    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11967    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11968    PURPOSE.</p>
11969    <h3>Intellectual Property</h3>
11970  <p class='copyright'>  <p class='copyright'>
11971  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11972  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11973  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11974  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11975  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11976  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11977  document itself may not be modified in any way, such as by removing  such rights.
11978  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11979  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>  
11980  <p class='copyright'>  <p class='copyright'>
11981  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11982  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11983    or the result of an attempt made to obtain a general license or
11984    permission for the use of such proprietary rights by implementers or
11985    users of this specification can be obtained from the IETF on-line IPR
11986    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11987  <p class='copyright'>  <p class='copyright'>
11988  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11989  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11990  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11991  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11992  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11993  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11994    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11995  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11996  <p class='copyright'>  <p class='copyright'>
11997  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11998  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11999  </body></html>  </body></html>

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

  ViewVC Help
Powered by ViewVC