/[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 575 by schoenebeck, Tue May 24 03:26:22 2005 UTC revision 1696 by schoenebeck, Sat Feb 16 01:16:39 2008 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.25 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'>  <style type='text/css'><!--
8  <!--          body {
9      body {                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10          font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-size: small; color: #000; background-color: #FFF;
11          margin: 2em;                  margin: 2em;
12          font-size: small ; color: #000000 ; background-color: #ffffff ; }          }
13      .title { color: #990000; font-size: x-large ;          h1, h2, h3, h4, h5, h6 {
14          font-weight: bold; text-align: right;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15          font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-weight: bold; font-style: normal;
16          background-color: transparent; }          }
17      .filename { color: #666666; font-size: 18px; line-height: 28px;          h1 { color: #900; background-color: transparent; text-align: right; }
18          font-weight: bold; text-align: right;          h3 { color: #333; background-color: transparent; }
19          font-family: helvetica, arial, sans-serif;  
20          background-color: transparent; }          td.RFCbug {
21      td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;                  font-size: x-small; text-decoration: none;
22          text-align: justify; vertical-align: middle ; padding-top: 2px ; }                  width: 30px; height: 30px; padding-top: 2px;
23      td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;                  text-align: justify; vertical-align: middle;
24          background-color: #000000 ;                  background-color: #000;
25          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
26          font-size: x-small ; }          td.RFCbug span.RFC {
27      td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28          text-align: center ;                  font-weight: bold; color: #666;
29          font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
30          font-size: x-small ; background-color: #000000; }          td.RFCbug span.hotText {
31  /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32      div#counter{margin-top: 100px}                  font-weight: normal; text-align: center; color: #FFF;
33            }
34      a.info{  
35          position:relative; /*this is the key*/          table.TOCbug { width: 30px; height: 15px; }
36          z-index:24;          td.TOCbug {
37          text-decoration:none}                  text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39      a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}          }
40            td.TOCbug a {
41      a.info span{display: none}                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43      a.info:hover span{ /*the span will display just on :hover state*/                  color: #FFF; background-color: transparent;
44          display:block;          }
45          position:absolute;  
46          font-size: smaller ;          td.header {
47          top:2em; left:2em; width:15em;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48          padding: 2px ;                  vertical-align: top; width: 33%;
49          border:1px solid #333333;                  color: #FFF; background-color: #666;
50          background-color:#eeeeee; color:#990000;          }
51          text-align: left ;}          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53       A { font-weight: bold; }  
54       A:link { color: #990000; background-color: transparent ; }          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55       A:visited { color: #333333; background-color: transparent ; }          a.info {
56       A:active { color: #333333; background-color: transparent ; }                  /* This is the key. */
57                    position: relative;
58      p { margin-left: 2em; margin-right: 2em; }                  z-index: 24;
59      p.copyright { font-size: x-small ; }                  text-decoration: none;
60      p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}          }
61            a.info:hover {
62      span.emph { font-style: italic; }                  z-index: 25;
63      span.strong { font-weight: bold; }                  color: #FFF; background-color: #900;
64      span.verb { font-family: "Courier New", Courier, monospace ; }          }
65            a.info span { display: none; }
66      ol.text { margin-left: 2em; margin-right: 2em; }          a.info:hover span.info {
67      ul.text { margin-left: 2em; margin-right: 2em; }                  /* The span will display just on :hover state. */
68      li { margin-left: 3em;  }                  display: block;
69                    position: absolute;
70                    font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72                    padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74                    text-align: left;
75            }
76    
77      pre { margin-left: 3em; color: #333333;  background-color: transparent;          a { font-weight: bold; }
78          font-family: "Courier New", Courier, monospace ; font-size: small ;          a:link    { color: #900; background-color: transparent; }
79            a:visited { color: #633; background-color: transparent; }
80            a:active  { color: #633; background-color: transparent; }
81    
82            p { margin-left: 2em; margin-right: 2em; }
83            p.copyright { font-size: x-small; }
84            p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85            table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86            td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88            ol.text { margin-left: 2em; margin-right: 2em; }
89            ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91    
92            /* RFC-2629 <spanx>s and <artwork>s. */
93            em     { font-style: italic; }
94            strong { font-weight: bold; }
95            dfn    { font-weight: bold; font-style: normal; }
96            cite   { font-weight: normal; font-style: normal; }
97            tt     { color: #036; }
98            tt, pre, pre dfn, pre em, pre cite, pre span {
99                    font-family: "Courier New", Courier, monospace; font-size: small;
100            }
101            pre {
102                    text-align: left; padding: 4px;
103                    color: #000; background-color: #CCC;
104          }          }
105            pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107            pre .key { color: #33C; font-weight: bold; }
108            pre .id  { color: #900; }
109            pre .str { color: #000; background-color: #CFF; }
110            pre .val { color: #066; }
111            pre .rep { color: #909; }
112            pre .oth { color: #000; background-color: #FCF; }
113            pre .err { background-color: #FCC; }
114    
115            /* RFC-2629 <texttable>s. */
116            table.all, table.full, table.headers, table.none {
117                    font-size: small; text-align: center; border-width: 2px;
118                    vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135      h3 { color: #333333; font-size: medium ;          hr { height: 1px; }
136          font-family: helvetica, arial, sans-serif ;          hr.insert {
137          background-color: transparent; }                  width: 80%; border-style: none; border-width: 0;
138      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #CCC; background-color: #CCC;
139            }
140      table.bug { width: 30px ; height: 15px ; }  --></style>
     td.bug { color: #ffffff ; background-color: #990000 ;  
         text-align: center ; width: 30px ; height: 15px ;  
          }  
     td.bug A.link2 { color: #ffffff ; font-weight: bold;  
         text-decoration: none;  
         font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;  
         font-size: x-small ; background-color: transparent }  
   
     td.header { color: #ffffff; font-size: x-small ;  
         font-family: arial, helvetica, sans-serif; vertical-align: top;  
         background-color: #666666 ; width: 33% ; }  
     td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }  
     td.author-text { font-size: x-small; }  
     table.data { vertical-align: top ; border-collapse: collapse ;  
         border-style: solid solid solid solid ;  
         border-color: black black black black ;  
         font-size: small ; text-align: center ; }  
     table.data th { font-weight: bold ;  
         border-style: solid solid solid solid ;  
         border-color: black black black black ; }  
     table.data td {  
         border-style: solid solid solid solid ;  
         border-color: #333333 #333333 #333333 #333333 ; }  
   
     hr { height: 1px }  
 -->  
 </style>  
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: November 22, 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 24, 2005</td></tr>  <tr><td class="header">Expires: August 19, 2008</td><td class="header">February 16, 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 1.0</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 22, 2005.</p>  This Internet-Draft will expire on August 19, 2008.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2008).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 164  Introduction<br /> Line 200  Introduction<br />
200  Focus of this protocol<br />  Focus of this protocol<br />
201  <a href="#anchor4">5.</a>&nbsp;  <a href="#anchor4">5.</a>&nbsp;
202  Communication Overview<br />  Communication Overview<br />
203  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.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">5.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">5.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="#control_commands">6.</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="#anchor8">6.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="#anchor9">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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="#anchor10">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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="#anchor11">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.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">6.4.22</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MUTE">6.4.22.</a>&nbsp;
316    Muting a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
318    Soloing a sampler channel<br />
319    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
320    Assigning a MIDI instrument map to a sampler channel<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
322    Adding an effect send to a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
324    Removing an effect send from a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
326    Getting amount of effect sends on a sampler channel<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
328    Listing all effect sends on a sampler channel<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330    Getting effect send information<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334    Altering effect send's audio routing<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336    Altering effect send's MIDI controller<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338    Altering effect send's send level<br />
339    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;
340  Resetting a sampler channel<br />  Resetting a sampler channel<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
342  Controlling connection<br />  Controlling connection<br />
343  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1.</a>&nbsp;
344  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
345  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2.</a>&nbsp;
346  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
347  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3.</a>&nbsp;
348  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
349  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4.</a>&nbsp;
350  Close client connection<br />  Close client connection<br />
351  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
352  Global commands<br />  Global commands<br />
353  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT">6.6.1.</a>&nbsp;
354    Current number of active voices<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356    Maximum amount of active voices<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
358    Current number of active disk streams<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
360  Reset sampler<br />  Reset sampler<br />
361  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
362  General sampler informations<br />  General sampler informations<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
364    Getting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
366    Setting global volume attenuation<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
368    MIDI Instrument Mapping<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
370    Create a new MIDI instrument map<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
372    Delete one particular or all MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
374    Get amount of existing MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
376    Getting all created MIDI instrument maps<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
378    Getting MIDI instrument map information<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
380    Renaming a MIDI instrument map<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
382    Create or replace a MIDI instrument map entry<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
384    Getting ammount of MIDI instrument map entries<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
386    Getting indeces of all entries of a MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
388    Remove an entry from the MIDI instrument map<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
390    Get current settings of MIDI instrument map entry<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
392    Clear MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
394    Managing Instruments Database<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
396    Creating a new instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
398    Deleting an instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
400    Getting amount of instrument directories<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
402    Listing all directories in specific directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
404    Getting instrument directory information<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
406    Renaming an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
408    Moving an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
410    Copying instrument directories<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
412    Changing the description of directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
414    Finding directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
416    Adding instruments to the instruments database<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
418    Removing an instrument<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
420    Getting amount of instruments<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
422    Listing all instruments in specific directory<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
424    Getting instrument information<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
426    Renaming an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
428    Moving an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
430    Copying instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
432    Changing the description of instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
434    Finding instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
436    Getting job status information<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
438    Formatting the instruments database<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">8.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
458    Number of audio output devices changed<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
460    Audio output device's settings changed<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
462    Number of MIDI input devices changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
464    MIDI input device's settings changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
466  Number of sampler channels changed<br />  Number of sampler channels changed<br />
467  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
468    MIDI data on a sampler channel arrived<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
470    MIDI data on a MIDI input device arrived<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
472  Number of active voices changed<br />  Number of active voices changed<br />
473  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.9.</a>&nbsp;
474  Number of active disk streams changed<br />  Number of active disk streams changed<br />
475  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.10.</a>&nbsp;
476  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
477  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.11.</a>&nbsp;
478  Channel information changed<br />  Channel information changed<br />
479  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.12.</a>&nbsp;
480    Number of effect sends changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
482    Effect send information changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.14.</a>&nbsp;
484    Total number of active voices changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.15.</a>&nbsp;
486    Total number of active disk streams changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
488    Number of MIDI instrument maps changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
490    MIDI instrument map information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
492    Number of MIDI instruments changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
494    MIDI instrument information changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
496    Global settings changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
498    Number of database instrument directories changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
500    Database instrument directory information changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
502    Number of database instruments changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
504    Database instrument information changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
506    Database job status information changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
508  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
509  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
510  Security Considerations<br />  Security Considerations<br />
# Line 324  Intellectual Property and Copyright Stat Line 520  Intellectual Property and Copyright Stat
520  <br clear="all" />  <br clear="all" />
521    
522  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
523  <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>
524  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
525    Requirements notation</h3>
526    
527  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
528              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
529              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
530              described in <a class="info" href="#RFC2119">[RFC2119]<span>Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, 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>.
531  </p>  </p>
532  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
533              claimed the opposite.              claimed the opposite.
# Line 339  Intellectual Property and Copyright Stat Line 536  Intellectual Property and Copyright Stat
536              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
537              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
538              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
539              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>),
540              example:              thus the following example:
541  </p>  </p>
542  <p></p>  <p>
543                    </p>
544  <blockquote class="text">  <blockquote class="text">
545  <p>C: "some line"  <p>C: "some line"
546  </p>  </p>
547  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
548  </p>  </p>
549  </blockquote>  </blockquote><p>
550                
551    </p>
552  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
553              message:              message:
554  </p>  </p>
555  <p></p>  <p>
556                    </p>
557  <blockquote class="text">  <blockquote class="text">
558  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
559                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
560  </p>  </p>
561  </blockquote>  </blockquote><p>
562                
563    </p>
564  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
565              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
566              standard.              standard.
# Line 367  Intellectual Property and Copyright Stat Line 568  Intellectual Property and Copyright Stat
568  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
569              fragmented, means the following example:              fragmented, means the following example:
570  </p>  </p>
571  <p></p>  <p>
572                    </p>
573  <blockquote class="text">  <blockquote class="text">
574  <p>S: "abcd"  <p>S: "abcd"
575  </p>  </p>
576  </blockquote>  </blockquote><p>
577                
578    </p>
579  <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
580              following sequence scenario:              following sequence scenario:
581  </p>  </p>
582  <p></p>  <p>
583                    </p>
584  <ul class="text">  <ul class="text">
585  <li>server sending message "a"  <li>server sending message "a"
586  </li>  </li>
# Line 392  Intellectual Property and Copyright Stat Line 596  Intellectual Property and Copyright Stat
596  <li>followed by server sending the message  <li>followed by server sending the message
597                      "&lt;LF&gt;"                      "&lt;LF&gt;"
598  </li>  </li>
599  </ul>  </ul><p>
600                
601    </p>
602  <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
603              return and line feed characters respectively.              return and line feed characters respectively.
604  </p>  </p>
605  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
606  <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>
607  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
608    Versioning of this specification</h3>
609    
610  <p>LSCP will certainly be extended and enhanced by-and-by. Each official  <p>LSCP will certainly be extended and enhanced by-and-by. Each official
611              release of the LSCP specification will be tagged with a unique version              release of the LSCP specification will be tagged with a unique version
# Line 407  Intellectual Property and Copyright Stat Line 613  Intellectual Property and Copyright Stat
613              number like:              number like:
614                            
615  </p>  </p>
616  <p></p>  <p>
617                    </p>
618  <blockquote class="text">  <blockquote class="text">
619  <p>"1.2"  <p>"1.2"
620  </p>  </p>
621  </blockquote>  </blockquote><p>
622                
623    </p>
624  <p>  <p>
625              In this example the major version number would be "1" and the minor              In this example the major version number would be "1" and the minor
626              version number would be "2". Note that the version tuple might also              version number would be "2". Note that the version tuple might also
# Line 425  Intellectual Property and Copyright Stat Line 633  Intellectual Property and Copyright Stat
633  </p>  </p>
634  <p>Compatibility:  <p>Compatibility:
635  </p>  </p>
636  <p></p>  <p>
637                    </p>
638  <ol class="text">  <ol class="text">
639  <li>The frontend's LSCP major version and the sampler's LSCP  <li>The frontend's LSCP major version and the sampler's LSCP
640                      major version are exactly equal.                      major version are exactly equal.
# Line 433  Intellectual Property and Copyright Stat Line 642  Intellectual Property and Copyright Stat
642  <li>The frontend's LSCP minor version is less or equal than  <li>The frontend's LSCP minor version is less or equal than
643                      the sampler's LSCP minor version.                      the sampler's LSCP minor version.
644  </li>  </li>
645  </ol>  </ol><p>
646                
647    </p>
648  <p>  <p>
649              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
650              The frontend can use the              The frontend can use the
651              <a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span>General sampler informations</span></a> command to              <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
652              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
653                            
654  </p>  </p>
655  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
656  <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>
657  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
658    Introduction</h3>
659    
660  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
661              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 464  Intellectual Property and Copyright Stat Line 675  Intellectual Property and Copyright Stat
675              there.              there.
676  </p>  </p>
677  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
678  <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>
679  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
680    Focus of this protocol</h3>
681    
682  <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
683              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 476  Intellectual Property and Copyright Stat Line 688  Intellectual Property and Copyright Stat
688              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
689  </p>  </p>
690  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
691  <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>
692  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
693    Communication Overview</h3>
694    
695  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
696              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 490  Intellectual Property and Copyright Stat Line 703  Intellectual Property and Copyright Stat
703              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
704              methods will be described next.              methods will be described next.
705  </p>  </p>
706  <a name="rfc.section.5.1"></a><h4><a name="anchor5">5.1</a>&nbsp;Request/response communication method</h4>  <a name="anchor5"></a><br /><hr />
707    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
708    <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
709    Request/response communication method</h3>
710    
711  <p>This simple communication method is based on  <p>This simple communication method is based on
712                  <a class="info" href="#RFC793">TCP<span>Defense Advanced Research Projects Agency, TRANSMISSION CONTROL PROTOCOL, 1981.</span></a>[RFC793]. The                  <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
713                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
714                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
715                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 533  Intellectual Property and Copyright Stat Line 749  Intellectual Property and Copyright Stat
749                  processed in the order they were received and result sets                  processed in the order they were received and result sets
750                  MUST be sent back in the same order.                  MUST be sent back in the same order.
751  </p>  </p>
752  <a name="rfc.section.5.1.1"></a><h4><a name="anchor6">5.1.1</a>&nbsp;Result format</h4>  <a name="anchor6"></a><br /><hr />
753    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
754    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
755    Result format</h3>
756    
757  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
758  </p>  </p>
759  <p></p>  <p>
760                            </p>
761  <ol class="text">  <ol class="text">
762  <li>Normal  <li>Normal
763  </li>  </li>
# Line 545  Intellectual Property and Copyright Stat Line 765  Intellectual Property and Copyright Stat
765  </li>  </li>
766  <li>Error  <li>Error
767  </li>  </li>
768  </ol>  </ol><p>
769                        
770    </p>
771  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
772                      have the following format:                      have the following format:
773  </p>  </p>
774  <p></p>  <p>
775                            </p>
776  <ul class="text">  <ul class="text">
777  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
778  </li>  </li>
779  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
780  </li>  </li>
781  </ul>  </ul><p>
782                        
783    </p>
784  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
785                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
786                      &lt;warning-message&gt; and &lt;error-message&gt; are                      &lt;warning-message&gt; and &lt;error-message&gt; are
# Line 566  Intellectual Property and Copyright Stat Line 789  Intellectual Property and Copyright Stat
789  </p>  </p>
790  <p>Examples:  <p>Examples:
791  </p>  </p>
792  <p></p>  <p>
793                            </p>
794  <blockquote class="text">  <blockquote class="text">
795  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
796  </p>  </p>
797  <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."
798  </p>  </p>
799  </blockquote>  </blockquote><p>
800                        
801  <p></p>  </p>
802    <p>
803                            </p>
804  <blockquote class="text">  <blockquote class="text">
805  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
806  </p>  </p>
807  <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'."
808  </p>  </p>
809  </blockquote>  </blockquote><p>
810                        
811  <p></p>  </p>
812    <p>
813                            </p>
814  <blockquote class="text">  <blockquote class="text">
815  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
816  </p>  </p>
817  <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."
818  </p>  </p>
819  </blockquote>  </blockquote><p>
820                        
821    </p>
822  <p>Normal result sets could be:  <p>Normal result sets could be:
823  </p>  </p>
824  <p></p>  <p>
825                            </p>
826  <ol class="text">  <ol class="text">
827  <li>Empty  <li>Empty
828  </li>  </li>
# Line 600  Intellectual Property and Copyright Stat Line 830  Intellectual Property and Copyright Stat
830  </li>  </li>
831  <li>Multi-line  <li>Multi-line
832  </li>  </li>
833  </ol>  </ol><p>
834                        
835    </p>
836  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
837                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
838                      received and it was processed successfully and no                      received and it was processed successfully and no
839                      additional information is available. This result set has                      additional information is available. This result set has
840                      the following format:                      the following format:
841  </p>  </p>
842  <p></p>  <p>
843                            </p>
844  <blockquote class="text">  <blockquote class="text">
845  <p>"OK"  <p>"OK"
846  </p>  </p>
847  </blockquote>  </blockquote><p>
848                        
849    </p>
850  <p>Example:  <p>Example:
851  </p>  </p>
852  <p></p>  <p>
853                            </p>
854  <blockquote class="text">  <blockquote class="text">
855  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
856  </p>  </p>
857  <p>S: "OK"  <p>S: "OK"
858  </p>  </p>
859  </blockquote>  </blockquote><p>
860                        
861    </p>
862  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
863                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
864                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
865                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
866                      always end with the following line:                      always end with the following line:
867  </p>  </p>
868  <p></p>  <p>
869                            </p>
870  <blockquote class="text">  <blockquote class="text">
871  <p>"."  <p>"."
872  </p>  </p>
873  </blockquote>  </blockquote><p>
874                        
875    </p>
876  <p>Example:  <p>Example:
877  </p>  </p>
878  <p></p>  <p>
879                            </p>
880  <blockquote class="text">  <blockquote class="text">
881  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
882  </p>  </p>
# Line 658  Intellectual Property and Copyright Stat Line 896  Intellectual Property and Copyright Stat
896  </p>  </p>
897  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
898  </p>  </p>
899  </blockquote>  </blockquote><p>
900                        
901    </p>
902  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
903                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
904                      have the following formats respectively:                      have the following formats respectively:
905  </p>  </p>
906  <p></p>  <p>
907                            </p>
908  <ul class="text">  <ul class="text">
909  <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;"
910  </li>  </li>
911  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
912  </li>  </li>
913  </ul>  </ul><p>
914                        
915    </p>
916  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
917                      to indicate channel number that the result set was                      to indicate channel number that the result set was
918                      related to or other integer value.                      related to or other integer value.
# Line 681  Intellectual Property and Copyright Stat Line 922  Intellectual Property and Copyright Stat
922  </p>  </p>
923  <p>Examples:  <p>Examples:
924  </p>  </p>
925  <p></p>  <p>
926                            </p>
927  <blockquote class="text">  <blockquote class="text">
928  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
929  </p>  </p>
930  <p>S: "OK[12]"  <p>S: "OK[12]"
931  </p>  </p>
932  </blockquote>  </blockquote><p>
933                        
934  <p></p>  </p>
935    <p>
936                            </p>
937  <blockquote class="text">  <blockquote class="text">
938  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
939  </p>  </p>
940  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
941  </p>  </p>
942  </blockquote>  </blockquote><p>
943                        
944  <a name="rfc.section.5.2"></a><h4><a name="anchor7">5.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
945    <a name="anchor7"></a><br /><hr />
946    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
947    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
948    Subscribe/notify communication method</h3>
949    
950  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
951                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 709  Intellectual Property and Copyright Stat Line 957  Intellectual Property and Copyright Stat
957                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
958                  following syntax:                  following syntax:
959  </p>  </p>
960  <p></p>  <p>
961                        </p>
962  <blockquote class="text">  <blockquote class="text">
963  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
964  </p>  </p>
965  </blockquote>  </blockquote><p>
966                    
967    </p>
968  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
969                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
970                  request, server SHOULD respond with OK and start sending                  request, server SHOULD respond with OK and start sending
# Line 724  Intellectual Property and Copyright Stat Line 974  Intellectual Property and Copyright Stat
974                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
975                  following format:                  following format:
976  </p>  </p>
977  <p></p>  <p>
978                        </p>
979  <blockquote class="text">  <blockquote class="text">
980  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
981  </p>  </p>
982  </blockquote>  </blockquote><p>
983                    
984    </p>
985  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
986                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
987                  specific.                  specific.
# Line 737  Intellectual Property and Copyright Stat Line 989  Intellectual Property and Copyright Stat
989  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
990                  generating events:                  generating events:
991  </p>  </p>
992  <p></p>  <p>
993                        </p>
994  <ol class="text">  <ol class="text">
995  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
996                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 752  Intellectual Property and Copyright Stat Line 1005  Intellectual Property and Copyright Stat
1005                          middle of the event message as well as any other                          middle of the event message as well as any other
1006                          response.                          response.
1007  </li>  </li>
1008  </ol>  </ol><p>
1009                    
1010    </p>
1011  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
1012                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
1013                  syntax:                  syntax:
1014  </p>  </p>
1015  <p></p>  <p>
1016                        </p>
1017  <blockquote class="text">  <blockquote class="text">
1018  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
1019  </p>  </p>
1020  </blockquote>  </blockquote><p>
1021                    
1022    </p>
1023  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1024                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1025                  a list of supported events see <a class="info" href="#events">Section 8<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>.
1026  </p>  </p>
1027  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1028                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
1029                  will react by sending the following message to all clients                  will react by sending the following message to all clients
1030                  who subscribed to this event:                  who subscribed to this event:
1031  </p>  </p>
1032  <p></p>  <p>
1033                        </p>
1034  <blockquote class="text">  <blockquote class="text">
1035  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
1036  </p>  </p>
1037  </blockquote>  </blockquote><p>
1038                    
1039    </p>
1040  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
1041                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
1042                  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 810  Intellectual Property and Copyright Stat Line 1068  Intellectual Property and Copyright Stat
1068                  it wants to receive.                  it wants to receive.
1069  </p>  </p>
1070  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1071  <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>
1072  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1073    Description for control commands</h3>
1074    
1075  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1076              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1077              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>
1078              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
1079              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1080              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1081  </p>  </p>
1082  <a name="rfc.section.6.1"></a><h4><a name="anchor8">6.1</a>&nbsp;Ignored lines and comments</h4>  <a name="anchor8"></a><br /><hr />
1083    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1084    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1085    Ignored lines and comments</h3>
1086    
1087  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1088                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 828  Intellectual Property and Copyright Stat Line 1090  Intellectual Property and Copyright Stat
1090                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1091                  file.                  file.
1092  </p>  </p>
1093  <a name="rfc.section.6.2"></a><h4><a name="anchor9">6.2</a>&nbsp;Configuring audio drivers</h4>  <a name="anchor9"></a><br /><hr />
1094    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1095    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1096    Configuring audio drivers</h3>
1097    
1098  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1099                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 861  Intellectual Property and Copyright Stat Line 1126  Intellectual Property and Copyright Stat
1126                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1127                  possible values, etc.                  possible values, etc.
1128  </p>  </p>
1129  <a name="rfc.section.6.2.1"></a><h4><a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a>&nbsp;Getting amount of available audio output drivers</h4>  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1130    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1131    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1132    Getting amount of available audio output drivers</h3>
1133    
1134  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1135                      audio output drivers currently available for the                      audio output drivers currently available for the
1136                      LinuxSampler instance:                      LinuxSampler instance:
1137  </p>  </p>
1138  <p></p>  <p>
1139                            </p>
1140  <blockquote class="text">  <blockquote class="text">
1141  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1142  </p>  </p>
1143  </blockquote>  </blockquote><p>
1144                        
1145    </p>
1146  <p>Possible Answers:  <p>Possible Answers:
1147  </p>  </p>
1148  <p></p>  <p>
1149                            </p>
1150  <blockquote class="text">  <blockquote class="text">
1151  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1152                              number of audio output drivers.                              number of audio output drivers.
1153  </p>  </p>
1154  </blockquote>  </blockquote><p>
1155                        
1156    </p>
1157  <p>Example:  <p>Example:
1158  </p>  </p>
1159  <p></p>  <p>
1160                            </p>
1161  <blockquote class="text">  <blockquote class="text">
1162  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1163  </p>  </p>
1164  <p>S: "2"  <p>S: "2"
1165  </p>  </p>
1166  </blockquote>  </blockquote><p>
1167                        
1168  <a name="rfc.section.6.2.2"></a><h4><a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a>&nbsp;Getting all available audio output drivers</h4>  </p>
1169    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1170    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1171    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1172    Getting all available audio output drivers</h3>
1173    
1174  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1175                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1176                      instance:                      instance:
1177  </p>  </p>
1178  <p></p>  <p>
1179                            </p>
1180  <blockquote class="text">  <blockquote class="text">
1181  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1182  </p>  </p>
1183  </blockquote>  </blockquote><p>
1184                        
1185    </p>
1186  <p>Possible Answers:  <p>Possible Answers:
1187  </p>  </p>
1188  <p></p>  <p>
1189                            </p>
1190  <blockquote class="text">  <blockquote class="text">
1191  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1192                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1193                              audio output driver.                              audio output driver.
1194  </p>  </p>
1195  </blockquote>  </blockquote><p>
1196                        
1197    </p>
1198  <p>Example:  <p>Example:
1199  </p>  </p>
1200  <p></p>  <p>
1201                            </p>
1202  <blockquote class="text">  <blockquote class="text">
1203  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1204  </p>  </p>
1205  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1206  </p>  </p>
1207  </blockquote>  </blockquote><p>
1208                        
1209  <a name="rfc.section.6.2.3"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a>&nbsp;Getting information about a specific audio  </p>
1210                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1211    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1212    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1213    Getting information about a specific audio
1214                    output driver</h3>
1215    
1216  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1217                      about a specific audio output driver:                      about a specific audio output driver:
1218  </p>  </p>
1219  <p></p>  <p>
1220                            </p>
1221  <blockquote class="text">  <blockquote class="text">
1222  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1223                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1224  </p>  </p>
1225  </blockquote>  </blockquote><p>
1226                        
1227    </p>
1228  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1229                      audio output driver, returned by the                      audio output driver, returned by the
1230                      <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.
1231  </p>  </p>
1232  <p>Possible Answers:  <p>Possible Answers:
1233  </p>  </p>
1234  <p></p>  <p>
1235                            </p>
1236  <blockquote class="text">  <blockquote class="text">
1237  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1238                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 954  Intellectual Property and Copyright Stat Line 1243  Intellectual Property and Copyright Stat
1243                              following information categories are                              following information categories are
1244                              defined:                              defined:
1245  </p>  </p>
1246  <p></p>  <p>
1247                                  </p>
1248  <blockquote class="text">  <blockquote class="text">
1249  <p>DESCRIPTION -  <p>DESCRIPTION -
1250                                      </p>                                      </p>
# Line 963  Intellectual Property and Copyright Stat Line 1253  Intellectual Property and Copyright Stat
1253                                        audio output driver                                        audio output driver
1254  </p>  </p>
1255  </blockquote>  </blockquote>
1256                                      
1257    
1258  <p>VERSION -  <p>VERSION -
1259                                      </p>                                      </p>
# Line 971  Intellectual Property and Copyright Stat Line 1262  Intellectual Property and Copyright Stat
1262                                        driver's version                                        driver's version
1263  </p>  </p>
1264  </blockquote>  </blockquote>
1265                                      
1266    
1267  <p>PARAMETERS -  <p>PARAMETERS -
1268                                      </p>                                      </p>
# Line 983  Intellectual Property and Copyright Stat Line 1275  Intellectual Property and Copyright Stat
1275                                        output drivers                                        output drivers
1276  </p>  </p>
1277  </blockquote>  </blockquote>
1278                                      
1279    
1280  </blockquote>  </blockquote>
1281                                
1282    
1283  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1284                              in particular order.                              in particular order.
1285  </p>  </p>
1286  </blockquote>  </blockquote><p>
1287                        
1288    </p>
1289  <p>Example:  <p>Example:
1290  </p>  </p>
1291  <p></p>  <p>
1292                          </p>
1293  <blockquote class="text">  <blockquote class="text">
1294  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1295  </p>  </p>
# Line 1008  Intellectual Property and Copyright Stat Line 1304  Intellectual Property and Copyright Stat
1304  </p>  </p>
1305  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1306  </p>  </p>
1307  </blockquote>  </blockquote><p>
1308                        
1309  <a name="rfc.section.6.2.4"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a>&nbsp;Getting information about specific audio  </p>
1310                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1311    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1312    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1313    Getting information about specific audio
1314                    output driver parameter</h3>
1315    
1316  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1317                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1318  </p>  </p>
1319  <p></p>  <p>
1320                            </p>
1321  <blockquote class="text">  <blockquote class="text">
1322  <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;]
1323  </p>  </p>
1324  </blockquote>  </blockquote><p>
1325                        
1326    </p>
1327  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1328                      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,
1329                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1330                      obtained (as returned by the                      obtained (as returned by the
1331                      <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
1332                      &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
1333                      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
1334                      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 1037  Intellectual Property and Copyright Stat Line 1339  Intellectual Property and Copyright Stat
1339  </p>  </p>
1340  <p>Possible Answers:  <p>Possible Answers:
1341  </p>  </p>
1342  <p></p>  <p>
1343                            </p>
1344  <blockquote class="text">  <blockquote class="text">
1345  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1346                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1050  Intellectual Property and Copyright Stat Line 1353  Intellectual Property and Copyright Stat
1353                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1354                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1355  </p>  </p>
1356  </blockquote>  </blockquote><p>
1357                        
1358  <p></p>  </p>
1359    <p>
1360                            </p>
1361  <blockquote class="text">  <blockquote class="text">
1362  <p>TYPE -  <p>TYPE -
1363                                </p>                                </p>
# Line 1064  Intellectual Property and Copyright Stat Line 1369  Intellectual Property and Copyright Stat
1369                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1370  </p>  </p>
1371  </blockquote>  </blockquote>
1372                                
1373    
1374  <p>DESCRIPTION -  <p>DESCRIPTION -
1375                                </p>                                </p>
# Line 1072  Intellectual Property and Copyright Stat Line 1378  Intellectual Property and Copyright Stat
1378                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1379  </p>  </p>
1380  </blockquote>  </blockquote>
1381                                
1382    
1383  <p>MANDATORY -  <p>MANDATORY -
1384                                </p>                                </p>
1385  <blockquote class="text">  <blockquote class="text">
1386  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1387                                  given when the device is to be created with the                                  given when the device is to be created with the
1388                                  <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>
1389                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1390  </p>  </p>
1391  </blockquote>  </blockquote>
1392                                
1393    
1394  <p>FIX -  <p>FIX -
1395                                </p>                                </p>
1396  <blockquote class="text">  <blockquote class="text">
1397  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1398                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1399                                  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>
1400                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1401  </p>  </p>
1402  </blockquote>  </blockquote>
1403                                
1404    
1405  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1406                                </p>                                </p>
# Line 1102  Intellectual Property and Copyright Stat Line 1411  Intellectual Property and Copyright Stat
1411                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1412  </p>  </p>
1413  </blockquote>  </blockquote>
1414                                
1415    
1416  <p>DEPENDS -  <p>DEPENDS -
1417                                </p>                                </p>
# Line 1118  Intellectual Property and Copyright Stat Line 1428  Intellectual Property and Copyright Stat
1428                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1429  </p>  </p>
1430  </blockquote>  </blockquote>
1431                                
1432    
1433  <p>DEFAULT -  <p>DEFAULT -
1434                                </p>                                </p>
1435  <blockquote class="text">  <blockquote class="text">
1436  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1437                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1438                                  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,
1439                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1440                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1441                                  apostrophes (')                                  apostrophes (')
1442                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1443  </p>  </p>
1444  </blockquote>  </blockquote>
1445                                
1446    
1447  <p>RANGE_MIN -  <p>RANGE_MIN -
1448                                </p>                                </p>
# Line 1142  Intellectual Property and Copyright Stat Line 1454  Intellectual Property and Copyright Stat
1454                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1455  </p>  </p>
1456  </blockquote>  </blockquote>
1457                                
1458    
1459  <p>RANGE_MAX -  <p>RANGE_MAX -
1460                                </p>                                </p>
# Line 1153  Intellectual Property and Copyright Stat Line 1466  Intellectual Property and Copyright Stat
1466                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1467  </p>  </p>
1468  </blockquote>  </blockquote>
1469                                
1470    
1471  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1472                                </p>                                </p>
# Line 1163  Intellectual Property and Copyright Stat Line 1477  Intellectual Property and Copyright Stat
1477                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1478  </p>  </p>
1479  </blockquote>  </blockquote>
1480                                
1481    
1482  </blockquote>  </blockquote><p>
1483                        
1484    </p>
1485  <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.
1486  </p>  </p>
1487  <p>Examples:  <p>Examples:
1488  </p>  </p>
1489  <p></p>  <p>
1490                            </p>
1491  <blockquote class="text">  <blockquote class="text">
1492  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1493  </p>  </p>
# Line 1190  Intellectual Property and Copyright Stat Line 1507  Intellectual Property and Copyright Stat
1507  </p>  </p>
1508  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1509  </p>  </p>
1510  </blockquote>  </blockquote><p>
1511                        
1512  <p></p>  </p>
1513    <p>
1514                            </p>
1515  <blockquote class="text">  <blockquote class="text">
1516  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1517  </p>  </p>
# Line 1212  Intellectual Property and Copyright Stat Line 1531  Intellectual Property and Copyright Stat
1531  </p>  </p>
1532  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1533  </p>  </p>
1534  </blockquote>  </blockquote><p>
1535                        
1536  <p></p>  </p>
1537    <p>
1538                            </p>
1539  <blockquote class="text">  <blockquote class="text">
1540  <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'"
1541  </p>  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1559  Intellectual Property and Copyright Stat
1559  </p>  </p>
1560  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1561  </p>  </p>
1562  </blockquote>  </blockquote><p>
1563                        
1564  <a name="rfc.section.6.2.5"></a><h4><a name="CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a>&nbsp;Creating an audio output device</h4>  </p>
1565    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1566    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1567    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1568    Creating an audio output device</h3>
1569    
1570  <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:
1571  </p>  </p>
1572  <p></p>  <p>
1573                            </p>
1574  <blockquote class="text">  <blockquote class="text">
1575  <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;]
1576  </p>  </p>
1577  </blockquote>  </blockquote><p>
1578                        
1579    </p>
1580  <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
1581                      output system as returned by the                      output system as returned by the
1582                      <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>
1583                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1584                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1585                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1262  Intellectual Property and Copyright Stat Line 1589  Intellectual Property and Copyright Stat
1589  </p>  </p>
1590  <p>Possible Answers:  <p>Possible Answers:
1591  </p>  </p>
1592  <p></p>  <p>
1593                            </p>
1594  <blockquote class="text">  <blockquote class="text">
1595  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1596                                  </p>                                  </p>
# Line 1271  Intellectual Property and Copyright Stat Line 1599  Intellectual Property and Copyright Stat
1599                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1600  </p>  </p>
1601  </blockquote>  </blockquote>
1602                                
1603    
1604  <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;" -
1605                                  </p>                                  </p>
# Line 1283  Intellectual Property and Copyright Stat Line 1612  Intellectual Property and Copyright Stat
1612                                      warning message                                      warning message
1613  </p>  </p>
1614  </blockquote>  </blockquote>
1615                                
1616    
1617  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1618                                  </p>                                  </p>
# Line 1290  Intellectual Property and Copyright Stat Line 1620  Intellectual Property and Copyright Stat
1620  <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
1621  </p>  </p>
1622  </blockquote>  </blockquote>
1623                                
1624    
1625  </blockquote>  </blockquote><p>
1626                        
1627    </p>
1628  <p>Examples:  <p>Examples:
1629  </p>  </p>
1630  <p></p>  <p>
1631                            </p>
1632  <blockquote class="text">  <blockquote class="text">
1633  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1634  </p>  </p>
1635  <p>S: "OK[0]"  <p>S: "OK[0]"
1636  </p>  </p>
1637  </blockquote>  </blockquote><p>
1638                        
1639  <p></p>  </p>
1640    <p>
1641                            </p>
1642  <blockquote class="text">  <blockquote class="text">
1643  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1644  </p>  </p>
1645  <p>S: "OK[1]"  <p>S: "OK[1]"
1646  </p>  </p>
1647  </blockquote>  </blockquote><p>
1648                        
1649  <a name="rfc.section.6.2.6"></a><h4><a name="DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a>&nbsp;Destroying an audio output device</h4>  </p>
1650    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1651    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1652    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1653    Destroying an audio output device</h3>
1654    
1655  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1656  </p>  </p>
1657  <p></p>  <p>
1658                            </p>
1659  <blockquote class="text">  <blockquote class="text">
1660  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1661  </p>  </p>
1662  </blockquote>  </blockquote><p>
1663                        
1664    </p>
1665  <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
1666                      audio output device as given by the                      audio output device as given by the
1667                      <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>
1668                      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>
1669                      command.                      command.
1670  </p>  </p>
1671  <p>Possible Answers:  <p>Possible Answers:
1672  </p>  </p>
1673  <p></p>  <p>
1674                            </p>
1675  <blockquote class="text">  <blockquote class="text">
1676  <p>"OK" -  <p>"OK" -
1677                                  </p>                                  </p>
# Line 1337  Intellectual Property and Copyright Stat Line 1679  Intellectual Property and Copyright Stat
1679  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1680  </p>  </p>
1681  </blockquote>  </blockquote>
1682                                
1683    
1684  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1685                                  </p>                                  </p>
# Line 1348  Intellectual Property and Copyright Stat Line 1691  Intellectual Property and Copyright Stat
1691                                      warning code and warning message                                      warning code and warning message
1692  </p>  </p>
1693  </blockquote>  </blockquote>
1694                                
1695    
1696  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1697                                  </p>                                  </p>
# Line 1356  Intellectual Property and Copyright Stat Line 1700  Intellectual Property and Copyright Stat
1700                                      error message                                      error message
1701  </p>  </p>
1702  </blockquote>  </blockquote>
1703                                
1704    
1705  </blockquote>  </blockquote><p>
1706                        
1707    </p>
1708  <p>Example:  <p>Example:
1709  </p>  </p>
1710  <p></p>  <p>
1711                            </p>
1712  <blockquote class="text">  <blockquote class="text">
1713  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1714  </p>  </p>
1715  <p>S: "OK"  <p>S: "OK"
1716  </p>  </p>
1717  </blockquote>  </blockquote><p>
1718                        
1719  <a name="rfc.section.6.2.7"></a><h4><a name="GET AUDIO_OUTPUT_DEVICES">6.2.7</a>&nbsp;Getting all created audio output device count</h4>  </p>
1720    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1721    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1722    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1723    Getting all created audio output device count</h3>
1724    
1725  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1726  </p>  </p>
1727  <p></p>  <p>
1728                            </p>
1729  <blockquote class="text">  <blockquote class="text">
1730  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1731  </p>  </p>
1732  </blockquote>  </blockquote><p>
1733                        
1734    </p>
1735  <p>Possible Answers:  <p>Possible Answers:
1736  </p>  </p>
1737  <p></p>  <p>
1738                            </p>
1739  <blockquote class="text">  <blockquote class="text">
1740  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1741                              audio output devices.                              audio output devices.
1742  </p>  </p>
1743  </blockquote>  </blockquote><p>
1744                        
1745    </p>
1746  <p>Example:  <p>Example:
1747  </p>  </p>
1748  <p></p>  <p>
1749                            </p>
1750  <blockquote class="text">  <blockquote class="text">
1751  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1752  </p>  </p>
1753  <p>S: "4"  <p>S: "4"
1754  </p>  </p>
1755  </blockquote>  </blockquote><p>
1756                        
1757  <a name="rfc.section.6.2.8"></a><h4><a name="LIST AUDIO_OUTPUT_DEVICES">6.2.8</a>&nbsp;Getting all created audio output device list</h4>  </p>
1758    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1759    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1760    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1761    Getting all created audio output device list</h3>
1762    
1763  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1764  </p>  </p>
1765  <p></p>  <p>
1766                            </p>
1767  <blockquote class="text">  <blockquote class="text">
1768  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1769  </p>  </p>
1770  </blockquote>  </blockquote><p>
1771                        
1772    </p>
1773  <p>Possible Answers:  <p>Possible Answers:
1774  </p>  </p>
1775  <p></p>  <p>
1776                            </p>
1777  <blockquote class="text">  <blockquote class="text">
1778  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1779                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1780  </p>  </p>
1781  </blockquote>  </blockquote><p>
1782                        
1783    </p>
1784  <p>Example:  <p>Example:
1785  </p>  </p>
1786  <p></p>  <p>
1787                            </p>
1788  <blockquote class="text">  <blockquote class="text">
1789  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1790  </p>  </p>
1791  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1792  </p>  </p>
1793  </blockquote>  </blockquote><p>
1794                        
1795  <a name="rfc.section.6.2.9"></a><h4><a name="GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a>&nbsp;Getting current settings of an audio output device</h4>  </p>
1796    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1797    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1798    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1799    Getting current settings of an audio output device</h3>
1800    
1801  <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:
1802  </p>  </p>
1803  <p></p>  <p>
1804                            </p>
1805  <blockquote class="text">  <blockquote class="text">
1806  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1807  </p>  </p>
1808  </blockquote>  </blockquote><p>
1809                        
1810    </p>
1811  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1812                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1813                      <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.
1814  </p>  </p>
1815  <p>Possible Answers:  <p>Possible Answers:
1816  </p>  </p>
# Line 1451  Intellectual Property and Copyright Stat Line 1822  Intellectual Property and Copyright Stat
1822                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1823                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1824  </p>  </p>
1825  <p></p>  <p>
1826                            </p>
1827  <blockquote class="text">  <blockquote class="text">
1828  <p>DRIVER -  <p>DRIVER -
1829                                  </p>                                  </p>
1830  <blockquote class="text">  <blockquote class="text">
1831  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1832                                      returned by the                                      returned by the
1833                                      <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>
1834                                      command                                      command
1835  </p>  </p>
1836  </blockquote>  </blockquote>
1837                                
1838    
1839  <p>CHANNELS -  <p>CHANNELS -
1840                                  </p>                                  </p>
# Line 1470  Intellectual Property and Copyright Stat Line 1843  Intellectual Property and Copyright Stat
1843                                      offers                                      offers
1844  </p>  </p>
1845  </blockquote>  </blockquote>
1846                                
1847    
1848  <p>SAMPLERATE -  <p>SAMPLERATE -
1849                                  </p>                                  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1851  Intellectual Property and Copyright Stat
1851  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1852  </p>  </p>
1853  </blockquote>  </blockquote>
1854                                
1855    
1856  <p>ACTIVE -  <p>ACTIVE -
1857                                  </p>                                  </p>
# Line 1487  Intellectual Property and Copyright Stat Line 1862  Intellectual Property and Copyright Stat
1862                                      any audio                                      any audio
1863  </p>  </p>
1864  </blockquote>  </blockquote>
1865                                
1866    
1867  </blockquote>  </blockquote><p>
1868                        
1869    </p>
1870  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1871                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1872                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1873                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1874                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section 6.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>)
1875                      which are also returned by this command.                      which are also returned by this command.
1876  </p>  </p>
1877  <p>Example:  <p>Example:
1878  </p>  </p>
1879  <p></p>  <p>
1880                            </p>
1881  <blockquote class="text">  <blockquote class="text">
1882  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1883  </p>  </p>
# Line 1519  Intellectual Property and Copyright Stat Line 1897  Intellectual Property and Copyright Stat
1897  </p>  </p>
1898  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1899  </p>  </p>
1900  </blockquote>  </blockquote><p>
1901                        
1902  <a name="rfc.section.6.2.10"></a><h4><a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a>&nbsp;Changing settings of audio output devices</h4>  </p>
1903    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1904    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1905    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1906    Changing settings of audio output devices</h3>
1907    
1908  <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:
1909  </p>  </p>
1910  <p></p>  <p>
1911                            </p>
1912  <blockquote class="text">  <blockquote class="text">
1913  <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;
1914  </p>  </p>
1915  </blockquote>  </blockquote><p>
1916                        
1917    </p>
1918  <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
1919                      audio output device as given by the                      audio output device as given by the
1920                      <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>
1921                      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>
1922                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1923                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1924  </p>  </p>
1925  <p>Possible Answers:  <p>Possible Answers:
1926  </p>  </p>
1927  <p></p>  <p>
1928                            </p>
1929  <blockquote class="text">  <blockquote class="text">
1930  <p>"OK" -  <p>"OK" -
1931                                  </p>                                  </p>
# Line 1548  Intellectual Property and Copyright Stat Line 1933  Intellectual Property and Copyright Stat
1933  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1934  </p>  </p>
1935  </blockquote>  </blockquote>
1936                                
1937    
1938  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1939                                  </p>                                  </p>
# Line 1557  Intellectual Property and Copyright Stat Line 1943  Intellectual Property and Copyright Stat
1943                                      warning code and warning message                                      warning code and warning message
1944  </p>  </p>
1945  </blockquote>  </blockquote>
1946                                
1947    
1948  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1949                                  </p>                                  </p>
# Line 1565  Intellectual Property and Copyright Stat Line 1952  Intellectual Property and Copyright Stat
1952                                      error message                                      error message
1953  </p>  </p>
1954  </blockquote>  </blockquote>
1955                                
1956    
1957  </blockquote>  </blockquote><p>
1958                        
1959    </p>
1960  <p>Example:  <p>Example:
1961  </p>  </p>
1962  <p></p>  <p>
1963                            </p>
1964  <blockquote class="text">  <blockquote class="text">
1965  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
1966  </p>  </p>
1967  <p>S: "OK"  <p>S: "OK"
1968  </p>  </p>
1969  </blockquote>  </blockquote><p>
1970                        
1971  <a name="rfc.section.6.2.11"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a>&nbsp;Getting information about an audio channel</h4>  </p>
1972    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1973    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1974    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1975    Getting information about an audio channel</h3>
1976    
1977  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1978  </p>  </p>
1979  <p></p>  <p>
1980                            </p>
1981  <blockquote class="text">  <blockquote class="text">
1982  <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;
1983  </p>  </p>
1984  </blockquote>  </blockquote><p>
1985                        
1986    </p>
1987  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
1988                      <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>
1989                      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>
1990                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
1991  </p>  </p>
1992  <p>Possible Answers:  <p>Possible Answers:
1993  </p>  </p>
1994  <p></p>  <p>
1995                            </p>
1996  <blockquote class="text">  <blockquote class="text">
1997  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
1998                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1603  Intellectual Property and Copyright Stat Line 2000  Intellectual Property and Copyright Stat
2000                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2001                              the following information categories are defined:                              the following information categories are defined:
2002  </p>  </p>
2003  <p></p>  <p>
2004                                    </p>
2005  <blockquote class="text">  <blockquote class="text">
2006  <p>NAME -  <p>NAME -
2007                                          </p>                                          </p>
# Line 1612  Intellectual Property and Copyright Stat Line 2010  Intellectual Property and Copyright Stat
2010                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
2011  </p>  </p>
2012  </blockquote>  </blockquote>
2013                                        
2014    
2015  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
2016                                          </p>                                          </p>
# Line 1624  Intellectual Property and Copyright Stat Line 2023  Intellectual Property and Copyright Stat
2023                                              (always returned by all audio channels)                                              (always returned by all audio channels)
2024  </p>  </p>
2025  </blockquote>  </blockquote>
2026                                        
2027    
2028  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
2029                                          </p>                                          </p>
# Line 1635  Intellectual Property and Copyright Stat Line 2035  Intellectual Property and Copyright Stat
2035                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
2036  </p>  </p>
2037  </blockquote>  </blockquote>
2038                                        
2039    
2040  </blockquote>  </blockquote>
2041                                
2042    
2043  </blockquote>  </blockquote><p>
2044                        
2045    </p>
2046  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2047                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2048                      generally returned for the described cases by all audio                      generally returned for the described cases by all audio
# Line 1649  Intellectual Property and Copyright Stat Line 2052  Intellectual Property and Copyright Stat
2052  </p>  </p>
2053  <p>Examples:  <p>Examples:
2054  </p>  </p>
2055  <p></p>  <p>
2056                            </p>
2057  <blockquote class="text">  <blockquote class="text">
2058  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
2059  </p>  </p>
# Line 1659  Intellectual Property and Copyright Stat Line 2063  Intellectual Property and Copyright Stat
2063  </p>  </p>
2064  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2065  </p>  </p>
2066  </blockquote>  </blockquote><p>
2067                        
2068  <p></p>  </p>
2069    <p>
2070                            </p>
2071  <blockquote class="text">  <blockquote class="text">
2072  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
2073  </p>  </p>
# Line 1671  Intellectual Property and Copyright Stat Line 2077  Intellectual Property and Copyright Stat
2077  </p>  </p>
2078  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2079  </p>  </p>
2080  </blockquote>  </blockquote><p>
2081                        
2082  <p></p>  </p>
2083    <p>
2084                            </p>
2085  <blockquote class="text">  <blockquote class="text">
2086  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2087  </p>  </p>
# Line 1685  Intellectual Property and Copyright Stat Line 2093  Intellectual Property and Copyright Stat
2093  </p>  </p>
2094  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2095  </p>  </p>
2096  </blockquote>  </blockquote><p>
2097                        
2098  <p></p>  </p>
2099    <p>
2100                            </p>
2101  <blockquote class="text">  <blockquote class="text">
2102  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2103  </p>  </p>
# Line 1699  Intellectual Property and Copyright Stat Line 2109  Intellectual Property and Copyright Stat
2109  </p>  </p>
2110  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2111  </p>  </p>
2112  </blockquote>  </blockquote><p>
2113                        
2114  <a name="rfc.section.6.2.12"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a>&nbsp;Getting information about specific audio channel parameter</h4>  </p>
2115    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2116    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2117    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2118    Getting information about specific audio channel parameter</h3>
2119    
2120  <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:
2121  </p>  </p>
2122  <p></p>  <p>
2123                            </p>
2124  <blockquote class="text">  <blockquote class="text">
2125  <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;
2126  </p>  </p>
2127  </blockquote>  </blockquote><p>
2128                        
2129    </p>
2130  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
2131                      <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>
2132                      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>
2133                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2134                      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
2135                      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).
2136  </p>  </p>
2137  <p>Possible Answers:  <p>Possible Answers:
2138  </p>  </p>
2139  <p></p>  <p>
2140                            </p>
2141  <blockquote class="text">  <blockquote class="text">
2142  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2143                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1731  Intellectual Property and Copyright Stat Line 2148  Intellectual Property and Copyright Stat
2148                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2149                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2150  </p>  </p>
2151  <p></p>  <p>
2152                                    </p>
2153  <blockquote class="text">  <blockquote class="text">
2154  <p>TYPE -  <p>TYPE -
2155                                          </p>                                          </p>
# Line 1742  Intellectual Property and Copyright Stat Line 2160  Intellectual Property and Copyright Stat
2160                                              (always returned)                                              (always returned)
2161  </p>  </p>
2162  </blockquote>  </blockquote>
2163                                        
2164    
2165  <p>DESCRIPTION -  <p>DESCRIPTION -
2166                                          </p>                                          </p>
# Line 1749  Intellectual Property and Copyright Stat Line 2168  Intellectual Property and Copyright Stat
2168  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2169  </p>  </p>
2170  </blockquote>  </blockquote>
2171                                        
2172    
2173  <p>FIX -  <p>FIX -
2174                                          </p>                                          </p>
# Line 1758  Intellectual Property and Copyright Stat Line 2178  Intellectual Property and Copyright Stat
2178                                              (always returned)                                              (always returned)
2179  </p>  </p>
2180  </blockquote>  </blockquote>
2181                                        
2182    
2183  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2184                                          </p>                                          </p>
# Line 1768  Intellectual Property and Copyright Stat Line 2189  Intellectual Property and Copyright Stat
2189                                              (always returned)                                              (always returned)
2190  </p>  </p>
2191  </blockquote>  </blockquote>
2192                                        
2193    
2194  <p>RANGE_MIN -  <p>RANGE_MIN -
2195                                          </p>                                          </p>
# Line 1780  Intellectual Property and Copyright Stat Line 2202  Intellectual Property and Copyright Stat
2202                                              parameter)                                              parameter)
2203  </p>  </p>
2204  </blockquote>  </blockquote>
2205                                        
2206    
2207  <p>RANGE_MAX -  <p>RANGE_MAX -
2208                                          </p>                                          </p>
# Line 1792  Intellectual Property and Copyright Stat Line 2215  Intellectual Property and Copyright Stat
2215                                              parameter)                                              parameter)
2216  </p>  </p>
2217  </blockquote>  </blockquote>
2218                                        
2219    
2220  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2221                                          </p>                                          </p>
# Line 1803  Intellectual Property and Copyright Stat Line 2227  Intellectual Property and Copyright Stat
2227                                              parameter)                                              parameter)
2228  </p>  </p>
2229  </blockquote>  </blockquote>
2230                                        
2231    
2232  </blockquote>  </blockquote>
2233                                
2234    
2235  <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.
2236  </p>  </p>
2237  </blockquote>  </blockquote><p>
2238                        
2239    </p>
2240  <p>Example:  <p>Example:
2241  </p>  </p>
2242  <p></p>  <p>
2243                            </p>
2244  <blockquote class="text">  <blockquote class="text">
2245  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2246  </p>  </p>
# Line 1828  Intellectual Property and Copyright Stat Line 2256  Intellectual Property and Copyright Stat
2256  </p>  </p>
2257  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2258  </p>  </p>
2259  </blockquote>  </blockquote><p>
2260                        
2261  <a name="rfc.section.6.2.13"></a><h4><a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a>&nbsp;Changing settings of audio output channels</h4>  </p>
2262    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2263    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2264    <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2265    Changing settings of audio output channels</h3>
2266    
2267  <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:
2268  </p>  </p>
2269  <p></p>  <p>
2270                            </p>
2271  <blockquote class="text">  <blockquote class="text">
2272  <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;
2273  </p>  </p>
2274  </blockquote>  </blockquote><p>
2275                        
2276    </p>
2277  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
2278                      <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>
2279                      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>
2280                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2281                      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.
2282  </p>  </p>
2283  <p>Possible Answers:  <p>Possible Answers:
2284  </p>  </p>
2285  <p></p>  <p>
2286                            </p>
2287  <blockquote class="text">  <blockquote class="text">
2288  <p>"OK" -  <p>"OK" -
2289                                  </p>                                  </p>
# Line 1856  Intellectual Property and Copyright Stat Line 2291  Intellectual Property and Copyright Stat
2291  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2292  </p>  </p>
2293  </blockquote>  </blockquote>
2294                                
2295    
2296  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2297                                  </p>                                  </p>
# Line 1865  Intellectual Property and Copyright Stat Line 2301  Intellectual Property and Copyright Stat
2301                                     warning code and warning message                                     warning code and warning message
2302  </p>  </p>
2303  </blockquote>  </blockquote>
2304                                
2305    
2306  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2307                                  </p>                                  </p>
# Line 1873  Intellectual Property and Copyright Stat Line 2310  Intellectual Property and Copyright Stat
2310                                     error message                                     error message
2311  </p>  </p>
2312  </blockquote>  </blockquote>
2313                                
2314    
2315  </blockquote>  </blockquote><p>
2316                        
2317    </p>
2318  <p>Example:  <p>Example:
2319  </p>  </p>
2320  <p></p>  <p>
2321                            </p>
2322  <blockquote class="text">  <blockquote class="text">
2323  <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'"
2324  </p>  </p>
2325  <p>S: "OK"  <p>S: "OK"
2326  </p>  </p>
2327  </blockquote>  </blockquote><p>
2328                        
2329  <p></p>  </p>
2330    <p>
2331                            </p>
2332  <blockquote class="text">  <blockquote class="text">
2333  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2334  </p>  </p>
2335  <p>S: "OK"  <p>S: "OK"
2336  </p>  </p>
2337  </blockquote>  </blockquote><p>
2338                        
2339  <a name="rfc.section.6.3"></a><h4><a name="anchor10">6.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2340    <a name="anchor10"></a><br /><hr />
2341    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2342    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2343    Configuring MIDI input drivers</h3>
2344    
2345  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2346                  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 1922  Intellectual Property and Copyright Stat Line 2368  Intellectual Property and Copyright Stat
2368                  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
2369                  possible values, etc.                  possible values, etc.
2370  </p>  </p>
2371  <a name="rfc.section.6.3.1"></a><h4><a name="GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a>&nbsp;Getting amount of available MIDI input drivers</h4>  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2372    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2373    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2374    Getting amount of available MIDI input drivers</h3>
2375    
2376  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2377                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2378                      LinuxSampler instance:                      LinuxSampler instance:
2379  </p>  </p>
2380  <p></p>  <p>
2381                            </p>
2382  <blockquote class="text">  <blockquote class="text">
2383  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2384  </p>  </p>
2385  </blockquote>  </blockquote><p>
2386                        
2387    </p>
2388  <p>Possible Answers:  <p>Possible Answers:
2389  </p>  </p>
2390  <p></p>  <p>
2391                            </p>
2392  <blockquote class="text">  <blockquote class="text">
2393  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2394                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2395  </p>  </p>
2396  </blockquote>  </blockquote><p>
2397                        
2398    </p>
2399  <p>Example:  <p>Example:
2400  </p>  </p>
2401  <p></p>  <p>
2402                            </p>
2403  <blockquote class="text">  <blockquote class="text">
2404  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2405  </p>  </p>
2406  <p>S: "2"  <p>S: "2"
2407  </p>  </p>
2408  </blockquote>  </blockquote><p>
2409                        
2410  <a name="rfc.section.6.3.2"></a><h4><a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a>&nbsp;Getting all available MIDI input drivers</h4>  </p>
2411    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2412    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2413    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2414    Getting all available MIDI input drivers</h3>
2415    
2416  <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
2417                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2418  </p>  </p>
2419  <p></p>  <p>
2420                            </p>
2421  <blockquote class="text">  <blockquote class="text">
2422  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2423  </p>  </p>
2424  </blockquote>  </blockquote><p>
2425                        
2426    </p>
2427  <p>Possible Answers:  <p>Possible Answers:
2428  </p>  </p>
2429  <p></p>  <p>
2430                            </p>
2431  <blockquote class="text">  <blockquote class="text">
2432  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2433                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2434  </p>  </p>
2435  </blockquote>  </blockquote><p>
2436                        
2437    </p>
2438  <p>Example:  <p>Example:
2439  </p>  </p>
2440  <p></p>  <p>
2441                            </p>
2442  <blockquote class="text">  <blockquote class="text">
2443  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2444  </p>  </p>
2445  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2446  </p>  </p>
2447  </blockquote>  </blockquote><p>
2448                        
2449  <a name="rfc.section.6.3.3"></a><h4><a name="GET MIDI_INPUT_DRIVER INFO">6.3.3</a>&nbsp;Getting information about a specific MIDI input driver</h4>  </p>
2450    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2451    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2452    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2453    Getting information about a specific MIDI input driver</h3>
2454    
2455  <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:
2456  </p>  </p>
2457  <p></p>  <p>
2458                            </p>
2459  <blockquote class="text">  <blockquote class="text">
2460  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2461  </p>  </p>
2462  </blockquote>  </blockquote><p>
2463                        
2464    </p>
2465  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2466                      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.                      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.
2467  </p>  </p>
2468  <p>Possible Answers:  <p>Possible Answers:
2469  </p>  </p>
2470  <p></p>  <p>
2471                            </p>
2472  <blockquote class="text">  <blockquote class="text">
2473  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2474                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2006  Intellectual Property and Copyright Stat Line 2476  Intellectual Property and Copyright Stat
2476                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2477                              the following information categories are defined:                              the following information categories are defined:
2478  </p>  </p>
2479  <p></p>  <p>
2480                                    </p>
2481  <blockquote class="text">  <blockquote class="text">
2482  <p>DESCRIPTION -  <p>DESCRIPTION -
2483                                          </p>                                          </p>
# Line 2014  Intellectual Property and Copyright Stat Line 2485  Intellectual Property and Copyright Stat
2485  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2486  </p>  </p>
2487  </blockquote>  </blockquote>
2488                                        
2489    
2490  <p>VERSION -  <p>VERSION -
2491                                          </p>                                          </p>
# Line 2021  Intellectual Property and Copyright Stat Line 2493  Intellectual Property and Copyright Stat
2493  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2494  </p>  </p>
2495  </blockquote>  </blockquote>
2496                                        
2497    
2498  <p>PARAMETERS -  <p>PARAMETERS -
2499                                          </p>                                          </p>
# Line 2028  Intellectual Property and Copyright Stat Line 2501  Intellectual Property and Copyright Stat
2501  <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
2502  </p>  </p>
2503  </blockquote>  </blockquote>
2504                                        
2505    
2506  </blockquote>  </blockquote>
2507                                
2508    
2509  <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.
2510  </p>  </p>
2511  </blockquote>  </blockquote><p>
2512                        
2513    </p>
2514  <p>Example:  <p>Example:
2515  </p>  </p>
2516  <p></p>  <p>
2517                            </p>
2518  <blockquote class="text">  <blockquote class="text">
2519  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2520  </p>  </p>
# Line 2049  Intellectual Property and Copyright Stat Line 2526  Intellectual Property and Copyright Stat
2526  </p>  </p>
2527  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2528  </p>  </p>
2529  </blockquote>  </blockquote><p>
2530                        
2531  <a name="rfc.section.6.3.4"></a><h4><a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a>&nbsp;Getting information about specific MIDI input driver parameter</h4>  </p>
2532    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2533    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2534    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2535    Getting information about specific MIDI input driver parameter</h3>
2536    
2537  <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:
2538  </p>  </p>
2539  <p></p>  <p>
2540                            </p>
2541  <blockquote class="text">  <blockquote class="text">
2542  <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;]
2543  </p>  </p>
2544  </blockquote>  </blockquote><p>
2545                        
2546    </p>
2547  <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
2548                      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
2549                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2550                      <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
2551                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2552                      &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 ...",
2553                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2083  Intellectual Property and Copyright Stat Line 2566  Intellectual Property and Copyright Stat
2566                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2567                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2568  </p>  </p>
2569  <p></p>  <p>
2570                            </p>
2571  <blockquote class="text">  <blockquote class="text">
2572  <p>TYPE -  <p>TYPE -
2573                                </p>                                </p>
# Line 2094  Intellectual Property and Copyright Stat Line 2578  Intellectual Property and Copyright Stat
2578                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2579  </p>  </p>
2580  </blockquote>  </blockquote>
2581                                
2582    
2583  <p>DESCRIPTION -  <p>DESCRIPTION -
2584                                </p>                                </p>
# Line 2102  Intellectual Property and Copyright Stat Line 2587  Intellectual Property and Copyright Stat
2587                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2588  </p>  </p>
2589  </blockquote>  </blockquote>
2590                                
2591    
2592  <p>MANDATORY -  <p>MANDATORY -
2593                                </p>                                </p>
2594  <blockquote class="text">  <blockquote class="text">
2595  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2596                                  given when the device is to be created with the                                  given when the device is to be created with the
2597                                  <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
2598                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2599  </p>  </p>
2600  </blockquote>  </blockquote>
2601                                
2602    
2603  <p>FIX -  <p>FIX -
2604                                </p>                                </p>
2605  <blockquote class="text">  <blockquote class="text">
2606  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2607                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2608                                  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
2609                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2610  </p>  </p>
2611  </blockquote>  </blockquote>
2612                                
2613    
2614  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2615                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2620  Intellectual Property and Copyright Stat
2620                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2621  </p>  </p>
2622  </blockquote>  </blockquote>
2623                                
2624    
2625  <p>DEPENDS -  <p>DEPENDS -
2626                                </p>                                </p>
# Line 2148  Intellectual Property and Copyright Stat Line 2637  Intellectual Property and Copyright Stat
2637                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2638  </p>  </p>
2639  </blockquote>  </blockquote>
2640                                
2641    
2642  <p>DEFAULT -  <p>DEFAULT -
2643                                </p>                                </p>
2644  <blockquote class="text">  <blockquote class="text">
2645  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2646                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2647                                  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,
2648                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2649                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2650                                  apostrophes (')                                  apostrophes (')
2651                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2652  </p>  </p>
2653  </blockquote>  </blockquote>
2654                                
2655    
2656  <p>RANGE_MIN -  <p>RANGE_MIN -
2657                                </p>                                </p>
# Line 2172  Intellectual Property and Copyright Stat Line 2663  Intellectual Property and Copyright Stat
2663                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2664  </p>  </p>
2665  </blockquote>  </blockquote>
2666                                
2667    
2668  <p>RANGE_MAX -  <p>RANGE_MAX -
2669                                </p>                                </p>
# Line 2183  Intellectual Property and Copyright Stat Line 2675  Intellectual Property and Copyright Stat
2675                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2676  </p>  </p>
2677  </blockquote>  </blockquote>
2678                                
2679    
2680  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2681                                </p>                                </p>
# Line 2193  Intellectual Property and Copyright Stat Line 2686  Intellectual Property and Copyright Stat
2686                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2687  </p>  </p>
2688  </blockquote>  </blockquote>
2689                                
2690    
2691  </blockquote>  </blockquote><p>
2692                        
2693    </p>
2694  <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.
2695  </p>  </p>
2696  <p>Example:  <p>Example:
2697  </p>  </p>
2698  <p></p>  <p>
2699                            </p>
2700  <blockquote class="text">  <blockquote class="text">
2701  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2702  </p>  </p>
# Line 2218  Intellectual Property and Copyright Stat Line 2714  Intellectual Property and Copyright Stat
2714  </p>  </p>
2715  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2716  </p>  </p>
2717  </blockquote>  </blockquote><p>
2718                        
2719  <a name="rfc.section.6.3.5"></a><h4><a name="CREATE MIDI_INPUT_DEVICE">6.3.5</a>&nbsp;Creating a MIDI input device</h4>  </p>
2720    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2721    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2722    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2723    Creating a MIDI input device</h3>
2724    
2725  <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:
2726  </p>  </p>
2727  <p></p>  <p>
2728                            </p>
2729  <blockquote class="text">  <blockquote class="text">
2730  <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;]
2731  </p>  </p>
2732  </blockquote>  </blockquote><p>
2733                        
2734    </p>
2735  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2736                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command and &lt;param-list&gt; by an                      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
2737                      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
2738                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2739                      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 2240  Intellectual Property and Copyright Stat Line 2742  Intellectual Property and Copyright Stat
2742  </p>  </p>
2743  <p>Possible Answers:  <p>Possible Answers:
2744  </p>  </p>
2745  <p></p>  <p>
2746                            </p>
2747  <blockquote class="text">  <blockquote class="text">
2748  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2749                                  </p>                                  </p>
# Line 2249  Intellectual Property and Copyright Stat Line 2752  Intellectual Property and Copyright Stat
2752                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2753  </p>  </p>
2754  </blockquote>  </blockquote>
2755                                
2756    
2757  <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;" -
2758                                  </p>                                  </p>
# Line 2259  Intellectual Property and Copyright Stat Line 2763  Intellectual Property and Copyright Stat
2763                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2764  </p>  </p>
2765  </blockquote>  </blockquote>
2766                                
2767    
2768  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2769                                  </p>                                  </p>
# Line 2266  Intellectual Property and Copyright Stat Line 2771  Intellectual Property and Copyright Stat
2771  <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
2772  </p>  </p>
2773  </blockquote>  </blockquote>
2774                                
2775    
2776  </blockquote>  </blockquote><p>
2777                        
2778    </p>
2779  <p>Example:  <p>Example:
2780  </p>  </p>
2781  <p></p>  <p>
2782                            </p>
2783  <blockquote class="text">  <blockquote class="text">
2784  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2785  </p>  </p>
2786  <p>S: "OK[0]"  <p>S: "OK[0]"
2787  </p>  </p>
2788  </blockquote>  </blockquote><p>
2789                        
2790  <a name="rfc.section.6.3.6"></a><h4><a name="DESTROY MIDI_INPUT_DEVICE">6.3.6</a>&nbsp;Destroying a MIDI input device</h4>  </p>
2791    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2792    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2793    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2794    Destroying a MIDI input device</h3>
2795    
2796  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2797  </p>  </p>
2798  <p></p>  <p>
2799                            </p>
2800  <blockquote class="text">  <blockquote class="text">
2801  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2802  </p>  </p>
2803  </blockquote>  </blockquote><p>
2804                        
2805    </p>
2806  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2807                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
2808                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
2809                      command.                      command.
2810  </p>  </p>
2811  <p>Possible Answers:  <p>Possible Answers:
2812  </p>  </p>
2813  <p></p>  <p>
2814                            </p>
2815  <blockquote class="text">  <blockquote class="text">
2816  <p>"OK" -  <p>"OK" -
2817                                  </p>                                  </p>
# Line 2304  Intellectual Property and Copyright Stat Line 2819  Intellectual Property and Copyright Stat
2819  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2820  </p>  </p>
2821  </blockquote>  </blockquote>
2822                                
2823    
2824  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2825                                  </p>                                  </p>
# Line 2313  Intellectual Property and Copyright Stat Line 2829  Intellectual Property and Copyright Stat
2829                                      warning message                                      warning message
2830  </p>  </p>
2831  </blockquote>  </blockquote>
2832                                
2833    
2834  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2835                                  </p>                                  </p>
# Line 2320  Intellectual Property and Copyright Stat Line 2837  Intellectual Property and Copyright Stat
2837  <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
2838  </p>  </p>
2839  </blockquote>  </blockquote>
2840                                
2841    
2842  </blockquote>  </blockquote><p>
2843                        
2844    </p>
2845  <p>Example:  <p>Example:
2846  </p>  </p>
2847  <p></p>  <p>
2848                            </p>
2849  <blockquote class="text">  <blockquote class="text">
2850  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2851  </p>  </p>
2852  <p>S: "OK"  <p>S: "OK"
2853  </p>  </p>
2854  </blockquote>  </blockquote><p>
2855                        
2856  <a name="rfc.section.6.3.7"></a><h4><a name="GET MIDI_INPUT_DEVICES">6.3.7</a>&nbsp;Getting all created MIDI input device count</h4>  </p>
2857    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2858    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2859    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2860    Getting all created MIDI input device count</h3>
2861    
2862  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2863  </p>  </p>
2864  <p></p>  <p>
2865                            </p>
2866  <blockquote class="text">  <blockquote class="text">
2867  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2868  </p>  </p>
2869  </blockquote>  </blockquote><p>
2870                        
2871    </p>
2872  <p>Possible Answers:  <p>Possible Answers:
2873  </p>  </p>
2874  <p></p>  <p>
2875                            </p>
2876  <blockquote class="text">  <blockquote class="text">
2877  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2878                              MIDI input devices.                              MIDI input devices.
2879  </p>  </p>
2880  </blockquote>  </blockquote><p>
2881                        
2882    </p>
2883  <p>Example:  <p>Example:
2884  </p>  </p>
2885  <p></p>  <p>
2886                            </p>
2887  <blockquote class="text">  <blockquote class="text">
2888  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2889  </p>  </p>
2890  <p>S: "3"  <p>S: "3"
2891  </p>  </p>
2892  </blockquote>  </blockquote><p>
2893                        
2894  <a name="rfc.section.6.3.8"></a><h4><a name="LIST MIDI_INPUT_DEVICES">6.3.8</a>&nbsp;Getting all created MIDI input device list</h4>  </p>
2895    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2896    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2897    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2898    Getting all created MIDI input device list</h3>
2899    
2900  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2901  </p>  </p>
2902  <p></p>  <p>
2903                            </p>
2904  <blockquote class="text">  <blockquote class="text">
2905  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2906  </p>  </p>
2907  </blockquote>  </blockquote><p>
2908                        
2909    </p>
2910  <p>Possible Answers:  <p>Possible Answers:
2911  </p>  </p>
2912  <p></p>  <p>
2913                            </p>
2914  <blockquote class="text">  <blockquote class="text">
2915  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2916                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2917  </p>  </p>
2918  </blockquote>  </blockquote><p>
2919                        
2920    </p>
2921  <p>Examples:  <p>Examples:
2922  </p>  </p>
2923  <p></p>  <p>
2924                            </p>
2925  <blockquote class="text">  <blockquote class="text">
2926  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2927  </p>  </p>
2928  <p>S: "0,1,2"  <p>S: "0,1,2"
2929  </p>  </p>
2930  </blockquote>  </blockquote><p>
2931                        
2932  <p></p>  </p>
2933    <p>
2934                            </p>
2935  <blockquote class="text">  <blockquote class="text">
2936  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2937  </p>  </p>
2938  <p>S: "1,3"  <p>S: "1,3"
2939  </p>  </p>
2940  </blockquote>  </blockquote><p>
2941                        
2942  <a name="rfc.section.6.3.9"></a><h4><a name="GET MIDI_INPUT_DEVICE INFO">6.3.9</a>&nbsp;Getting current settings of a MIDI input device</h4>  </p>
2943    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2944    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2945    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2946    Getting current settings of a MIDI input device</h3>
2947    
2948  <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:
2949  </p>  </p>
2950  <p></p>  <p>
2951                            </p>
2952  <blockquote class="text">  <blockquote class="text">
2953  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
2954  </p>  </p>
2955  </blockquote>  </blockquote><p>
2956                        
2957    </p>
2958  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2959                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
2960                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
2961                      command.                      command.
2962  </p>  </p>
2963  <p>Possible Answers:  <p>Possible Answers:
2964  </p>  </p>
2965  <p></p>  <p>
2966                            </p>
2967  <blockquote class="text">  <blockquote class="text">
2968  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2969                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2426  Intellectual Property and Copyright Stat Line 2973  Intellectual Property and Copyright Stat
2973                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
2974                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
2975  </p>  </p>
2976  <p></p>  <p>
2977                                    </p>
2978  <blockquote class="text">  <blockquote class="text">
2979  <p>DRIVER -  <p>DRIVER -
2980                                          </p>                                          </p>
2981  <blockquote class="text">  <blockquote class="text">
2982  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2983                                              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>
2984                                              command                                              command
2985  </p>  </p>
2986  </blockquote>  </blockquote>
2987                                        
2988    
2989  </blockquote>  </blockquote>
2990                                    
2991  <blockquote class="text">  <blockquote class="text">
2992  <p><p>ACTIVE -  <p>ACTIVE -
2993                                          </p>                                          </p>
2994  <blockquote class="text">  <blockquote class="text">
2995  <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 2448  Intellectual Property and Copyright Stat Line 2998  Intellectual Property and Copyright Stat
2998                                              channels                                              channels
2999  </p>  </p>
3000  </blockquote>  </blockquote>
3001                                        
3002    
3003  </blockquote>  </blockquote>
3004                                
3005    
3006  </blockquote>  </blockquote><p>
3007                        
3008    </p>
3009  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
3010                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3011                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3012                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3013                      <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
3014                      by this command.                      by this command.
3015  </p>  </p>
3016  <p>Example:  <p>Example:
3017  </p>  </p>
3018  <p></p>  <p>
3019                            </p>
3020  <blockquote class="text">  <blockquote class="text">
3021  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
3022  </p>  </p>
# Line 2472  Intellectual Property and Copyright Stat Line 3026  Intellectual Property and Copyright Stat
3026  </p>  </p>
3027  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3028  </p>  </p>
3029  </blockquote>  </blockquote><p>
3030                        
3031  <a name="rfc.section.6.3.10"></a><h4><a name="SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a>&nbsp;Changing settings of MIDI input devices</h4>  </p>
3032    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3033    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3034    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3035    Changing settings of MIDI input devices</h3>
3036    
3037  <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:
3038  </p>  </p>
3039  <p></p>  <p>
3040                            </p>
3041  <blockquote class="text">  <blockquote class="text">
3042  <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;
3043  </p>  </p>
3044  </blockquote>  </blockquote><p>
3045                        
3046    </p>
3047  <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
3048                      MIDI input device as returned by the                      MIDI input device as returned by the
3049                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
3050                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
3051                      command, &lt;key&gt; by the name of the parameter to change and                      command, &lt;key&gt; by the name of the parameter to change and
3052                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3053  </p>  </p>
3054  <p>Possible Answers:  <p>Possible Answers:
3055  </p>  </p>
3056  <p></p>  <p>
3057                            </p>
3058  <blockquote class="text">  <blockquote class="text">
3059  <p>"OK" -  <p>"OK" -
3060                                  </p>                                  </p>
# Line 2501  Intellectual Property and Copyright Stat Line 3062  Intellectual Property and Copyright Stat
3062  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3063  </p>  </p>
3064  </blockquote>  </blockquote>
3065                                
3066    
3067  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3068                                  </p>                                  </p>
# Line 2510  Intellectual Property and Copyright Stat Line 3072  Intellectual Property and Copyright Stat
3072                                      warning code and warning message                                      warning code and warning message
3073  </p>  </p>
3074  </blockquote>  </blockquote>
3075                                
3076    
3077  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3078                                  </p>                                  </p>
# Line 2517  Intellectual Property and Copyright Stat Line 3080  Intellectual Property and Copyright Stat
3080  <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
3081  </p>  </p>
3082  </blockquote>  </blockquote>
3083                                
3084    
3085  </blockquote>  </blockquote><p>
3086                        
3087    </p>
3088  <p>Example:  <p>Example:
3089  </p>  </p>
3090  <p></p>  <p>
3091                            </p>
3092  <blockquote class="text">  <blockquote class="text">
3093  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3094  </p>  </p>
3095  <p>S: "OK"  <p>S: "OK"
3096  </p>  </p>
3097  </blockquote>  </blockquote><p>
3098                        
3099  <a name="rfc.section.6.3.11"></a><h4><a name="GET MIDI_INPUT_PORT INFO">6.3.11</a>&nbsp;Getting information about a MIDI port</h4>  </p>
3100    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3101    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3102    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3103    Getting information about a MIDI port</h3>
3104    
3105  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3106  </p>  </p>
3107  <p></p>  <p>
3108                            </p>
3109  <blockquote class="text">  <blockquote class="text">
3110  <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;
3111  </p>  </p>
3112  </blockquote>  </blockquote><p>
3113                        
3114    </p>
3115  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3116                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
3117                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
3118                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3119  </p>  </p>
3120  <p>Possible Answers:  <p>Possible Answers:
3121  </p>  </p>
3122  <p></p>  <p>
3123                            </p>
3124  <blockquote class="text">  <blockquote class="text">
3125  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3126                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2561  Intellectual Property and Copyright Stat Line 3134  Intellectual Property and Copyright Stat
3134  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3135  </p>  </p>
3136  </blockquote>  </blockquote>
3137                                
3138    
3139  </blockquote>  </blockquote><p>
3140                        
3141    </p>
3142  <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
3143                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3144                      might have its own, additional driver and port specific                      might have its own, additional driver and port specific
# Line 2571  Intellectual Property and Copyright Stat Line 3146  Intellectual Property and Copyright Stat
3146  </p>  </p>
3147  <p>Example:  <p>Example:
3148  </p>  </p>
3149  <p></p>  <p>
3150                            </p>
3151  <blockquote class="text">  <blockquote class="text">
3152  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3153  </p>  </p>
# Line 2581  Intellectual Property and Copyright Stat Line 3157  Intellectual Property and Copyright Stat
3157  </p>  </p>
3158  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3159  </p>  </p>
3160  </blockquote>  </blockquote><p>
3161                        
3162  <a name="rfc.section.6.3.12"></a><h4><a name="GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a>&nbsp;Getting information about specific MIDI port parameter</h4>  </p>
3163    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3164    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3165    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3166    Getting information about specific MIDI port parameter</h3>
3167    
3168  <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:
3169  </p>  </p>
3170  <p></p>  <p>
3171                            </p>
3172  <blockquote class="text">  <blockquote class="text">
3173  <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;
3174  </p>  </p>
3175  </blockquote>  </blockquote><p>
3176                        
3177    </p>
3178  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
3179                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
3180                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
3181                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3182                      &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
3183                      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).
3184  </p>  </p>
3185  <p>Possible Answers:  <p>Possible Answers:
3186  </p>  </p>
3187  <p></p>  <p>
3188                            </p>
3189  <blockquote class="text">  <blockquote class="text">
3190  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3191                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2622  Intellectual Property and Copyright Stat Line 3205  Intellectual Property and Copyright Stat
3205                                      (always returned)                                      (always returned)
3206  </p>  </p>
3207  </blockquote>  </blockquote>
3208                                
3209    
3210  <p>DESCRIPTION -  <p>DESCRIPTION -
3211                                  </p>                                  </p>
# Line 2630  Intellectual Property and Copyright Stat Line 3214  Intellectual Property and Copyright Stat
3214                                      (always returned)                                      (always returned)
3215  </p>  </p>
3216  </blockquote>  </blockquote>
3217                                
3218    
3219  <p>FIX -  <p>FIX -
3220                                  </p>                                  </p>
# Line 2639  Intellectual Property and Copyright Stat Line 3224  Intellectual Property and Copyright Stat
3224                                      (always returned)                                      (always returned)
3225  </p>  </p>
3226  </blockquote>  </blockquote>
3227                                
3228    
3229  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3230                                  </p>                                  </p>
# Line 2649  Intellectual Property and Copyright Stat Line 3235  Intellectual Property and Copyright Stat
3235                                      (always returned)                                      (always returned)
3236  </p>  </p>
3237  </blockquote>  </blockquote>
3238                                
3239    
3240  <p>RANGE_MIN -  <p>RANGE_MIN -
3241                                  </p>                                  </p>
# Line 2661  Intellectual Property and Copyright Stat Line 3248  Intellectual Property and Copyright Stat
3248                                      parameter)                                      parameter)
3249  </p>  </p>
3250  </blockquote>  </blockquote>
3251                                
3252    
3253  <p>RANGE_MAX -  <p>RANGE_MAX -
3254                                  </p>                                  </p>
# Line 2673  Intellectual Property and Copyright Stat Line 3261  Intellectual Property and Copyright Stat
3261                                      parameter)                                      parameter)
3262  </p>  </p>
3263  </blockquote>  </blockquote>
3264                                
3265    
3266  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3267                                  </p>                                  </p>
# Line 2684  Intellectual Property and Copyright Stat Line 3273  Intellectual Property and Copyright Stat
3273                                      parameter)                                      parameter)
3274  </p>  </p>
3275  </blockquote>  </blockquote>
3276                                
3277    
3278  </blockquote>  </blockquote><p>
3279                        
3280    </p>
3281  <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.
3282  </p>  </p>
3283  <p>Example:  <p>Example:
3284  </p>  </p>
3285  <p></p>  <p>
3286                            </p>
3287  <blockquote class="text">  <blockquote class="text">
3288  <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"
3289  </p>  </p>
# Line 2707  Intellectual Property and Copyright Stat Line 3299  Intellectual Property and Copyright Stat
3299  </p>  </p>
3300  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3301  </p>  </p>
3302  </blockquote>  </blockquote><p>
3303                        
3304  <a name="rfc.section.6.3.13"></a><h4><a name="SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a>&nbsp;Changing settings of MIDI input ports</h4>  </p>
3305    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3306    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3307    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3308    Changing settings of MIDI input ports</h3>
3309    
3310  <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:
3311  </p>  </p>
3312  <p></p>  <p>
3313                            </p>
3314  <blockquote class="text">  <blockquote class="text">
3315  <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;
3316  </p>  </p>
3317  </blockquote>  </blockquote><p>
3318                        
3319    </p>
3320  <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
3321                      MIDI device as returned by the                      MIDI device as returned by the
3322                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
3323                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      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>
3324                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3325                      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
3326                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3327                        for specifying no value for parameters allowing a list of values.
3328  </p>  </p>
3329  <p>Possible Answers:  <p>Possible Answers:
3330  </p>  </p>
3331  <p></p>  <p>
3332                            </p>
3333  <blockquote class="text">  <blockquote class="text">
3334  <p>"OK" -  <p>"OK" -
3335                                  </p>                                  </p>
# Line 2737  Intellectual Property and Copyright Stat Line 3337  Intellectual Property and Copyright Stat
3337  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3338  </p>  </p>
3339  </blockquote>  </blockquote>
3340                                
3341    
3342  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3343                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3347  Intellectual Property and Copyright Stat
3347                                      warning code and warning message                                      warning code and warning message
3348  </p>  </p>
3349  </blockquote>  </blockquote>
3350                                
3351    
3352  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3353                                  </p>                                  </p>
# Line 2753  Intellectual Property and Copyright Stat Line 3355  Intellectual Property and Copyright Stat
3355  <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
3356  </p>  </p>
3357  </blockquote>  </blockquote>
3358                                
3359    
3360  </blockquote>  </blockquote><p>
3361                        
3362    </p>
3363  <p>Example:  <p>Example:
3364  </p>  </p>
3365  <p></p>  <p>
3366                            </p>
3367  <blockquote class="text">  <blockquote class="text">
3368    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3369    </p>
3370    <p>S: "OK"
3371    </p>
3372    </blockquote><p>
3373                        
3374    </p>
3375  <p>  <p>
3376                            </p>
3377    <blockquote class="text">
3378    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3379  </p>  </p>
3380  </blockquote>  <p>S: "OK"
3381    </p>
3382  <a name="rfc.section.6.4"></a><h4><a name="anchor11">6.4</a>&nbsp;Configuring sampler channels</h4>  </blockquote><p>
3383                        
3384    </p>
3385    <a name="anchor11"></a><br /><hr />
3386    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3387    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3388    Configuring sampler channels</h3>
3389    
3390  <p>The following commands describe how to add and remove sampler channels, associate a  <p>The following commands describe how to add and remove sampler channels, associate a
3391                  sampler channel with a sampler engine, load instruments and connect sampler channels to                  sampler channel with a sampler engine, load instruments and connect sampler channels to
3392                  MIDI and audio devices.                  MIDI and audio devices.
3393  </p>  </p>
3394  <a name="rfc.section.6.4.1"></a><h4><a name="LOAD INSTRUMENT">6.4.1</a>&nbsp;Loading an instrument</h4>  <a name="LOAD INSTRUMENT"></a><br /><hr />
3395    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3396    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3397    Loading an instrument</h3>
3398    
3399  <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:
3400  </p>  </p>
3401  <p></p>  <p>
3402                            </p>
3403  <blockquote class="text">  <blockquote class="text">
3404  <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;
3405  </p>  </p>
3406  </blockquote>  </blockquote><p>
3407                        
3408    </p>
3409  <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
3410                      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
3411                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
3412                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3413                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3414  </p>  </p>
3415    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3416                        escape characters for special characters (see chapter
3417                        "<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>"
3418                        for details) and accordingly backslash characters in the filename
3419                        MUST now be escaped as well!
3420    </p>
3421  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3422                      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
3423                      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
3424                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3425                      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>
3426                      command can be used to obtain loading                      command can be used to obtain loading
3427                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3428                      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 2799  Intellectual Property and Copyright Stat Line 3431  Intellectual Property and Copyright Stat
3431  </p>  </p>
3432  <p>Possible Answers:  <p>Possible Answers:
3433  </p>  </p>
3434  <p></p>  <p>
3435                            </p>
3436  <blockquote class="text">  <blockquote class="text">
3437  <p>"OK" -  <p>"OK" -
3438                                  </p>                                  </p>
# Line 2807  Intellectual Property and Copyright Stat Line 3440  Intellectual Property and Copyright Stat
3440  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3441  </p>  </p>
3442  </blockquote>  </blockquote>
3443                                
3444    
3445  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3446                                  </p>                                  </p>
# Line 2818  Intellectual Property and Copyright Stat Line 3452  Intellectual Property and Copyright Stat
3452                                      warning message                                      warning message
3453  </p>  </p>
3454  </blockquote>  </blockquote>
3455                                
3456    
3457  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3458                                  </p>                                  </p>
# Line 2825  Intellectual Property and Copyright Stat Line 3460  Intellectual Property and Copyright Stat
3460  <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
3461  </p>  </p>
3462  </blockquote>  </blockquote>
3463                                
3464    
3465  </blockquote>  </blockquote><p>
3466                        
3467  <p>Example:  </p>
3468    <p>Example (Unix):
3469  </p>  </p>
3470  <p></p>  <p>
3471                            </p>
3472  <blockquote class="text">  <blockquote class="text">
3473    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3474    </p>
3475    <p>S: OK
3476    </p>
3477    </blockquote><p>
3478                        
3479    </p>
3480    <p>Example (Windows):
3481    </p>
3482  <p>  <p>
3483                            </p>
3484    <blockquote class="text">
3485    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3486  </p>  </p>
3487  </blockquote>  <p>S: OK
3488    </p>
3489  <a name="rfc.section.6.4.2"></a><h4><a name="LOAD ENGINE">6.4.2</a>&nbsp;Loading a sampler engine</h4>  </blockquote><p>
3490                        
3491    </p>
3492    <a name="LOAD ENGINE"></a><br /><hr />
3493    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3494    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3495    Loading a sampler engine</h3>
3496    
3497  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3498                      channel by the following command:                      channel by the following command:
3499  </p>  </p>
3500  <p></p>  <p>
3501                            </p>
3502  <blockquote class="text">  <blockquote class="text">
3503  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3504  </p>  </p>
3505  </blockquote>  </blockquote><p>
3506                        
3507    </p>
3508  <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
3509                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and &lt;sampler-channel&gt;                      <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;
3510                      the sampler channel as returned by the                      the sampler channel as returned by the
3511                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> or                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> or
3512                      <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command where                      <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
3513                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3514                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3515                      commands on the new sampler channel. It can also be used to change                      commands on the new sampler channel. It can also be used to change
# Line 2863  Intellectual Property and Copyright Stat Line 3521  Intellectual Property and Copyright Stat
3521  </p>  </p>
3522  <p>Possible Answers:  <p>Possible Answers:
3523  </p>  </p>
3524  <p></p>  <p>
3525                            </p>
3526  <blockquote class="text">  <blockquote class="text">
3527  <p>"OK" -  <p>"OK" -
3528                                  </p>                                  </p>
# Line 2871  Intellectual Property and Copyright Stat Line 3530  Intellectual Property and Copyright Stat
3530  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3531  </p>  </p>
3532  </blockquote>  </blockquote>
3533                                
3534    
3535  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3536                                  </p>                                  </p>
# Line 2880  Intellectual Property and Copyright Stat Line 3540  Intellectual Property and Copyright Stat
3540                                      warning code and warning message                                      warning code and warning message
3541  </p>  </p>
3542  </blockquote>  </blockquote>
3543                                
3544    
3545  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3546                                  </p>                                  </p>
# Line 2888  Intellectual Property and Copyright Stat Line 3549  Intellectual Property and Copyright Stat
3549                                      error message                                      error message
3550  </p>  </p>
3551  </blockquote>  </blockquote>
3552                                
3553    
3554  </blockquote>  </blockquote><p>
3555                        
3556    </p>
3557  <p>Example:  <p>Example:
3558  </p>  </p>
3559  <p></p>  <p>
3560                            </p>
3561  <blockquote class="text">  <blockquote class="text">
3562  <p>  <p>
3563  </p>  </p>
3564  </blockquote>  </blockquote><p>
3565                        
3566  <a name="rfc.section.6.4.3"></a><h4><a name="GET CHANNELS">6.4.3</a>&nbsp;Getting all created sampler channel count</h4>  </p>
3567    <a name="GET CHANNELS"></a><br /><hr />
3568    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3569    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3570    Getting all created sampler channel count</h3>
3571    
3572  <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
3573                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3574                      following command:                      following command:
3575  </p>  </p>
3576  <p></p>  <p>
3577                            </p>
3578  <blockquote class="text">  <blockquote class="text">
3579  <p>GET CHANNELS  <p>GET CHANNELS
3580  </p>  </p>
3581  </blockquote>  </blockquote><p>
3582                        
3583    </p>
3584  <p>Possible Answers:  <p>Possible Answers:
3585  </p>  </p>
3586  <p></p>  <p>
3587                            </p>
3588  <blockquote class="text">  <blockquote class="text">
3589  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3590  </p>  </p>
3591  </blockquote>  </blockquote><p>
3592                        
3593    </p>
3594  <p>Example:  <p>Example:
3595  </p>  </p>
3596  <p></p>  <p>
3597                            </p>
3598  <blockquote class="text">  <blockquote class="text">
3599  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3600  </p>  </p>
3601  <p>S: "12"  <p>S: "12"
3602  </p>  </p>
3603  </blockquote>  </blockquote><p>
3604                        
3605  <a name="rfc.section.6.4.4"></a><h4><a name="LIST CHANNELS">6.4.4</a>&nbsp;Getting all created sampler channel list</h4>  </p>
3606    <a name="LIST CHANNELS"></a><br /><hr />
3607    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3608    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3609    Getting all created sampler channel list</h3>
3610    
3611  <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
3612                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3613                      following command:                      following command:
3614  </p>  </p>
3615  <p></p>  <p>
3616                            </p>
3617  <blockquote class="text">  <blockquote class="text">
3618  <p>LIST CHANNELS  <p>LIST CHANNELS
3619  </p>  </p>
3620  </blockquote>  </blockquote><p>
3621                        
3622    </p>
3623  <p>Possible Answers:  <p>Possible Answers:
3624  </p>  </p>
3625  <p></p>  <p>
3626                            </p>
3627  <blockquote class="text">  <blockquote class="text">
3628  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3629                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3630  </p>  </p>
3631  </blockquote>  </blockquote><p>
3632                        
3633    </p>
3634  <p>Example:  <p>Example:
3635  </p>  </p>
3636  <p></p>  <p>
3637                            </p>
3638  <blockquote class="text">  <blockquote class="text">
3639  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3640  </p>  </p>
3641  <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"
3642  </p>  </p>
3643  </blockquote>  </blockquote><p>
3644                        
3645  <a name="rfc.section.6.4.5"></a><h4><a name="ADD CHANNEL">6.4.5</a>&nbsp;Adding a new sampler channel</h4>  </p>
3646    <a name="ADD CHANNEL"></a><br /><hr />
3647    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3648    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3649    Adding a new sampler channel</h3>
3650    
3651  <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
3652                      channel list by sending the following command:                      channel list by sending the following command:
3653  </p>  </p>
3654  <p></p>  <p>
3655                            </p>
3656  <blockquote class="text">  <blockquote class="text">
3657  <p>ADD CHANNEL  <p>ADD CHANNEL
3658  </p>  </p>
3659  </blockquote>  </blockquote><p>
3660                        
3661    </p>
3662  <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
3663                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3664                      list. The front-end should send the respective, related commands                      list. The front-end should send the respective, related commands
# Line 2983  Intellectual Property and Copyright Stat Line 3671  Intellectual Property and Copyright Stat
3671  </p>  </p>
3672  <p>Possible Answers:  <p>Possible Answers:
3673  </p>  </p>
3674  <p></p>  <p>
3675                            </p>
3676  <blockquote class="text">  <blockquote class="text">
3677  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3678                                  </p>                                  </p>
# Line 2995  Intellectual Property and Copyright Stat Line 3684  Intellectual Property and Copyright Stat
3684                                      commands                                      commands
3685  </p>  </p>
3686  </blockquote>  </blockquote>
3687                                
3688    
3689  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3690                                  </p>                                  </p>
# Line 3004  Intellectual Property and Copyright Stat Line 3694  Intellectual Property and Copyright Stat
3694                                      warning code and warning message                                      warning code and warning message
3695  </p>  </p>
3696  </blockquote>  </blockquote>
3697                                
3698    
3699  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3700                                  </p>                                  </p>
# Line 3012  Intellectual Property and Copyright Stat Line 3703  Intellectual Property and Copyright Stat
3703                                      error message                                      error message
3704  </p>  </p>
3705  </blockquote>  </blockquote>
3706                                
3707    
3708  </blockquote>  </blockquote><p>
3709                        
3710    </p>
3711  <p>Example:  <p>Example:
3712  </p>  </p>
3713  <p></p>  <p>
3714                            </p>
3715  <blockquote class="text">  <blockquote class="text">
3716  <p>  <p>
3717  </p>  </p>
3718  </blockquote>  </blockquote><p>
3719                        
3720  <a name="rfc.section.6.4.6"></a><h4><a name="REMOVE CHANNEL">6.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3721    <a name="REMOVE CHANNEL"></a><br /><hr />
3722    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3723    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3724    Removing a sampler channel</h3>
3725    
3726  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3727  </p>  </p>
3728  <p></p>  <p>
3729                            </p>
3730  <blockquote class="text">  <blockquote class="text">
3731  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3732  </p>  </p>
3733  </blockquote>  </blockquote><p>
3734                        
3735    </p>
3736  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3737                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3738                      <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>
3739                      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>
3740                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3741                      remain the same.                      remain the same.
3742  </p>  </p>
3743  <p>Possible Answers:  <p>Possible Answers:
3744  </p>  </p>
3745  <p></p>  <p>
3746                            </p>
3747  <blockquote class="text">  <blockquote class="text">
3748  <p>"OK" -  <p>"OK" -
3749                                  </p>                                  </p>
# Line 3050  Intellectual Property and Copyright Stat Line 3751  Intellectual Property and Copyright Stat
3751  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3752  </p>  </p>
3753  </blockquote>  </blockquote>
3754                                
3755    
3756  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3757                                  </p>                                  </p>
# Line 3059  Intellectual Property and Copyright Stat Line 3761  Intellectual Property and Copyright Stat
3761                                      warning code and warning message                                      warning code and warning message
3762  </p>  </p>
3763  </blockquote>  </blockquote>
3764                                
3765    
3766  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3767                                  </p>                                  </p>
# Line 3067  Intellectual Property and Copyright Stat Line 3770  Intellectual Property and Copyright Stat
3770                                      error message                                      error message
3771  </p>  </p>
3772  </blockquote>  </blockquote>
3773                                
3774    
3775  </blockquote>  </blockquote><p>
3776                        
3777    </p>
3778  <p>Example:  <p>Example:
3779  </p>  </p>
3780  <p></p>  <p>
3781                            </p>
3782  <blockquote class="text">  <blockquote class="text">
3783  <p>  <p>
3784  </p>  </p>
3785  </blockquote>  </blockquote><p>
3786                        
3787  <a name="rfc.section.6.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">6.4.7</a>&nbsp;Getting amount of available engines</h4>  </p>
3788    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3789    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3790    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3791    Getting amount of available engines</h3>
3792    
3793  <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:
3794  </p>  </p>
3795  <p></p>  <p>
3796                            </p>
3797  <blockquote class="text">  <blockquote class="text">
3798  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3799  </p>  </p>
3800  </blockquote>  </blockquote><p>
3801                        
3802    </p>
3803  <p>Possible Answers:  <p>Possible Answers:
3804  </p>  </p>
3805  <p></p>  <p>
3806                            </p>
3807  <blockquote class="text">  <blockquote class="text">
3808  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3809  </p>  </p>
3810  </blockquote>  </blockquote><p>
3811                        
3812    </p>
3813  <p>Example:  <p>Example:
3814  </p>  </p>
3815  <p></p>  <p>
3816                            </p>
3817  <blockquote class="text">  <blockquote class="text">
3818  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3819  </p>  </p>
3820  <p>S: "4"  <p>S: "4"
3821  </p>  </p>
3822  </blockquote>  </blockquote><p>
3823                        
3824  <a name="rfc.section.6.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">6.4.8</a>&nbsp;Getting all available engines</h4>  </p>
3825    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3826    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3827    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3828    Getting all available engines</h3>
3829    
3830  <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:
3831  </p>  </p>
3832  <p></p>  <p>
3833                            </p>
3834  <blockquote class="text">  <blockquote class="text">
3835  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3836  </p>  </p>
3837  </blockquote>  </blockquote><p>
3838                        
3839    </p>
3840  <p>Possible Answers:  <p>Possible Answers:
3841  </p>  </p>
3842  <p></p>  <p>
3843                            </p>
3844  <blockquote class="text">  <blockquote class="text">
3845  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
3846                              of the engines' names encapsulated into apostrophes (').                              of the engines' names encapsulated into apostrophes (').
3847                              Engine names can consist of lower and upper cases,                              Engine names can consist of lower and upper cases,
3848                              digits and underlines ("_" character).                              digits and underlines ("_" character).
3849  </p>  </p>
3850  </blockquote>  </blockquote><p>
3851                        
3852    </p>
3853  <p>Example:  <p>Example:
3854  </p>  </p>
3855  <p></p>  <p>
3856                            </p>
3857  <blockquote class="text">  <blockquote class="text">
3858  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3859  </p>  </p>
3860  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3861  </p>  </p>
3862  </blockquote>  </blockquote><p>
3863                        
3864  <a name="rfc.section.6.4.9"></a><h4><a name="GET ENGINE INFO">6.4.9</a>&nbsp;Getting information about an engine</h4>  </p>
3865    <a name="GET ENGINE INFO"></a><br /><hr />
3866    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3867    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3868    Getting information about an engine</h3>
3869    
3870  <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
3871                      sending the following command:                      sending the following command:
3872  </p>  </p>
3873  <p></p>  <p>
3874                            </p>
3875  <blockquote class="text">  <blockquote class="text">
3876  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3877  </p>  </p>
3878  </blockquote>  </blockquote><p>
3879                        
3880    </p>
3881  <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
3882                      <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.
3883  </p>  </p>
3884  <p>Possible Answers:  <p>Possible Answers:
3885  </p>  </p>
3886  <p></p>  <p>
3887                            </p>
3888  <blockquote class="text">  <blockquote class="text">
3889  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3890                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 3161  Intellectual Property and Copyright Stat Line 3892  Intellectual Property and Copyright Stat
3892                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3893                              the following categories are defined:                              the following categories are defined:
3894  </p>  </p>
3895  <p></p>  <p>
3896                                    </p>
3897  <blockquote class="text">  <blockquote class="text">
3898  <p>DESCRIPTION -  <p>DESCRIPTION -
3899                                          </p>                                          </p>
3900  <blockquote class="text">  <blockquote class="text">
3901  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3902                                                (note that the character string may contain
3903                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3904  </p>  </p>
3905  </blockquote>  </blockquote>
3906                                        
3907    
3908  <p>VERSION -  <p>VERSION -
3909                                          </p>                                          </p>
# Line 3176  Intellectual Property and Copyright Stat Line 3911  Intellectual Property and Copyright Stat
3911  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3912  </p>  </p>
3913  </blockquote>  </blockquote>
3914                                        
3915    
3916  </blockquote>  </blockquote>
3917                                
3918    
3919  </blockquote>  </blockquote><p>
3920                        
3921    </p>
3922  <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.
3923  </p>  </p>
3924  <p>Example:  <p>Example:
3925  </p>  </p>
3926  <p></p>  <p>
3927                            </p>
3928  <blockquote class="text">  <blockquote class="text">
3929  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3930  </p>  </p>
# Line 3195  Intellectual Property and Copyright Stat Line 3934  Intellectual Property and Copyright Stat
3934  </p>  </p>
3935  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3936  </p>  </p>
3937  </blockquote>  </blockquote><p>
3938                        
3939  <a name="rfc.section.6.4.10"></a><h4><a name="GET CHANNEL INFO">6.4.10</a>&nbsp;Getting sampler channel information</h4>  </p>
3940    <a name="GET CHANNEL INFO"></a><br /><hr />
3941    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3942    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3943    Getting sampler channel information</h3>
3944    
3945  <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
3946                      by sending the following command:                      by sending the following command:
3947  </p>  </p>
3948  <p></p>  <p>
3949                            </p>
3950  <blockquote class="text">  <blockquote class="text">
3951  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
3952  </p>  </p>
3953  </blockquote>  </blockquote><p>
3954                        
3955    </p>
3956  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
3957                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
3958                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      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.
3959  </p>  </p>
3960  <p>Possible Answers:  <p>Possible Answers:
3961  </p>  </p>
3962  <p></p>  <p>
3963                            </p>
3964  <blockquote class="text">  <blockquote class="text">
3965  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3966                              Each answer line begins with the settings category name                              Each answer line begins with the settings category name
# Line 3222  Intellectual Property and Copyright Stat Line 3968  Intellectual Property and Copyright Stat
3968                              the info character string to that setting category. At the                              the info character string to that setting category. At the
3969                              moment the following categories are defined:                              moment the following categories are defined:
3970  </p>  </p>
3971  <p></p>  <p>
3972                                    </p>
3973  <blockquote class="text">  <blockquote class="text">
3974  <p>ENGINE_NAME -  <p>ENGINE_NAME -
3975                                          </p>                                          </p>
# Line 3232  Intellectual Property and Copyright Stat Line 3979  Intellectual Property and Copyright Stat
3979                                              this sampler channel                                              this sampler channel
3980  </p>  </p>
3981  </blockquote>  </blockquote>
3982                                        
3983    
3984  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
3985                                          </p>                                          </p>
# Line 3242  Intellectual Property and Copyright Stat Line 3990  Intellectual Property and Copyright Stat
3990                                              connected to this sampler channel                                              connected to this sampler channel
3991  </p>  </p>
3992  </blockquote>  </blockquote>
3993                                        
3994    
3995  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
3996                                          </p>                                          </p>
# Line 3250  Intellectual Property and Copyright Stat Line 3999  Intellectual Property and Copyright Stat
3999                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
4000  </p>  </p>
4001  </blockquote>  </blockquote>
4002                                        
4003    
4004  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
4005                                          </p>                                          </p>
# Line 3263  Intellectual Property and Copyright Stat Line 4013  Intellectual Property and Copyright Stat
4013                                              output device                                              output device
4014  </p>  </p>
4015  </blockquote>  </blockquote>
4016                                        
4017    
4018  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
4019                                          </p>                                          </p>
4020  <blockquote class="text">  <blockquote class="text">
4021  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4022                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4023                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4024                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4025  </p>  </p>
4026  </blockquote>  </blockquote>
4027                                        
4028    
4029  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4030                                          </p>                                          </p>
# Line 3279  Intellectual Property and Copyright Stat Line 4032  Intellectual Property and Copyright Stat
4032  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument
4033  </p>  </p>
4034  </blockquote>  </blockquote>
4035                                        
4036    
4037  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
4038                                          </p>                                          </p>
4039  <blockquote class="text">  <blockquote class="text">
4040  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4041                                                (note: since LSCP 1.2 this character string may contain
4042                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4043  </p>  </p>
4044  </blockquote>  </blockquote>
4045                                        
4046    
4047  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4048                                          </p>                                          </p>
# Line 3295  Intellectual Property and Copyright Stat Line 4052  Intellectual Property and Copyright Stat
4052                                              loaded.                                              loaded.
4053  </p>  </p>
4054  </blockquote>  </blockquote>
4055                                        
4056    
4057  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
4058                                          </p>                                          </p>
# Line 3305  Intellectual Property and Copyright Stat Line 4063  Intellectual Property and Copyright Stat
4063                                              connected to this sampler channel                                              connected to this sampler channel
4064  </p>  </p>
4065  </blockquote>  </blockquote>
4066                                        
4067    
4068  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4069                                          </p>                                          </p>
# Line 3312  Intellectual Property and Copyright Stat Line 4071  Intellectual Property and Copyright Stat
4071  <p>port number of the MIDI input device  <p>port number of the MIDI input device
4072  </p>  </p>
4073  </blockquote>  </blockquote>
4074                                        
4075    
4076  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
4077                                          </p>                                          </p>
# Line 3320  Intellectual Property and Copyright Stat Line 4080  Intellectual Property and Copyright Stat
4080                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
4081  </p>  </p>
4082  </blockquote>  </blockquote>
4083                                        
4084    
4085  <p>VOLUME -  <p>VOLUME -
4086                                          </p>                                          </p>
4087  <blockquote class="text">  <blockquote class="text">
4088  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4089                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4090                                              1.0 means amplification)                                              1.0 means amplification)
4091  </p>  </p>
4092  </blockquote>  </blockquote>
4093                                        
4094    
4095    <p>MUTE -
4096                                            </p>
4097    <blockquote class="text">
4098    <p>Determines whether the channel is muted, "true" if the
4099                                                channel is muted, "false" if the channel is not muted, and
4100                                                "MUTED_BY_SOLO" if the channel is muted because of the
4101                                                presence of a solo channel and will be unmuted when
4102                                                there are no solo channels left
4103    </p>
4104    </blockquote>
4105                                        
4106    
4107    <p>SOLO -
4108                                            </p>
4109    <blockquote class="text">
4110    <p>Determines whether this is a solo channel, "true" if
4111                                                the channel is a solo channel; "false" otherwise
4112    </p>
4113  </blockquote>  </blockquote>
4114                                        
4115    
4116    <p>MIDI_INSTRUMENT_MAP -
4117                                            </p>
4118    <blockquote class="text">
4119    <p>Determines to which MIDI instrument map this sampler
4120                                                channel is assigned to. Read chapter
4121                                                <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>
4122                                                for a list of possible values.
4123    </p>
4124    </blockquote>
4125                                        
4126    
4127  </blockquote>  </blockquote>
4128                                
4129    
4130    </blockquote><p>
4131                        
4132    </p>
4133  <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.
4134  </p>  </p>
4135  <p>Example:  <p>Example:
4136  </p>  </p>
4137  <p></p>  <p>
4138                            </p>
4139  <blockquote class="text">  <blockquote class="text">
4140  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4141  </p>  </p>
# Line 3366  Intellectual Property and Copyright Stat Line 4163  Intellectual Property and Copyright Stat
4163  </p>  </p>
4164  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4165  </p>  </p>
4166    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4167    </p>
4168    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4169    </p>
4170    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4171    </p>
4172    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4173    </p>
4174  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4175  </p>  </p>
4176  </blockquote>  </blockquote><p>
4177                        
4178  <a name="rfc.section.6.4.11"></a><h4><a name="GET CHANNEL VOICE_COUNT">6.4.11</a>&nbsp;Current number of active voices</h4>  </p>
4179    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4180    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4181    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4182    Current number of active voices</h3>
4183    
4184  <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
4185                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4186  </p>  </p>
4187  <p></p>  <p>
4188                            </p>
4189  <blockquote class="text">  <blockquote class="text">
4190  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4191  </p>  </p>
4192  </blockquote>  </blockquote><p>
4193                        
4194    </p>
4195  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4196                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4197                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      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.
4198  </p>  </p>
4199  <p>Possible Answers:  <p>Possible Answers:
4200  </p>  </p>
4201  <p></p>  <p>
4202                            </p>
4203  <blockquote class="text">  <blockquote class="text">
4204  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4205                              voices on that channel.                              voices on that channel.
4206  </p>  </p>
4207  </blockquote>  </blockquote><p>
4208                        
4209    </p>
4210  <p>Example:  <p>Example:
4211  </p>  </p>
4212  <p></p>  <p>
4213                            </p>
4214  <blockquote class="text">  <blockquote class="text">
4215  <p>  <p>
4216  </p>  </p>
4217  </blockquote>  </blockquote><p>
4218                        
4219  <a name="rfc.section.6.4.12"></a><h4><a name="GET CHANNEL STREAM_COUNT">6.4.12</a>&nbsp;Current number of active disk streams</h4>  </p>
4220    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4221    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4222    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4223    Current number of active disk streams</h3>
4224    
4225  <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
4226                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4227  </p>  </p>
4228  <p></p>  <p>
4229                            </p>
4230  <blockquote class="text">  <blockquote class="text">
4231  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4232  </p>  </p>
4233  </blockquote>  </blockquote><p>
4234                        
4235    </p>
4236  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4237                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4238                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      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.
4239  </p>  </p>
4240  <p>Possible Answers:  <p>Possible Answers:
4241  </p>  </p>
4242  <p></p>  <p>
4243                            </p>
4244  <blockquote class="text">  <blockquote class="text">
4245  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4246                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4247                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4248                              return "NA" for not available.                              return "NA" for not available.
4249  </p>  </p>
4250  </blockquote>  </blockquote><p>
4251                        
4252    </p>
4253  <p>Example:  <p>Example:
4254  </p>  </p>
4255  <p></p>  <p>
4256                            </p>
4257  <blockquote class="text">  <blockquote class="text">
4258  <p>  <p>
4259  </p>  </p>
4260  </blockquote>  </blockquote><p>
4261                        
4262  <a name="rfc.section.6.4.13"></a><h4><a name="GET CHANNEL BUFFER_FILL">6.4.13</a>&nbsp;Current fill state of disk stream buffers</h4>  </p>
4263    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4264    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4265    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4266    Current fill state of disk stream buffers</h3>
4267    
4268  <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
4269                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4270  </p>  </p>
4271  <p></p>  <p>
4272                            </p>
4273  <blockquote class="text">  <blockquote class="text">
4274  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4275  </p>  </p>
4276  </blockquote>  </blockquote><p>
4277                        
4278    </p>
4279  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4280  </p>  </p>
4281  <p></p>  <p>
4282                            </p>
4283  <blockquote class="text">  <blockquote class="text">
4284  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4285  </p>  </p>
4286  </blockquote>  </blockquote><p>
4287                        
4288    </p>
4289  <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
4290                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4291                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4292                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      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.
4293  </p>  </p>
4294  <p>Possible Answers:  <p>Possible Answers:
4295  </p>  </p>
4296  <p></p>  <p>
4297                            </p>
4298  <blockquote class="text">  <blockquote class="text">
4299  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4300                              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 3475  Intellectual Property and Copyright Stat Line 4307  Intellectual Property and Copyright Stat
4307                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4308                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4309  </p>  </p>
4310  </blockquote>  </blockquote><p>
4311                        
4312    </p>
4313  <p>Examples:  <p>Examples:
4314  </p>  </p>
4315  <p></p>  <p>
4316                            </p>
4317  <blockquote class="text">  <blockquote class="text">
4318  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4319  </p>  </p>
4320  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
4321  </p>  </p>
4322  </blockquote>  </blockquote><p>
4323    
4324                            </p>
4325  <blockquote class="text">  <blockquote class="text">
4326  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4327  </p>  </p>
4328  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4329  </p>  </p>
4330  </blockquote>  </blockquote><p>
4331    
4332                            </p>
4333  <blockquote class="text">  <blockquote class="text">
4334  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4335  </p>  </p>
4336  <p>S: ""  <p>S: ""
4337  </p>  </p>
4338  </blockquote>  </blockquote><p>
4339                        
4340  <a name="rfc.section.6.4.14"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a>&nbsp;Setting audio output device</h4>  </p>
4341    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4342    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4343    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4344    Setting audio output device</h3>
4345    
4346  <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
4347                      channel by sending the following command:                      channel by sending the following command:
4348  </p>  </p>
4349  <p></p>  <p>
4350                            </p>
4351  <blockquote class="text">  <blockquote class="text">
4352  <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;
4353  </p>  </p>
4354  </blockquote>  </blockquote><p>
4355                        
4356    </p>
4357  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4358                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4359                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command and                      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
4360                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4361                      <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>
4362                      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>
4363                      command.                      command.
4364  </p>  </p>
4365  <p>Possible Answers:  <p>Possible Answers:
4366  </p>  </p>
4367  <p></p>  <p>
4368                            </p>
4369  <blockquote class="text">  <blockquote class="text">
4370  <p>"OK" -  <p>"OK" -
4371                                  </p>                                  </p>
# Line 3528  Intellectual Property and Copyright Stat Line 4373  Intellectual Property and Copyright Stat
4373  <p>on success  <p>on success
4374  </p>  </p>
4375  </blockquote>  </blockquote>
4376                                
4377    
4378  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4379                                  </p>                                  </p>
# Line 3537  Intellectual Property and Copyright Stat Line 4383  Intellectual Property and Copyright Stat
4383                                      warning message                                      warning message
4384  </p>  </p>
4385  </blockquote>  </blockquote>
4386                                
4387    
4388  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4389                                  </p>                                  </p>
# Line 3544  Intellectual Property and Copyright Stat Line 4391  Intellectual Property and Copyright Stat
4391  <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
4392  </p>  </p>
4393  </blockquote>  </blockquote>
4394                                
4395    
4396  </blockquote>  </blockquote><p>
4397                        
4398    </p>
4399  <p>Examples:  <p>Examples:
4400  </p>  </p>
4401  <p></p>  <p>
4402                            </p>
4403  <blockquote class="text">  <blockquote class="text">
4404  <p>  <p>
4405  </p>  </p>
4406  </blockquote>  </blockquote><p>
4407                        
4408  <a name="rfc.section.6.4.15"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a>&nbsp;Setting audio output type</h4>  </p>
4409    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4410    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4411    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4412    Setting audio output type</h3>
4413    
4414  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4415  </p>  </p>
4416  <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
4417                      channel by sending the following command:                      channel by sending the following command:
4418  </p>  </p>
4419  <p></p>  <p>
4420                            </p>
4421  <blockquote class="text">  <blockquote class="text">
4422  <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;
4423  </p>  </p>
4424  </blockquote>  </blockquote><p>
4425                        
4426    </p>
4427  <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
4428                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4429  </p>  </p>
4430  <p>Possible Answers:  <p>Possible Answers:
4431  </p>  </p>
4432  <p></p>  <p>
4433                            </p>
4434  <blockquote class="text">  <blockquote class="text">
4435  <p>"OK" -  <p>"OK" -
4436                                  </p>                                  </p>
# Line 3581  Intellectual Property and Copyright Stat Line 4438  Intellectual Property and Copyright Stat
4438  <p>on success  <p>on success
4439  </p>  </p>
4440  </blockquote>  </blockquote>
4441                                
4442    
4443  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4444                                  </p>                                  </p>
# Line 3590  Intellectual Property and Copyright Stat Line 4448  Intellectual Property and Copyright Stat
4448                                      warning message                                      warning message
4449  </p>  </p>
4450  </blockquote>  </blockquote>
4451                                
4452    
4453  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4454                                  </p>                                  </p>
# Line 3597  Intellectual Property and Copyright Stat Line 4456  Intellectual Property and Copyright Stat
4456  <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
4457  </p>  </p>
4458  </blockquote>  </blockquote>
4459                                
4460    
4461  </blockquote>  </blockquote><p>
4462                        
4463    </p>
4464  <p>Examples:  <p>Examples:
4465  </p>  </p>
4466  <p></p>  <p>
4467                            </p>
4468  <blockquote class="text">  <blockquote class="text">
4469  <p>  <p>
4470  </p>  </p>
4471  </blockquote>  </blockquote><p>
4472                        
4473  <a name="rfc.section.6.4.16"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a>&nbsp;Setting audio output channel</h4>  </p>
4474    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4475    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4476    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4477    Setting audio output channel</h3>
4478    
4479  <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
4480                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4481  </p>  </p>
4482  <p></p>  <p>
4483                            </p>
4484  <blockquote class="text">  <blockquote class="text">
4485  <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;
4486  </p>  </p>
4487  </blockquote>  </blockquote><p>
4488                        
4489    </p>
4490  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4491                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4492                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command, &lt;audio-out&gt; is the                      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
4493                      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
4494                      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
4495                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4496  </p>  </p>
4497  <p>Possible Answers:  <p>Possible Answers:
4498  </p>  </p>
4499  <p></p>  <p>
4500                            </p>
4501  <blockquote class="text">  <blockquote class="text">
4502  <p>"OK" -  <p>"OK" -
4503                                  </p>                                  </p>
# Line 3636  Intellectual Property and Copyright Stat Line 4505  Intellectual Property and Copyright Stat
4505  <p>on success  <p>on success
4506  </p>  </p>
4507  </blockquote>  </blockquote>
4508                                
4509    
4510  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4511                                  </p>                                  </p>
# Line 3645  Intellectual Property and Copyright Stat Line 4515  Intellectual Property and Copyright Stat
4515                                      warning message                                      warning message
4516  </p>  </p>
4517  </blockquote>  </blockquote>
4518                                
4519    
4520  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4521                                  </p>                                  </p>
# Line 3652  Intellectual Property and Copyright Stat Line 4523  Intellectual Property and Copyright Stat
4523  <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
4524  </p>  </p>
4525  </blockquote>  </blockquote>
4526                                
4527    
4528  </blockquote>  </blockquote><p>
4529                        
4530    </p>
4531  <p>Examples:  <p>Examples:
4532  </p>  </p>
4533  <p></p>  <p>
4534                            </p>
4535  <blockquote class="text">  <blockquote class="text">
4536  <p>  <p>
4537  </p>  </p>
4538  </blockquote>  </blockquote><p>
4539                        
4540  <a name="rfc.section.6.4.17"></a><h4><a name="SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a>&nbsp;Setting MIDI input device</h4>  </p>
4541    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4542    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4543    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4544    Setting MIDI input device</h3>
4545    
4546  <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
4547                      channel by sending the following command:                      channel by sending the following command:
4548  </p>  </p>
4549  <p></p>  <p>
4550                            </p>
4551  <blockquote class="text">  <blockquote class="text">
4552  <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;
4553  </p>  </p>
4554  </blockquote>  </blockquote><p>
4555                        
4556    </p>
4557  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4558                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      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>
4559                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command                      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
4560                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4561                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <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>
4562                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> command.                      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.
4563  </p>  </p>
4564  <p>Possible Answers:  <p>Possible Answers:
4565  </p>  </p>
4566  <p></p>  <p>
4567                            </p>
4568  <blockquote class="text">  <blockquote class="text">
4569  <p>"OK" -  <p>"OK" -
4570                                  </p>                                  </p>
# Line 3691  Intellectual Property and Copyright Stat Line 4572  Intellectual Property and Copyright Stat
4572  <p>on success  <p>on success
4573  </p>  </p>
4574  </blockquote>  </blockquote>
4575                                
4576    
4577  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4578                                  </p>                                  </p>
# Line 3700  Intellectual Property and Copyright Stat Line 4582  Intellectual Property and Copyright Stat
4582                                      warning message                                      warning message
4583  </p>  </p>
4584  </blockquote>  </blockquote>
4585                                
4586    
4587  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4588                                  </p>                                  </p>
# Line 3707  Intellectual Property and Copyright Stat Line 4590  Intellectual Property and Copyright Stat
4590  <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
4591  </p>  </p>
4592  </blockquote>  </blockquote>
4593                                
4594    
4595  </blockquote>  </blockquote><p>
4596                        
4597    </p>
4598  <p>Examples:  <p>Examples:
4599  </p>  </p>
4600  <p></p>  <p>
4601                            </p>
4602  <blockquote class="text">  <blockquote class="text">
4603  <p>  <p>
4604  </p>  </p>
4605  </blockquote>  </blockquote><p>
4606                        
4607  <a name="rfc.section.6.4.18"></a><h4><a name="SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a>&nbsp;Setting MIDI input type</h4>  </p>
4608    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4609    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4610    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4611    Setting MIDI input type</h3>
4612    
4613  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4614  </p>  </p>
4615  <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
4616                      channel by sending the following command:                      channel by sending the following command:
4617  </p>  </p>
4618  <p></p>  <p>
4619                            </p>
4620  <blockquote class="text">  <blockquote class="text">
4621  <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;
4622  </p>  </p>
4623  </blockquote>  </blockquote><p>
4624                        
4625    </p>
4626  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4627                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4628  </p>  </p>
4629  <p>Possible Answers:  <p>Possible Answers:
4630  </p>  </p>
4631  <p></p>  <p>
4632                            </p>
4633  <blockquote class="text">  <blockquote class="text">
4634  <p>"OK" -  <p>"OK" -
4635                                  </p>                                  </p>
# Line 3744  Intellectual Property and Copyright Stat Line 4637  Intellectual Property and Copyright Stat
4637  <p>on success  <p>on success
4638  </p>  </p>
4639  </blockquote>  </blockquote>
4640                                
4641    
4642  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4643                                  </p>                                  </p>
# Line 3753  Intellectual Property and Copyright Stat Line 4647  Intellectual Property and Copyright Stat
4647                                      warning message                                      warning message
4648  </p>  </p>
4649  </blockquote>  </blockquote>
4650                                
4651    
4652  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4653                                  </p>                                  </p>
# Line 3760  Intellectual Property and Copyright Stat Line 4655  Intellectual Property and Copyright Stat
4655  <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
4656  </p>  </p>
4657  </blockquote>  </blockquote>
4658                                
4659    
4660  </blockquote>  </blockquote><p>
4661                        
4662    </p>
4663  <p>Examples:  <p>Examples:
4664  </p>  </p>
4665  <p></p>  <p>
4666                            </p>
4667  <blockquote class="text">  <blockquote class="text">
4668  <p>  <p>
4669  </p>  </p>
4670  </blockquote>  </blockquote><p>
4671                        
4672  <a name="rfc.section.6.4.19"></a><h4><a name="SET CHANNEL MIDI_INPUT_PORT">6.4.19</a>&nbsp;Setting MIDI input port</h4>  </p>
4673    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4674    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4675    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4676    Setting MIDI input port</h3>
4677    
4678  <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
4679                      channel by sending the following command:                      channel by sending the following command:
4680  </p>  </p>
4681  <p></p>  <p>
4682                            </p>
4683  <blockquote class="text">  <blockquote class="text">
4684  <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;
4685  </p>  </p>
4686  </blockquote>  </blockquote><p>
4687                        
4688    </p>
4689  <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
4690                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4691                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4692  </p>  </p>
4693  <p>Possible Answers:  <p>Possible Answers:
4694  </p>  </p>
4695  <p></p>  <p>
4696                            </p>
4697  <blockquote class="text">  <blockquote class="text">
4698  <p>"OK" -  <p>"OK" -
4699                                  </p>                                  </p>
# Line 3796  Intellectual Property and Copyright Stat Line 4701  Intellectual Property and Copyright Stat
4701  <p>on success  <p>on success
4702  </p>  </p>
4703  </blockquote>  </blockquote>
4704                                
4705    
4706  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4707                                  </p>                                  </p>
# Line 3805  Intellectual Property and Copyright Stat Line 4711  Intellectual Property and Copyright Stat
4711                                      warning message                                      warning message
4712  </p>  </p>
4713  </blockquote>  </blockquote>
4714                                
4715    
4716  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4717                                  </p>                                  </p>
# Line 3812  Intellectual Property and Copyright Stat Line 4719  Intellectual Property and Copyright Stat
4719  <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
4720  </p>  </p>
4721  </blockquote>  </blockquote>
4722                                
4723    
4724  </blockquote>  </blockquote><p>
4725                        
4726    </p>
4727  <p>Examples:  <p>Examples:
4728  </p>  </p>
4729  <p></p>  <p>
4730                            </p>
4731  <blockquote class="text">  <blockquote class="text">
4732  <p>  <p>
4733  </p>  </p>
4734  </blockquote>  </blockquote><p>
4735                        
4736  <a name="rfc.section.6.4.20"></a><h4><a name="SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a>&nbsp;Setting MIDI input channel</h4>  </p>
4737    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4738    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4739    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4740    Setting MIDI input channel</h3>
4741    
4742  <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
4743                      listen to by sending the following command:                      listen to by sending the following command:
4744  </p>  </p>
4745  <p></p>  <p>
4746                            </p>
4747  <blockquote class="text">  <blockquote class="text">
4748  <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;
4749  </p>  </p>
4750  </blockquote>  </blockquote><p>
4751                        
4752    </p>
4753  <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
4754                      &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
4755                      channels.                      channels.
4756  </p>  </p>
4757  <p>Possible Answers:  <p>Possible Answers:
4758  </p>  </p>
4759  <p></p>  <p>
4760                            </p>
4761  <blockquote class="text">  <blockquote class="text">
4762  <p>"OK" -  <p>"OK" -
4763                                  </p>                                  </p>
# Line 3848  Intellectual Property and Copyright Stat Line 4765  Intellectual Property and Copyright Stat
4765  <p>on success  <p>on success
4766  </p>  </p>
4767  </blockquote>  </blockquote>
4768                                
4769    
4770  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4771                                  </p>                                  </p>
# Line 3857  Intellectual Property and Copyright Stat Line 4775  Intellectual Property and Copyright Stat
4775                                      warning message                                      warning message
4776  </p>  </p>
4777  </blockquote>  </blockquote>
4778                                
4779    
4780  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4781                                  </p>                                  </p>
# Line 3864  Intellectual Property and Copyright Stat Line 4783  Intellectual Property and Copyright Stat
4783  <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
4784  </p>  </p>
4785  </blockquote>  </blockquote>
4786                                
4787    
4788  </blockquote>  </blockquote><p>
4789                        
4790    </p>
4791  <p>Examples:  <p>Examples:
4792  </p>  </p>
4793  <p></p>  <p>
4794                            </p>
4795  <blockquote class="text">  <blockquote class="text">
4796  <p>  <p>
4797  </p>  </p>
4798  </blockquote>  </blockquote><p>
4799                        
4800  <a name="rfc.section.6.4.21"></a><h4><a name="SET CHANNEL VOLUME">6.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4801    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4802    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4803    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4804    Setting channel volume</h3>
4805    
4806  <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
4807                      the following command:                      the following command:
4808  </p>  </p>
4809  <p></p>  <p>
4810                            </p>
4811  <blockquote class="text">  <blockquote class="text">
4812  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4813  </p>  </p>
4814  </blockquote>  </blockquote><p>
4815                        
4816    </p>
4817  <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
4818                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4819                      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 3893  Intellectual Property and Copyright Stat Line 4821  Intellectual Property and Copyright Stat
4821  </p>  </p>
4822  <p>Possible Answers:  <p>Possible Answers:
4823  </p>  </p>
4824  <p></p>  <p>
4825                            </p>
4826  <blockquote class="text">  <blockquote class="text">
4827  <p>"OK" -  <p>"OK" -
4828                                  </p>                                  </p>
# Line 3901  Intellectual Property and Copyright Stat Line 4830  Intellectual Property and Copyright Stat
4830  <p>on success  <p>on success
4831  </p>  </p>
4832  </blockquote>  </blockquote>
4833                                
4834    
4835  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4836                                  </p>                                  </p>
# Line 3910  Intellectual Property and Copyright Stat Line 4840  Intellectual Property and Copyright Stat
4840                                      warning message                                      warning message
4841  </p>  </p>
4842  </blockquote>  </blockquote>
4843                                
4844    
4845    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4846                                    </p>
4847    <blockquote class="text">
4848    <p>in case it failed, providing an appropriate error code and error message
4849    </p>
4850    </blockquote>
4851                                
4852    
4853    </blockquote><p>
4854                        
4855    </p>
4856    <p>Examples:
4857    </p>
4858    <p>
4859                            </p>
4860    <blockquote class="text">
4861    <p>
4862    </p>
4863    </blockquote><p>
4864                        
4865    </p>
4866    <a name="SET CHANNEL MUTE"></a><br /><hr />
4867    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4868    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4869    Muting a sampler channel</h3>
4870    
4871    <p>The front-end can mute/unmute a specific sampler
4872                        channel by sending the following command:
4873    </p>
4874    <p>
4875                            </p>
4876    <blockquote class="text">
4877    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4878    </p>
4879    </blockquote><p>
4880                        
4881    </p>
4882    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4883                        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>
4884                        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
4885                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4886                        to unmute the channel.
4887    </p>
4888    <p>Possible Answers:
4889    </p>
4890    <p>
4891                            </p>
4892    <blockquote class="text">
4893    <p>"OK" -
4894                                    </p>
4895    <blockquote class="text">
4896    <p>on success
4897    </p>
4898    </blockquote>
4899                                
4900    
4901    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4902                                    </p>
4903    <blockquote class="text">
4904    <p>if the channel was muted/unmuted, but there are noteworthy
4905                                        issue(s) related, providing an appropriate warning code and
4906                                        warning message
4907    </p>
4908    </blockquote>
4909                                
4910    
4911  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4912                                  </p>                                  </p>
# Line 3917  Intellectual Property and Copyright Stat Line 4914  Intellectual Property and Copyright Stat
4914  <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
4915  </p>  </p>
4916  </blockquote>  </blockquote>
4917                                
4918    
4919    </blockquote><p>
4920                        
4921    </p>
4922    <p>Examples:
4923    </p>
4924    <p>
4925                            </p>
4926    <blockquote class="text">
4927    <p>
4928    </p>
4929    </blockquote><p>
4930                        
4931    </p>
4932    <a name="SET CHANNEL SOLO"></a><br /><hr />
4933    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4934    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4935    Soloing a sampler channel</h3>
4936    
4937    <p>The front-end can solo/unsolo a specific sampler channel
4938                        by sending the following command:
4939    </p>
4940    <p>
4941                            </p>
4942    <blockquote class="text">
4943    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4944    </p>
4945    </blockquote><p>
4946                        
4947    </p>
4948    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4949                        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>
4950                        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
4951                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4952                        to unsolo the channel.
4953    </p>
4954    <p>Possible Answers:
4955    </p>
4956    <p>
4957                            </p>
4958    <blockquote class="text">
4959    <p>"OK" -
4960                                    </p>
4961    <blockquote class="text">
4962    <p>on success
4963    </p>
4964    </blockquote>
4965                                
4966    
4967    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4968                                    </p>
4969    <blockquote class="text">
4970    <p>if the channel was soloed/unsoloed, but there are noteworthy
4971                                        issue(s) related, providing an appropriate warning code and
4972                                        warning message
4973    </p>
4974  </blockquote>  </blockquote>
4975                                
4976    
4977    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4978                                    </p>
4979    <blockquote class="text">
4980    <p>in case it failed, providing an appropriate error code and error message
4981    </p>
4982    </blockquote>
4983                                
4984    
4985    </blockquote><p>
4986                        
4987    </p>
4988  <p>Examples:  <p>Examples:
4989  </p>  </p>
4990  <p></p>  <p>
4991                            </p>
4992    <blockquote class="text">
4993    <p>
4994    </p>
4995    </blockquote><p>
4996                        
4997    </p>
4998    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4999    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5000    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
5001    Assigning a MIDI instrument map to a sampler channel</h3>
5002    
5003    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5004                        by sending the following command:
5005    </p>
5006    <p>
5007                            </p>
5008  <blockquote class="text">  <blockquote class="text">
5009    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5010    </p>
5011    </blockquote><p>
5012                        
5013    </p>
5014    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5015                        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>
5016                        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
5017                        &lt;map&gt; can have the following possibilites:
5018    </p>
5019  <p>  <p>
5020                            </p>
5021    <blockquote class="text">
5022    <p>"NONE" -
5023                                    </p>
5024    <blockquote class="text">
5025    <p>This is the default setting. In this case
5026                                        the sampler channel is not assigned any MIDI
5027                                        instrument map and thus will ignore all MIDI
5028                                        program change messages.
5029    </p>
5030    </blockquote>
5031                                
5032    
5033    <p>"DEFAULT" -
5034                                    </p>
5035    <blockquote class="text">
5036    <p>The sampler channel will always use the
5037                                        default MIDI instrument map to handle MIDI
5038                                        program change messages.
5039  </p>  </p>
5040  </blockquote>  </blockquote>
5041                                
5042    
5043  <a name="rfc.section.6.4.22"></a><h4><a name="RESET CHANNEL">6.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>numeric ID -
5044                                    </p>
5045    <blockquote class="text">
5046    <p>You can assign a specific MIDI instrument map
5047                                        by replacing &lt;map&gt; with the respective numeric
5048                                        ID of the MIDI instrument map as returned by the
5049                                        <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>
5050                                        command. Once that map will be deleted, the sampler
5051                                        channel would fall back to "NONE".
5052    </p>
5053    </blockquote>
5054                                
5055    
5056  <p>The front-end can reset a particular sampler channel by sending the following command:  </blockquote><p>
5057                        
5058    </p>
5059    <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>
5060                        for details regarding MIDI instrument mapping.
5061  </p>  </p>
5062  <p></p>  <p>Possible Answers:
5063    </p>
5064    <p>
5065                            </p>
5066  <blockquote class="text">  <blockquote class="text">
5067  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>"OK" -
5068                                    </p>
5069    <blockquote class="text">
5070    <p>on success
5071  </p>  </p>
5072  </blockquote>  </blockquote>
5073                                
5074    
5075    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5076                                    </p>
5077    <blockquote class="text">
5078    <p>in case it failed, providing an appropriate error code and error message
5079    </p>
5080    </blockquote>
5081                                
5082    
5083    </blockquote><p>
5084                        
5085    </p>
5086    <p>Examples:
5087    </p>
5088    <p>
5089                            </p>
5090    <blockquote class="text">
5091    <p>
5092    </p>
5093    </blockquote><p>
5094                        
5095    </p>
5096    <a name="CREATE FX_SEND"></a><br /><hr />
5097    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5098    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5099    Adding an effect send to a sampler channel</h3>
5100    
5101    <p>The front-end can create an additional effect send on a specific sampler channel
5102                        by sending the following command:
5103    </p>
5104    <p>
5105                            </p>
5106    <blockquote class="text">
5107    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5108    </p>
5109    </blockquote><p>
5110                        
5111    </p>
5112    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5113                        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>
5114                        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
5115                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5116                        is a number between 0..127 defining the MIDI controller which can alter the
5117                        effect send level and &lt;name&gt; is an optional argument defining a name
5118                        for the effect send entity. The name does not have to be unique, but MUST be
5119                        encapsulated into apostrophes and supports escape sequences as described in chapter
5120                        "<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>".
5121    </p>
5122    <p>By default, that is as initial routing, the effect send's audio channels
5123                        are automatically routed to the last audio channels of the sampler channel's
5124                        audio output device, that way you can i.e. first increase the amount of audio
5125                        channels on the audio output device for having dedicated effect send output
5126                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5127                        be picked. You can alter the destination channels however with
5128                        <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>.
5129                        
5130    </p>
5131    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5132                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5133                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5134                        the voices and route the audio signal afterwards to the master outputs and effect send
5135                        outputs (along with their respective effect send levels). A sampler channel without effect
5136                        sends however can mix its voices directly into the audio output devices's audio buffers
5137                        and is thus faster.
5138                        
5139    </p>
5140    <p>Possible Answers:
5141    </p>
5142    <p>
5143                            </p>
5144    <blockquote class="text">
5145    <p>"OK[&lt;fx-send-id&gt;]" -
5146                                    </p>
5147    <blockquote class="text">
5148    <p>in case a new effect send could be added to the
5149                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5150                                        unique ID of the newly created effect send entity
5151    </p>
5152    </blockquote>
5153                                
5154    
5155    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5156                                    </p>
5157    <blockquote class="text">
5158    <p>when a new effect send could not be added, i.e.
5159                                        due to invalid parameters
5160    </p>
5161    </blockquote>
5162                                
5163    
5164    </blockquote><p>
5165                        
5166    </p>
5167    <p>Examples:
5168    </p>
5169    <p>
5170                            </p>
5171    <blockquote class="text">
5172    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5173    </p>
5174    <p>S: "OK[0]"
5175    </p>
5176    </blockquote><p>
5177                        
5178    </p>
5179    <p>
5180                            </p>
5181    <blockquote class="text">
5182    <p>C: "CREATE FX_SEND 0 93"
5183    </p>
5184    <p>S: "OK[1]"
5185    </p>
5186    </blockquote><p>
5187                        
5188    </p>
5189    <a name="DESTROY FX_SEND"></a><br /><hr />
5190    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5191    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5192    Removing an effect send from a sampler channel</h3>
5193    
5194    <p>The front-end can remove an existing effect send on a specific sampler channel
5195                        by sending the following command:
5196    </p>
5197    <p>
5198                            </p>
5199    <blockquote class="text">
5200    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5201    </p>
5202    </blockquote><p>
5203                        
5204    </p>
5205    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5206                        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>
5207                        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
5208                        sampler channel from which the effect send should be removed from and
5209                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5210                        <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>
5211                        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.
5212    </p>
5213    <p>Possible Answers:
5214    </p>
5215    <p>
5216                            </p>
5217    <blockquote class="text">
5218    <p>"OK" -
5219                                    </p>
5220    <blockquote class="text">
5221    <p>on success
5222    </p>
5223    </blockquote>
5224                                
5225    
5226    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5227                                    </p>
5228    <blockquote class="text">
5229    <p>in case it failed, providing an appropriate error code and
5230                                        error message
5231    </p>
5232    </blockquote>
5233                                
5234    
5235    </blockquote><p>
5236                        
5237    </p>
5238    <p>Example:
5239    </p>
5240    <p>
5241                            </p>
5242    <blockquote class="text">
5243    <p>C: "DESTROY FX_SEND 0 0"
5244    </p>
5245    <p>S: "OK"
5246    </p>
5247    </blockquote><p>
5248                        
5249    </p>
5250    <a name="GET FX_SENDS"></a><br /><hr />
5251    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5252    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5253    Getting amount of effect sends on a sampler channel</h3>
5254    
5255    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5256                        by sending the following command:
5257    </p>
5258    <p>
5259                            </p>
5260    <blockquote class="text">
5261    <p>GET FX_SENDS &lt;sampler-channel&gt;
5262    </p>
5263    </blockquote><p>
5264                        
5265    </p>
5266    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5267                        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>
5268                        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.
5269    </p>
5270    <p>Possible Answers:
5271    </p>
5272    <p>
5273                            </p>
5274    <blockquote class="text">
5275    <p>The sampler will answer by returning the number of effect
5276                                sends on the given sampler channel.
5277    </p>
5278    </blockquote><p>
5279                        
5280    </p>
5281    <p>Example:
5282    </p>
5283    <p>
5284                            </p>
5285    <blockquote class="text">
5286    <p>C: "GET FX_SENDS 0"
5287    </p>
5288    <p>S: "2"
5289    </p>
5290    </blockquote><p>
5291                        
5292    </p>
5293    <a name="LIST FX_SENDS"></a><br /><hr />
5294    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5295    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5296    Listing all effect sends on a sampler channel</h3>
5297    
5298    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5299                        by sending the following command:
5300    </p>
5301    <p>
5302                            </p>
5303    <blockquote class="text">
5304    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5305    </p>
5306    </blockquote><p>
5307                        
5308    </p>
5309    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5310                        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>
5311                        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.
5312    </p>
5313    <p>Possible Answers:
5314    </p>
5315    <p>
5316                            </p>
5317    <blockquote class="text">
5318    <p>The sampler will answer by returning a comma separated list
5319                                with all effect sends' numerical IDs on the given sampler
5320                                channel.
5321    </p>
5322    </blockquote><p>
5323                        
5324    </p>
5325    <p>Examples:
5326    </p>
5327    <p>
5328                            </p>
5329    <blockquote class="text">
5330    <p>C: "LIST FX_SENDS 0"
5331    </p>
5332    <p>S: "0,1"
5333    </p>
5334    </blockquote><p>
5335                        
5336    </p>
5337    <p>
5338                            </p>
5339    <blockquote class="text">
5340    <p>C: "LIST FX_SENDS 1"
5341    </p>
5342    <p>S: ""
5343    </p>
5344    </blockquote><p>
5345                        
5346    </p>
5347    <a name="GET FX_SEND INFO"></a><br /><hr />
5348    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5349    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5350    Getting effect send information</h3>
5351    
5352    <p>The front-end can ask for the current settings of an effect send entity
5353                        by sending the following command:
5354    </p>
5355    <p>
5356                            </p>
5357    <blockquote class="text">
5358    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5359    </p>
5360    </blockquote><p>
5361                        
5362    </p>
5363    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5364                        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>
5365                        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
5366                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5367                        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>
5368                        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.
5369                      
5370    </p>
5371    <p>Possible Answers:
5372    </p>
5373    <p>
5374                            </p>
5375    <blockquote class="text">
5376    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5377                                Each answer line begins with the settings category name
5378                                followed by a colon and then a space character &lt;SP&gt; and finally
5379                                the info character string to that setting category. At the
5380                                moment the following categories are defined:
5381    </p>
5382    <p>
5383                                    </p>
5384    <blockquote class="text">
5385    <p>NAME -
5386                                            </p>
5387    <blockquote class="text">
5388    <p>name of the effect send entity
5389                                                (note that this character string may contain
5390                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5391    </p>
5392    </blockquote>
5393                                        
5394    
5395    <p>MIDI_CONTROLLER -
5396                                            </p>
5397    <blockquote class="text">
5398    <p>a value between 0 and 127 reflecting the MIDI controller
5399                                                which is able to modify the effect send's send level
5400    </p>
5401    </blockquote>
5402                                        
5403    
5404    <p>LEVEL -
5405                                            </p>
5406    <blockquote class="text">
5407    <p>optionally dotted number reflecting the effect send's
5408                                                current send level (where a value &lt; 1.0 means attenuation
5409                                                and a value > 1.0 means amplification)
5410    </p>
5411    </blockquote>
5412                                        
5413    
5414    <p>AUDIO_OUTPUT_ROUTING -
5415                                            </p>
5416    <blockquote class="text">
5417    <p>comma separated list which reflects to which audio
5418                                                channel of the selected audio output device each
5419                                                effect send output channel is routed to, e.g. "0,3" would
5420                                                mean the effect send's output channel 0 is routed to channel
5421                                                0 of the audio output device and the effect send's output
5422                                                channel 1 is routed to the channel 3 of the audio
5423                                                output device (see
5424                                                <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>
5425                                                for details)
5426    </p>
5427    </blockquote>
5428                                        
5429    
5430    </blockquote>
5431                                
5432    
5433    </blockquote><p>
5434                        
5435    </p>
5436    <p>The mentioned fields above don't have to be in particular order.
5437    </p>
5438    <p>Example:
5439    </p>
5440    <p>
5441                            </p>
5442    <blockquote class="text">
5443    <p>C: "GET FX_SEND INFO 0 0"
5444    </p>
5445    <p>S: "NAME: Reverb Send"
5446    </p>
5447    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5448    </p>
5449    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5450    </p>
5451    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5452    </p>
5453    <p>&nbsp;&nbsp;&nbsp;"."
5454    </p>
5455    </blockquote><p>
5456                        
5457    </p>
5458    <a name="SET FX_SEND NAME"></a><br /><hr />
5459    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5460    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5461    Changing effect send's name</h3>
5462    
5463    <p>The front-end can alter the current name of an effect
5464                        send entity by sending the following command:
5465    </p>
5466    <p>
5467                            </p>
5468    <blockquote class="text">
5469    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5470    </p>
5471    </blockquote><p>
5472                        
5473    </p>
5474    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5475                        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>
5476                        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,
5477                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5478                        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>
5479                        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
5480                        &lt;name&gt; is the new name of the effect send entity, which
5481                        does not have to be unique (name MUST be encapsulated into apostrophes
5482                        and supports escape sequences as described in chapter
5483                        "<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>").
5484                        
5485    </p>
5486    <p>Possible Answers:
5487    </p>
5488    <p>
5489                            </p>
5490    <blockquote class="text">
5491    <p>"OK" -
5492                                    </p>
5493    <blockquote class="text">
5494    <p>on success
5495    </p>
5496    </blockquote>
5497                                
5498    
5499    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5500                                    </p>
5501    <blockquote class="text">
5502    <p>in case it failed, providing an appropriate error code and error message
5503    </p>
5504    </blockquote>
5505                                
5506    
5507    </blockquote><p>
5508                        
5509    </p>
5510    <p>Example:
5511    </p>
5512    <p>
5513                            </p>
5514    <blockquote class="text">
5515    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5516    </p>
5517    <p>S: "OK"
5518    </p>
5519    </blockquote><p>
5520                        
5521    </p>
5522    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5523    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5524    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5525    Altering effect send's audio routing</h3>
5526    
5527    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5528                        sampler channel by sending the following command:
5529    </p>
5530    <p>
5531                            </p>
5532    <blockquote class="text">
5533    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5534    </p>
5535    </blockquote><p>
5536                        
5537    </p>
5538    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5539                        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>
5540                        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,
5541                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5542                        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>
5543                        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,
5544                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5545                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5546                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5547                        should be routed to.
5548    </p>
5549    <p>Note that effect sends can only route audio to the same audio output
5550                        device as assigned to the effect send's sampler channel. Also note that an
5551                        effect send entity does always have exactly as much audio channels as its
5552                        sampler channel. So if the sampler channel is stereo, the effect send does
5553                        have two audio channels as well. Also keep in mind that the amount of audio
5554                        channels on a sampler channel might be dependant not only to the deployed
5555                        sampler engine on the sampler channel, but also dependant to the instrument
5556                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5557                        send into a mono one by simply altering its audio routing appropriately.
5558    </p>
5559    <p>Possible Answers:
5560    </p>
5561    <p>
5562                            </p>
5563    <blockquote class="text">
5564    <p>"OK" -
5565                                    </p>
5566    <blockquote class="text">
5567    <p>on success
5568    </p>
5569    </blockquote>
5570                                
5571    
5572    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5573                                    </p>
5574    <blockquote class="text">
5575    <p>if audio output channel was set, but there are noteworthy
5576                                        issue(s) related, providing an appropriate warning code and
5577                                        warning message
5578    </p>
5579    </blockquote>
5580                                
5581    
5582    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5583                                    </p>
5584    <blockquote class="text">
5585    <p>in case it failed, providing an appropriate error code and error message
5586    </p>
5587    </blockquote>
5588                                
5589    
5590    </blockquote><p>
5591                        
5592    </p>
5593    <p>Example:
5594    </p>
5595    <p>
5596                            </p>
5597    <blockquote class="text">
5598    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5599    </p>
5600    <p>S: "OK"
5601    </p>
5602    </blockquote><p>
5603                        
5604    </p>
5605    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5606    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5607    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5608    Altering effect send's MIDI controller</h3>
5609    
5610    <p>The front-end can alter the MIDI controller of an effect
5611                        send entity by sending the following command:
5612    </p>
5613    <p>
5614                            </p>
5615    <blockquote class="text">
5616    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5617    </p>
5618    </blockquote><p>
5619                        
5620    </p>
5621    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5622                        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>
5623                        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,
5624                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5625                        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>
5626                        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
5627                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5628                        able to modify the effect send's send level.
5629    </p>
5630    <p>Possible Answers:
5631    </p>
5632    <p>
5633                            </p>
5634    <blockquote class="text">
5635    <p>"OK" -
5636                                    </p>
5637    <blockquote class="text">
5638    <p>on success
5639    </p>
5640    </blockquote>
5641                                
5642    
5643    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5644                                    </p>
5645    <blockquote class="text">
5646    <p>if MIDI controller was set, but there are noteworthy
5647                                        issue(s) related, providing an appropriate warning code and
5648                                        warning message
5649    </p>
5650    </blockquote>
5651                                
5652    
5653    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5654                                    </p>
5655    <blockquote class="text">
5656    <p>in case it failed, providing an appropriate error code and error message
5657    </p>
5658    </blockquote>
5659                                
5660    
5661    </blockquote><p>
5662                        
5663    </p>
5664    <p>Example:
5665    </p>
5666    <p>
5667                            </p>
5668    <blockquote class="text">
5669    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5670    </p>
5671    <p>S: "OK"
5672    </p>
5673    </blockquote><p>
5674                        
5675    </p>
5676    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5677    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5678    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5679    Altering effect send's send level</h3>
5680    
5681    <p>The front-end can alter the current send level of an effect
5682                        send entity by sending the following command:
5683    </p>
5684    <p>
5685                            </p>
5686    <blockquote class="text">
5687    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5688    </p>
5689    </blockquote><p>
5690                        
5691    </p>
5692    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5693                        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>
5694                        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,
5695                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5696                        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>
5697                        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
5698                        &lt;volume&gt; is an optionally dotted positive number (a value
5699                        smaller than 1.0 means attenuation, whereas a value greater than
5700                        1.0 means amplification) reflecting the new send level.
5701    </p>
5702    <p>Possible Answers:
5703    </p>
5704    <p>
5705                            </p>
5706    <blockquote class="text">
5707    <p>"OK" -
5708                                    </p>
5709    <blockquote class="text">
5710    <p>on success
5711    </p>
5712    </blockquote>
5713                                
5714    
5715    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5716                                    </p>
5717    <blockquote class="text">
5718    <p>if new send level was set, but there are noteworthy
5719                                        issue(s) related, providing an appropriate warning code and
5720                                        warning message
5721    </p>
5722    </blockquote>
5723                                
5724    
5725    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5726                                    </p>
5727    <blockquote class="text">
5728    <p>in case it failed, providing an appropriate error code and error message
5729    </p>
5730    </blockquote>
5731                                
5732    
5733    </blockquote><p>
5734                        
5735    </p>
5736    <p>Example:
5737    </p>
5738    <p>
5739                            </p>
5740    <blockquote class="text">
5741    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5742    </p>
5743    <p>S: "OK"
5744    </p>
5745    </blockquote><p>
5746                        
5747    </p>
5748    <a name="RESET CHANNEL"></a><br /><hr />
5749    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5750    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5751    Resetting a sampler channel</h3>
5752    
5753    <p>The front-end can reset a particular sampler channel by sending the following command:
5754    </p>
5755    <p>
5756                            </p>
5757    <blockquote class="text">
5758    <p>RESET CHANNEL &lt;sampler-channel&gt;
5759    </p>
5760    </blockquote><p>
5761                        
5762    </p>
5763  <p>  <p>
5764                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
5765                      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 3946  Intellectual Property and Copyright Stat Line 5768  Intellectual Property and Copyright Stat
5768  </p>  </p>
5769  <p>Possible Answers:  <p>Possible Answers:
5770  </p>  </p>
5771  <p></p>  <p>
5772                            </p>
5773  <blockquote class="text">  <blockquote class="text">
5774  <p>"OK" -  <p>"OK" -
5775                                  </p>                                  </p>
# Line 3954  Intellectual Property and Copyright Stat Line 5777  Intellectual Property and Copyright Stat
5777  <p>on success  <p>on success
5778  </p>  </p>
5779  </blockquote>  </blockquote>
5780                                
5781    
5782  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5783                                  </p>                                  </p>
# Line 3963  Intellectual Property and Copyright Stat Line 5787  Intellectual Property and Copyright Stat
5787                                      message                                      message
5788  </p>  </p>
5789  </blockquote>  </blockquote>
5790                                
5791    
5792  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5793                                  </p>                                  </p>
# Line 3971  Intellectual Property and Copyright Stat Line 5796  Intellectual Property and Copyright Stat
5796                                      error message                                      error message
5797  </p>  </p>
5798  </blockquote>  </blockquote>
5799                                
5800    
5801  </blockquote>  </blockquote><p>
5802                        
5803    </p>
5804  <p>Examples:  <p>Examples:
5805  </p>  </p>
5806  <p></p>  <p>
5807                            </p>
5808  <blockquote class="text">  <blockquote class="text">
5809  <p>  <p>
5810  </p>  </p>
5811  </blockquote>  </blockquote><p>
5812                        
5813  <a name="rfc.section.6.5"></a><h4><a name="anchor12">6.5</a>&nbsp;Controlling connection</h4>  </p>
5814    <a name="anchor12"></a><br /><hr />
5815    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5816    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5817    Controlling connection</h3>
5818    
5819  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5820  </p>  </p>
5821  <a name="rfc.section.6.5.1"></a><h4><a name="SUBSCRIBE">6.5.1</a>&nbsp;Register front-end for receiving event messages</h4>  <a name="SUBSCRIBE"></a><br /><hr />
5822    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5823    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5824    Register front-end for receiving event messages</h3>
5825    
5826  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5827                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
5828  </p>  </p>
5829  <p></p>  <p>
5830                            </p>
5831  <blockquote class="text">  <blockquote class="text">
5832  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
5833  </p>  </p>
5834  </blockquote>  </blockquote><p>
5835                        
5836    </p>
5837  <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
5838                      client wants to subscribe to.                      client wants to subscribe to.
5839  </p>  </p>
5840  <p>Possible Answers:  <p>Possible Answers:
5841  </p>  </p>
5842  <p></p>  <p>
5843                            </p>
5844  <blockquote class="text">  <blockquote class="text">
5845  <p>"OK" -  <p>"OK" -
5846                                  </p>                                  </p>
# Line 4010  Intellectual Property and Copyright Stat Line 5848  Intellectual Property and Copyright Stat
5848  <p>on success  <p>on success
5849  </p>  </p>
5850  </blockquote>  </blockquote>
5851                                
5852    
5853  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5854                                  </p>                                  </p>
# Line 4019  Intellectual Property and Copyright Stat Line 5858  Intellectual Property and Copyright Stat
5858                                      warning message                                      warning message
5859  </p>  </p>
5860  </blockquote>  </blockquote>
5861                                
5862    
5863  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5864                                  </p>                                  </p>
# Line 4027  Intellectual Property and Copyright Stat Line 5867  Intellectual Property and Copyright Stat
5867                                      error message                                      error message
5868  </p>  </p>
5869  </blockquote>  </blockquote>
5870                                
5871    
5872  </blockquote>  </blockquote><p>
5873                        
5874    </p>
5875  <p>Examples:  <p>Examples:
5876  </p>  </p>
5877  <p></p>  <p>
5878                            </p>
5879  <blockquote class="text">  <blockquote class="text">
5880  <p>  <p>
5881  </p>  </p>
5882  </blockquote>  </blockquote><p>
5883                        
5884  <a name="rfc.section.6.5.2"></a><h4><a name="UNSUBSCRIBE">6.5.2</a>&nbsp;Unregister front-end for not receiving event messages</h4>  </p>
5885    <a name="UNSUBSCRIBE"></a><br /><hr />
5886    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5887    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5888    Unregister front-end for not receiving event messages</h3>
5889    
5890  <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
5891                      messages anymore by sending the following command:                      messages anymore by sending the following command:
5892  </p>  </p>
5893  <p></p>  <p>
5894                            </p>
5895  <blockquote class="text">  <blockquote class="text">
5896  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
5897  </p>  </p>
5898  </blockquote>  </blockquote><p>
5899                        
5900    </p>
5901  <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
5902                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
5903  </p>  </p>
5904  <p>Possible Answers:  <p>Possible Answers:
5905  </p>  </p>
5906  <p></p>  <p>
5907                            </p>
5908  <blockquote class="text">  <blockquote class="text">
5909  <p>"OK" -  <p>"OK" -
5910                                  </p>                                  </p>
# Line 4062  Intellectual Property and Copyright Stat Line 5912  Intellectual Property and Copyright Stat
5912  <p>on success  <p>on success
5913  </p>  </p>
5914  </blockquote>  </blockquote>
5915                                
5916    
5917  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5918                                  </p>                                  </p>
# Line 4071  Intellectual Property and Copyright Stat Line 5922  Intellectual Property and Copyright Stat
5922                                      warning message                                      warning message
5923  </p>  </p>
5924  </blockquote>  </blockquote>
5925                                
5926    
5927  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5928                                  </p>                                  </p>
# Line 4079  Intellectual Property and Copyright Stat Line 5931  Intellectual Property and Copyright Stat
5931                                      error message                                      error message
5932  </p>  </p>
5933  </blockquote>  </blockquote>
5934                                
5935    
5936  </blockquote>  </blockquote><p>
5937                        
5938    </p>
5939  <p>Examples:  <p>Examples:
5940  </p>  </p>
5941  <p></p>  <p>
5942                            </p>
5943  <blockquote class="text">  <blockquote class="text">
5944  <p>  <p>
5945  </p>  </p>
5946  </blockquote>  </blockquote><p>
5947                        
5948  <a name="rfc.section.6.5.3"></a><h4><a name="SET ECHO">6.5.3</a>&nbsp;Enable or disable echo of commands</h4>  </p>
5949    <a name="SET ECHO"></a><br /><hr />
5950    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5951    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
5952    Enable or disable echo of commands</h3>
5953    
5954  <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:
5955  </p>  </p>
5956  <p></p>  <p>
5957                            </p>
5958  <blockquote class="text">  <blockquote class="text">
5959  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
5960  </p>  </p>
5961  </blockquote>  </blockquote><p>
5962                        
5963    </p>
5964  <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
5965                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
5966                      commands send to LinuxSampler will be immediately send back and                      commands send to LinuxSampler will be immediately send back and
# Line 4110  Intellectual Property and Copyright Stat Line 5971  Intellectual Property and Copyright Stat
5971  </p>  </p>
5972  <p>Possible Answers:  <p>Possible Answers:
5973  </p>  </p>
5974  <p></p>  <p>
5975                            </p>
5976  <blockquote class="text">  <blockquote class="text">
5977  <p>"OK" -  <p>"OK" -
5978                                  </p>                                  </p>
# Line 4118  Intellectual Property and Copyright Stat Line 5980  Intellectual Property and Copyright Stat
5980  <p>usually  <p>usually
5981  </p>  </p>
5982  </blockquote>  </blockquote>
5983                                
5984    
5985  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5986                                  </p>                                  </p>
# Line 4125  Intellectual Property and Copyright Stat Line 5988  Intellectual Property and Copyright Stat
5988  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
5989  </p>  </p>
5990  </blockquote>  </blockquote>
5991                                
5992    
5993  </blockquote>  </blockquote><p>
5994                        
5995    </p>
5996  <p>Examples:  <p>Examples:
5997  </p>  </p>
5998  <p></p>  <p>
5999                            </p>
6000  <blockquote class="text">  <blockquote class="text">
6001  <p>  <p>
6002  </p>  </p>
6003  </blockquote>  </blockquote><p>
6004                        
6005  <a name="rfc.section.6.5.4"></a><h4><a name="QUIT">6.5.4</a>&nbsp;Close client connection</h4>  </p>
6006    <a name="QUIT"></a><br /><hr />
6007    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6008    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
6009    Close client connection</h3>
6010    
6011  <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:
6012  </p>  </p>
6013  <p></p>  <p>
6014                            </p>
6015  <blockquote class="text">  <blockquote class="text">
6016  <p>QUIT  <p>QUIT
6017  </p>  </p>
6018  </blockquote>  </blockquote><p>
6019                        
6020    </p>
6021  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
6022                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6023  </p>  </p>
6024  <a name="rfc.section.6.6"></a><h4><a name="anchor13">6.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
6025    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6026    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
6027    Global commands</h3>
6028    
6029  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6030  </p>  </p>
6031  <a name="rfc.section.6.6.1"></a><h4><a name="RESET">6.6.1</a>&nbsp;Reset sampler</h4>  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6032    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6033    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
6034    Current number of active voices</h3>
6035    
6036    <p>The front-end can ask for the current number of active voices on
6037                        the sampler by sending the following command:
6038    </p>
6039    <p>
6040                            </p>
6041    <blockquote class="text">
6042    <p>GET TOTAL_VOICE_COUNT
6043    </p>
6044    </blockquote><p>
6045                        
6046    </p>
6047    <p>Possible Answers:
6048    </p>
6049    <p>
6050                            </p>
6051    <blockquote class="text">
6052    <p>LinuxSampler will answer by returning the number of all active
6053                                voices on the sampler.
6054    </p>
6055    </blockquote><p>
6056                        
6057    </p>
6058    <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6059    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6060    <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6061    Maximum amount of active voices</h3>
6062    
6063    <p>The front-end can ask for the maximum number of active voices
6064                        by sending the following command:
6065    </p>
6066    <p>
6067                            </p>
6068    <blockquote class="text">
6069    <p>GET TOTAL_VOICE_COUNT_MAX
6070    </p>
6071    </blockquote><p>
6072                        
6073    </p>
6074    <p>Possible Answers:
6075    </p>
6076    <p>
6077                            </p>
6078    <blockquote class="text">
6079    <p>LinuxSampler will answer by returning the maximum number
6080                                of active voices.
6081    </p>
6082    </blockquote><p>
6083                        
6084    </p>
6085    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6086    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6087    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6088    Current number of active disk streams</h3>
6089    
6090    <p>The front-end can ask for the current number of active disk streams on
6091                        the sampler by sending the following command:
6092    </p>
6093    <p>
6094                            </p>
6095    <blockquote class="text">
6096    <p>GET TOTAL_STREAM_COUNT
6097    </p>
6098    </blockquote><p>
6099                        
6100    </p>
6101    <p>Possible Answers:
6102    </p>
6103    <p>
6104                            </p>
6105    <blockquote class="text">
6106    <p>LinuxSampler will answer by returning the number of all active
6107                                disk streams on the sampler.
6108    </p>
6109    </blockquote><p>
6110                        
6111    </p>
6112    <a name="RESET"></a><br /><hr />
6113    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6114    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6115    Reset sampler</h3>
6116    
6117  <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:
6118  </p>  </p>
6119  <p></p>  <p>
6120                            </p>
6121  <blockquote class="text">  <blockquote class="text">
6122  <p>RESET  <p>RESET
6123  </p>  </p>
6124  </blockquote>  </blockquote><p>
6125                        
6126    </p>
6127  <p>Possible Answers:  <p>Possible Answers:
6128  </p>  </p>
6129  <p></p>  <p>
6130                            </p>
6131  <blockquote class="text">  <blockquote class="text">
6132  <p>"OK" -  <p>"OK" -
6133                                  </p>                                  </p>
# Line 4173  Intellectual Property and Copyright Stat Line 6135  Intellectual Property and Copyright Stat
6135  <p>always  <p>always
6136  </p>  </p>
6137  </blockquote>  </blockquote>
6138                                
6139    
6140  </blockquote>  </blockquote><p>
6141                        
6142    </p>
6143  <p>Examples:  <p>Examples:
6144  </p>  </p>
6145  <p></p>  <p>
6146                            </p>
6147  <blockquote class="text">  <blockquote class="text">
6148  <p>  <p>
6149  </p>  </p>
6150  </blockquote>  </blockquote><p>
6151                        
6152  <a name="rfc.section.6.6.2"></a><h4><a name="GET SERVER INFO">6.6.2</a>&nbsp;General sampler informations</h4>  </p>
6153    <a name="GET SERVER INFO"></a><br /><hr />
6154    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6155    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6156    General sampler informations</h3>
6157    
6158  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6159                         instance by sending the following command:                         instance by sending the following command:
6160  </p>  </p>
6161  <p></p>  <p>
6162                            </p>
6163  <blockquote class="text">  <blockquote class="text">
6164  <p>GET SERVER INFO  <p>GET SERVER INFO
6165  </p>  </p>
6166  </blockquote>  </blockquote><p>
6167                        
6168    </p>
6169  <p>Possible Answers:  <p>Possible Answers:
6170  </p>  </p>
6171  <p></p>  <p>
6172                            </p>
6173  <blockquote class="text">  <blockquote class="text">
6174  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6175                                 Each answer line begins with the information category name                                 Each answer line begins with the information category name
# Line 4206  Intellectual Property and Copyright Stat Line 6178  Intellectual Property and Copyright Stat
6178                                 moment the following categories are defined:                                 moment the following categories are defined:
6179                                                            
6180  </p>  </p>
6181  <p></p>  <p>
6182                                    </p>
6183  <blockquote class="text">  <blockquote class="text">
6184  <p>DESCRIPTION -  <p>DESCRIPTION -
6185                                          </p>                                          </p>
6186  <blockquote class="text">  <blockquote class="text">
6187  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6188                                                (note that the character string may contain
6189                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6190  </p>  </p>
6191  </blockquote>  </blockquote>
6192                                        
6193    
6194  <p>VERSION -  <p>VERSION -
6195                                          </p>                                          </p>
# Line 4221  Intellectual Property and Copyright Stat Line 6197  Intellectual Property and Copyright Stat
6197  <p>version of the sampler  <p>version of the sampler
6198  </p>  </p>
6199  </blockquote>  </blockquote>
6200                                        
6201    
6202  <p>PROTOCOL_VERSION -  <p>PROTOCOL_VERSION -
6203                                          </p>                                          </p>
6204  <blockquote class="text">  <blockquote class="text">
6205  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6206                                              complies with (see <a class="info" href="#LSCP versioning">Section 2<span>Versioning of this specification</span></a> for details)                                              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)
6207  </p>  </p>
6208  </blockquote>  </blockquote>
6209                                        
6210    
6211    <p>INSTRUMENTS_DB_SUPPORT -
6212                                            </p>
6213    <blockquote class="text">
6214    <p>either yes or no, specifies whether the
6215                                                sampler is build with instruments database support.
6216    </p>
6217  </blockquote>  </blockquote>
6218                                        
6219    
6220  </blockquote>  </blockquote>
6221                                
6222    
6223    </blockquote><p>
6224                        
6225    </p>
6226  <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.
6227                      Other fields might be added in future.                      Other fields might be added in future.
6228  </p>  </p>
6229    <a name="GET VOLUME"></a><br /><hr />
6230    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6231    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6232    Getting global volume attenuation</h3>
6233    
6234    <p>The client can ask for the current global sampler-wide volume
6235                        attenuation by sending the following command:
6236    </p>
6237    <p>
6238                            </p>
6239    <blockquote class="text">
6240    <p>GET VOLUME
6241    </p>
6242    </blockquote><p>
6243                        
6244    </p>
6245    <p>Possible Answers:
6246    </p>
6247    <p>
6248                            </p>
6249    <blockquote class="text">
6250    <p>The sampler will always answer by returning the optional
6251                                dotted floating point coefficient, reflecting the current
6252                                global volume attenuation.
6253                                
6254    </p>
6255    </blockquote><p>
6256                        
6257    </p>
6258    <p>Note: it is up to the respective sampler engine whether to obey
6259                        that global volume parameter or not, but in general all engines SHOULD
6260                        use this parameter.
6261    </p>
6262    <a name="SET VOLUME"></a><br /><hr />
6263    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6264    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6265    Setting global volume attenuation</h3>
6266    
6267    <p>The client can alter the current global sampler-wide volume
6268                        attenuation by sending the following command:
6269    </p>
6270    <p>
6271                            </p>
6272    <blockquote class="text">
6273    <p>SET VOLUME &lt;volume&gt;
6274    </p>
6275    </blockquote><p>
6276                        
6277    </p>
6278    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6279                       floating point value, reflecting the new global volume parameter.
6280                       This value might usually be in the range between 0.0 and 1.0, that
6281                       is for attenuating the overall volume.
6282    </p>
6283    <p>Possible Answers:
6284    </p>
6285    <p>
6286                            </p>
6287    <blockquote class="text">
6288    <p>"OK" -
6289                                    </p>
6290    <blockquote class="text">
6291    <p>on success
6292    </p>
6293    </blockquote>
6294                                
6295    
6296    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6297                                    </p>
6298    <blockquote class="text">
6299    <p>if the global volume was set, but there are noteworthy
6300                                        issue(s) related, providing an appropriate warning code and
6301                                        warning message
6302    </p>
6303    </blockquote>
6304                                
6305    
6306    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6307                                    </p>
6308    <blockquote class="text">
6309    <p>in case it failed, providing an appropriate error code and error message
6310    </p>
6311    </blockquote>
6312                                
6313    
6314    </blockquote><p>
6315                        
6316    </p>
6317    <a name="MIDI Instrument Mapping"></a><br /><hr />
6318    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6319    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6320    MIDI Instrument Mapping</h3>
6321    
6322    <p>The MIDI protocol provides a way to switch between instruments
6323                    by sending so called MIDI bank select and MIDI program change
6324                    messages which are essentially just numbers. The following commands
6325                    allow to actually map arbitrary MIDI bank select / program change
6326                    numbers with real instruments.
6327    </p>
6328    <p>The sampler allows to manage an arbitrary amount of MIDI
6329                    instrument maps which define which instrument to load on
6330                    which MIDI program change message.
6331    </p>
6332    <p>By default, that is when the sampler is launched, there is no
6333                    map, thus the sampler will simply ignore all program change
6334                    messages. The front-end has to explicitly create at least one
6335                    map, add entries to the map and tell the respective sampler
6336                    channel(s) which MIDI instrument map to use, so the sampler
6337                    knows how to react on a given program change message on the
6338                    respective sampler channel, that is by switching to the
6339                    respectively defined engine type and loading the respective
6340                    instrument. See command
6341                    <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>
6342                    for how to assign a MIDI instrument map to a sampler channel.
6343    </p>
6344    <p>Also note per MIDI specification a bank select message does not
6345                    cause to switch to another instrument. Instead when receiving a
6346                    bank select message the bank value will be stored and a subsequent
6347                    program change message (which may occur at any time) will finally
6348                    cause the sampler to switch to the respective instrument as
6349                    reflected by the current MIDI instrument map.
6350    </p>
6351    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6352    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6353    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6354    Create a new MIDI instrument map</h3>
6355    
6356    <p>The front-end can add a new MIDI instrument map by sending
6357                        the following command:
6358    </p>
6359    <p>
6360                            </p>
6361    <blockquote class="text">
6362    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6363    </p>
6364    </blockquote><p>
6365                        
6366    </p>
6367    <p>Where &lt;name&gt; is an optional argument allowing to
6368                        assign a custom name to the new map. MIDI instrument Map
6369                        names do not have to be unique, but MUST be encapsulated
6370                        into apostrophes and support escape sequences as described
6371                        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>".
6372                        
6373    </p>
6374    <p>Possible Answers:
6375    </p>
6376    <p>
6377                            </p>
6378    <blockquote class="text">
6379    <p>"OK[&lt;map&gt;]" -
6380                                    </p>
6381    <blockquote class="text">
6382    <p>in case a new MIDI instrument map could
6383                                        be added, where &lt;map&gt; reflects the
6384                                        unique ID of the newly created MIDI
6385                                        instrument map
6386    </p>
6387    </blockquote>
6388                                
6389    
6390    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6391                                    </p>
6392    <blockquote class="text">
6393    <p>when a new map could not be created, which
6394                                        might never occur in practice
6395    </p>
6396    </blockquote>
6397                                
6398    
6399    </blockquote><p>
6400                        
6401    </p>
6402    <p>Examples:
6403    </p>
6404    <p>
6405                            </p>
6406    <blockquote class="text">
6407    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6408    </p>
6409    <p>S: "OK[0]"
6410    </p>
6411    </blockquote><p>
6412                        
6413    </p>
6414    <p>
6415                            </p>
6416    <blockquote class="text">
6417    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6418    </p>
6419    <p>S: "OK[1]"
6420    </p>
6421    </blockquote><p>
6422                        
6423    </p>
6424    <p>
6425                            </p>
6426    <blockquote class="text">
6427    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6428    </p>
6429    <p>S: "OK[5]"
6430    </p>
6431    </blockquote><p>
6432                        
6433    </p>
6434    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6435    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6436    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6437    Delete one particular or all MIDI instrument maps</h3>
6438    
6439    <p>The front-end can delete a particular MIDI instrument map
6440                        by sending the following command:
6441    </p>
6442    <p>
6443                            </p>
6444    <blockquote class="text">
6445    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6446    </p>
6447    </blockquote><p>
6448                        
6449    </p>
6450    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6451                        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>
6452                        command.
6453    </p>
6454    <p>The front-end can delete all MIDI instrument maps by
6455                        sending the following command:
6456    </p>
6457    <p>
6458                            </p>
6459    <blockquote class="text">
6460    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6461    </p>
6462    </blockquote><p>
6463                        
6464    </p>
6465    <p>Possible Answers:
6466    </p>
6467    <p>
6468                            </p>
6469    <blockquote class="text">
6470    <p>"OK" -
6471                                    </p>
6472    <blockquote class="text">
6473    <p>in case the map(s) could be deleted
6474    </p>
6475    </blockquote>
6476                                
6477    
6478    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6479                                    </p>
6480    <blockquote class="text">
6481    <p>when the given map does not exist
6482    </p>
6483    </blockquote>
6484                                
6485    
6486    </blockquote><p>
6487                        
6488    </p>
6489    <p>Examples:
6490    </p>
6491    <p>
6492                            </p>
6493    <blockquote class="text">
6494    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6495    </p>
6496    <p>S: "OK"
6497    </p>
6498    </blockquote><p>
6499                        
6500    </p>
6501    <p>
6502                            </p>
6503    <blockquote class="text">
6504    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6505    </p>
6506    <p>S: "OK"
6507    </p>
6508    </blockquote><p>
6509                        
6510    </p>
6511    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6512    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6513    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6514    Get amount of existing MIDI instrument maps</h3>
6515    
6516    <p>The front-end can retrieve the current amount of MIDI
6517                        instrument maps by sending the following command:
6518    </p>
6519    <p>
6520                            </p>
6521    <blockquote class="text">
6522    <p>GET MIDI_INSTRUMENT_MAPS
6523    </p>
6524    </blockquote><p>
6525                        
6526    </p>
6527    <p>Possible Answers:
6528    </p>
6529    <p>
6530                            </p>
6531    <blockquote class="text">
6532    <p>The sampler will answer by returning the current
6533                                number of MIDI instrument maps.
6534    </p>
6535    </blockquote><p>
6536                        
6537    </p>
6538    <p>Example:
6539    </p>
6540    <p>
6541                            </p>
6542    <blockquote class="text">
6543    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6544    </p>
6545    <p>S: "2"
6546    </p>
6547    </blockquote><p>
6548                        
6549    </p>
6550    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6551    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6552    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6553    Getting all created MIDI instrument maps</h3>
6554    
6555    <p>The number of MIDI instrument maps can change on runtime. To get the
6556                        current list of MIDI instrument maps, the front-end can send the
6557                        following command:
6558    </p>
6559    <p>
6560                            </p>
6561    <blockquote class="text">
6562    <p>LIST MIDI_INSTRUMENT_MAPS
6563    </p>
6564    </blockquote><p>
6565                        
6566    </p>
6567    <p>Possible Answers:
6568    </p>
6569    <p>
6570                            </p>
6571    <blockquote class="text">
6572    <p>The sampler will answer by returning a comma separated list
6573                                with all MIDI instrument maps' numerical IDs.
6574    </p>
6575    </blockquote><p>
6576                        
6577    </p>
6578    <p>Example:
6579    </p>
6580    <p>
6581                            </p>
6582    <blockquote class="text">
6583    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6584    </p>
6585    <p>S: "0,1,5,12"
6586    </p>
6587    </blockquote><p>
6588                        
6589    </p>
6590    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6591    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6592    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6593    Getting MIDI instrument map information</h3>
6594    
6595    <p>The front-end can ask for the current settings of a MIDI
6596                        instrument map by sending the following command:
6597    </p>
6598    <p>
6599                            </p>
6600    <blockquote class="text">
6601    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6602    </p>
6603    </blockquote><p>
6604                        
6605    </p>
6606    <p>Where &lt;map&gt; is the numerical ID of the map the
6607                        front-end is interested in as returned by the
6608                        <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>
6609                        command.
6610    </p>
6611    <p>Possible Answers:
6612    </p>
6613    <p>
6614                            </p>
6615    <blockquote class="text">
6616    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6617                                Each answer line begins with the settings category name
6618                                followed by a colon and then a space character &lt;SP&gt; and finally
6619                                the info character string to that setting category. At the
6620                                moment the following categories are defined:
6621    </p>
6622    <p>
6623                                    </p>
6624    <blockquote class="text">
6625    <p>NAME -
6626                                            </p>
6627    <blockquote class="text">
6628    <p>custom name of the given map,
6629                                                which does not have to be unique
6630                                                (note that this character string may contain
6631                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6632    </p>
6633    </blockquote>
6634                                        
6635    
6636    <p>DEFAULT -
6637                                            </p>
6638    <blockquote class="text">
6639    <p>either true or false,
6640                                                defines whether this map is the default map
6641    </p>
6642    </blockquote>
6643                                        
6644    
6645    </blockquote>
6646                                
6647    
6648    </blockquote><p>
6649                        
6650    </p>
6651    <p>The mentioned fields above don't have to be in particular order.
6652    </p>
6653    <p>Example:
6654    </p>
6655    <p>
6656                            </p>
6657    <blockquote class="text">
6658    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6659    </p>
6660    <p>S: "NAME: Standard Map"
6661    </p>
6662    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6663    </p>
6664    <p>&nbsp;&nbsp;&nbsp;"."
6665    </p>
6666    </blockquote><p>
6667                        
6668    </p>
6669    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6670    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6671    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6672    Renaming a MIDI instrument map</h3>
6673    
6674    <p>The front-end can alter the custom name of a MIDI
6675                        instrument map by sending the following command:
6676    </p>
6677    <p>
6678                            </p>
6679    <blockquote class="text">
6680    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6681    </p>
6682    </blockquote><p>
6683                        
6684    </p>
6685    <p>Where &lt;map&gt; is the numerical ID of the map and
6686                        &lt;name&gt; the new custom name of the map, which does not
6687                        have to be unique (name MUST be encapsulated into apostrophes
6688                        and supports escape sequences as described in chapter
6689                        "<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>").
6690                        
6691    </p>
6692    <p>Possible Answers:
6693    </p>
6694    <p>
6695                            </p>
6696    <blockquote class="text">
6697    <p>"OK" -
6698                                    </p>
6699    <blockquote class="text">
6700    <p>on success
6701    </p>
6702    </blockquote>
6703                                
6704    
6705    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6706                                    </p>
6707    <blockquote class="text">
6708    <p>in case the given map does not exist
6709    </p>
6710    </blockquote>
6711                                
6712    
6713    </blockquote><p>
6714                        
6715    </p>
6716    <p>Example:
6717    </p>
6718    <p>
6719                            </p>
6720    <blockquote class="text">
6721    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6722    </p>
6723    <p>S: "OK"
6724    </p>
6725    </blockquote><p>
6726                        
6727    </p>
6728    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6729    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6730    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6731    Create or replace a MIDI instrument map entry</h3>
6732    
6733    <p>The front-end can create a new or replace an existing entry
6734                        in a sampler's MIDI instrument map by sending the following
6735                        command:
6736    </p>
6737    <p>
6738                            </p>
6739    <blockquote class="text">
6740    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6741                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6742                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6743                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6744    </p>
6745    </blockquote><p>
6746                        
6747    </p>
6748    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6749                        &lt;midi_bank&gt; is an integer value between
6750                        0..16383 reflecting the MIDI bank select index,
6751                        &lt;midi_prog&gt; an
6752                        integer value between 0..127 reflecting the MIDI program change
6753                        index, &lt;engine_name&gt; a sampler engine name as returned by
6754                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6755                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6756                        of the instrument's file to be deployed (encapsulated into apostrophes,
6757                        supporting escape sequences as described in chapter
6758                        "<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>"),
6759                        &lt;instrument_index&gt; the index (integer value) of the instrument
6760                        within the given file, &lt;volume_value&gt; reflects the master
6761                        volume of the instrument as optionally dotted number (where a
6762                        value &lt; 1.0 means attenuation and a value > 1.0 means
6763                        amplification). This parameter easily allows to adjust the
6764                        volume of all intruments within a custom instrument map
6765                        without having to adjust their instrument files. The
6766                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6767                        time of the instrument, that is when the instrument should
6768                        be loaded, when freed and has exactly the following
6769                        possibilities:
6770    </p>
6771    <p>
6772                            </p>
6773    <blockquote class="text">
6774    <p>"ON_DEMAND" -
6775                                    </p>
6776    <blockquote class="text">
6777    <p>The instrument will be loaded when needed,
6778                                        that is when demanded by at least one sampler
6779                                        channel. It will immediately be freed from memory
6780                                        when not needed by any sampler channel anymore.
6781    </p>
6782    </blockquote>
6783                                
6784    
6785    <p>"ON_DEMAND_HOLD" -
6786                                    </p>
6787    <blockquote class="text">
6788    <p>The instrument will be loaded when needed,
6789                                        that is when demanded by at least one sampler
6790                                        channel. It will be kept in memory even when
6791                                        not needed by any sampler channel anymore.
6792                                        Instruments with this mode are only freed
6793                                        when the sampler is reset or all mapping
6794                                        entries with this mode (and respective
6795                                        instrument) are explicitly changed to
6796                                        "ON_DEMAND" and no sampler channel is using
6797                                        the instrument anymore.
6798    </p>
6799    </blockquote>
6800                                
6801    
6802    <p>"PERSISTENT" -
6803                                    </p>
6804    <blockquote class="text">
6805    <p>The instrument will immediately be loaded
6806                                        into memory when this mapping
6807                                        command is sent and the instrument is kept all
6808                                        the time. Instruments with this mode are
6809                                        only freed when the sampler is reset or all
6810                                        mapping entries with this mode (and
6811                                        respective instrument) are explicitly
6812                                        changed to "ON_DEMAND" and no sampler
6813                                        channel is using the instrument anymore.
6814    </p>
6815    </blockquote>
6816                                
6817    
6818    <p>not supplied -
6819                                    </p>
6820    <blockquote class="text">
6821    <p>In case there is no &lt;instr_load_mode&gt;
6822                                        argument given, it will be up to the
6823                                        InstrumentManager to decide which mode to use.
6824                                        Usually it will use "ON_DEMAND" if an entry
6825                                        for the given instrument does not exist in
6826                                        the InstrumentManager's list yet, otherwise
6827                                        if an entry already exists, it will simply
6828                                        stick with the mode currently reflected by
6829                                        the already existing entry, that is it will
6830                                        not change the mode.
6831    </p>
6832    </blockquote>
6833                                
6834    
6835    </blockquote><p>
6836                        
6837    </p>
6838    <p>
6839                        The &lt;instr_load_mode&gt; argument thus allows to define an
6840                        appropriate strategy (low memory consumption vs. fast
6841                        instrument switching) for each instrument individually. Note, the
6842                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6843                        "PERSISTENT" have to be supported by the respective sampler engine
6844                        (which is technically the case when the engine provides an
6845                        InstrumentManager for its format). If this is not the case the
6846                        argument will automatically fall back to the default value
6847                        "ON_DEMAND". Also the load mode of one instrument may
6848                        automatically change the laod mode of other instrument(s), i.e.
6849                        because the instruments are part of the same file and the
6850                        engine does not allow a way to manage load modes for them
6851                        individually. Due to this, in case the frontend shows the
6852                        load modes of entries, the frontend should retrieve the actual
6853                        mode by i.e. sending
6854                        <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>
6855                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6856                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6857                        "<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
6858                        mapping entry, useful for frontends for displaying an appropriate name for
6859                        mapped instruments (using
6860                        <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>).
6861                        
6862    </p>
6863    <p>
6864                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6865                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6866                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6867                        immediately, that is to let the sampler establish the mapping in the
6868                        background. So this argument might be especially useful for mappings with
6869                        a "PERSISTENT" type, because these have to load the respective instruments
6870                        immediately and might thus block for a very long time. It is recommended
6871                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6872                        because it has the following drawbacks: as "NON_MODAL" instructions return
6873                        immediately, they may not necessarily return an error i.e. when the given
6874                        instrument file turns out to be corrupt, beside that subsequent commands
6875                        in a LSCP instruction sequence might fail, because mandatory mappings are
6876                        not yet completed.
6877                        
6878    </p>
6879    <p>Possible Answers:
6880    </p>
6881    <p>
6882                            </p>
6883    <blockquote class="text">
6884    <p>"OK" -
6885                                    </p>
6886    <blockquote class="text">
6887    <p>usually
6888    </p>
6889    </blockquote>
6890                                
6891    
6892    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6893                                    </p>
6894    <blockquote class="text">
6895    <p>when the given map or engine does not exist or a value
6896                                        is out of range
6897    </p>
6898    </blockquote>
6899                                
6900    
6901    </blockquote><p>
6902                        
6903    </p>
6904    <p>Examples:
6905    </p>
6906    <p>
6907                            </p>
6908    <blockquote class="text">
6909    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6910    </p>
6911    <p>S: "OK"
6912    </p>
6913    </blockquote><p>
6914                        
6915    </p>
6916    <p>
6917                            </p>
6918    <blockquote class="text">
6919    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6920    </p>
6921    <p>S: "OK"
6922    </p>
6923    </blockquote><p>
6924                        
6925    </p>
6926    <p>
6927                            </p>
6928    <blockquote class="text">
6929    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6930    </p>
6931    <p>S: "OK"
6932    </p>
6933    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6934    </p>
6935    <p>S: "OK"
6936    </p>
6937    </blockquote><p>
6938                        
6939    </p>
6940    <p>
6941                            </p>
6942    <blockquote class="text">
6943    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6944    </p>
6945    <p>S: "OK"
6946    </p>
6947    </blockquote><p>
6948                        
6949    </p>
6950    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6951    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6952    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6953    Getting ammount of MIDI instrument map entries</h3>
6954    
6955    <p>The front-end can query the amount of currently existing
6956                        entries in a MIDI instrument map by sending the following
6957                        command:
6958    </p>
6959    <p>
6960                            </p>
6961    <blockquote class="text">
6962    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6963    </p>
6964    </blockquote><p>
6965                        
6966    </p>
6967    <p>The front-end can query the amount of currently existing
6968                        entries in all MIDI instrument maps by sending the following
6969                        command:
6970    </p>
6971    <p>
6972                            </p>
6973    <blockquote class="text">
6974    <p>GET MIDI_INSTRUMENTS ALL
6975    </p>
6976    </blockquote><p>
6977                        
6978    </p>
6979    <p>Possible Answers:
6980    </p>
6981    <p>
6982                            </p>
6983    <blockquote class="text">
6984    <p>The sampler will answer by sending the current number of
6985                                entries in the MIDI instrument map(s).
6986    </p>
6987    </blockquote><p>
6988                        
6989    </p>
6990    <p>Example:
6991    </p>
6992    <p>
6993                            </p>
6994    <blockquote class="text">
6995    <p>C: "GET MIDI_INSTRUMENTS 0"
6996    </p>
6997    <p>S: "234"
6998    </p>
6999    </blockquote><p>
7000                        
7001    </p>
7002    <p>
7003                            </p>
7004    <blockquote class="text">
7005    <p>C: "GET MIDI_INSTRUMENTS ALL"
7006    </p>
7007    <p>S: "954"
7008    </p>
7009    </blockquote><p>
7010                        
7011    </p>
7012    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7013    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7014    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7015    Getting indeces of all entries of a MIDI instrument map</h3>
7016    
7017    <p>The front-end can query a list of all currently existing
7018                        entries in a certain MIDI instrument map by sending the following
7019                        command:
7020    </p>
7021    <p>
7022                            </p>
7023    <blockquote class="text">
7024    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7025    </p>
7026    </blockquote><p>
7027                        
7028    </p>
7029    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7030    </p>
7031    <p>The front-end can query a list of all currently existing
7032                        entries of all MIDI instrument maps by sending the following
7033                        command:
7034    </p>
7035    <p>
7036                            </p>
7037    <blockquote class="text">
7038    <p>LIST MIDI_INSTRUMENTS ALL
7039    </p>
7040    </blockquote><p>
7041                        
7042    </p>
7043    <p>Possible Answers:
7044    </p>
7045    <p>
7046                            </p>
7047    <blockquote class="text">
7048    <p>The sampler will answer by sending a comma separated
7049                                list of map ID - MIDI bank - MIDI program triples, where
7050                                each triple is encapsulated into curly braces. The
7051                                list is returned in one single line. Each triple
7052                                just reflects the key of the respective map entry,
7053                                thus subsequent
7054                                <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>
7055                                command(s) are necessary to retrieve detailed informations
7056                                about each entry.
7057    </p>
7058    </blockquote><p>
7059                        
7060    </p>
7061    <p>Example:
7062    </p>
7063    <p>
7064                            </p>
7065    <blockquote class="text">
7066    <p>C: "LIST MIDI_INSTRUMENTS 0"
7067    </p>
7068    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7069    </p>
7070    </blockquote><p>
7071                        
7072    </p>
7073    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7074    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7075    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7076    Remove an entry from the MIDI instrument map</h3>
7077    
7078    <p>The front-end can delete an entry from a MIDI instrument
7079                        map by sending the following command:
7080    </p>
7081    <p>
7082                            </p>
7083    <blockquote class="text">
7084    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7085    </p>
7086    </blockquote><p>
7087                        
7088    </p>
7089    <p>
7090                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7091                        &lt;midi_bank&gt; is an integer value between 0..16383
7092                        reflecting the MIDI bank value and
7093                        &lt;midi_prog&gt; an integer value between
7094                        0..127 reflecting the MIDI program value of the map's entrie's key
7095                        index triple.
7096                        
7097    </p>
7098    <p>Possible Answers:
7099    </p>
7100    <p>
7101                            </p>
7102    <blockquote class="text">
7103    <p>"OK" -
7104                                    </p>
7105    <blockquote class="text">
7106    <p>usually
7107    </p>
7108    </blockquote>
7109                                
7110    
7111    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7112                                    </p>
7113    <blockquote class="text">
7114    <p>when index out of bounds
7115    </p>
7116    </blockquote>
7117                                
7118    
7119    </blockquote><p>
7120                        
7121    </p>
7122    <p>Example:
7123    </p>
7124    <p>
7125                            </p>
7126    <blockquote class="text">
7127    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7128    </p>
7129    <p>S: "OK"
7130    </p>
7131    </blockquote><p>
7132                        
7133    </p>
7134    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7135    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7136    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7137    Get current settings of MIDI instrument map entry</h3>
7138    
7139    <p>The front-end can retrieve the current settings of a certain
7140                        instrument map entry by sending the following command:
7141    </p>
7142    <p>
7143                            </p>
7144    <blockquote class="text">
7145    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7146    </p>
7147    </blockquote><p>
7148                        
7149    </p>
7150    <p>
7151                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7152                        &lt;midi_bank&gt; is an integer value between 0..16383
7153                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7154                        and &lt;midi_prog&gt; an integer value between
7155                        0..127 reflecting the MIDI program value of the map's entrie's key
7156                        index triple.
7157                        
7158    </p>
7159    <p>Possible Answers:
7160    </p>
7161    <p>
7162                            </p>
7163    <blockquote class="text">
7164    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7165                                separated list. Each answer line begins with the
7166                                information category name followed by a colon and then
7167                                a space character &lt;SP&gt; and finally the info
7168                                character string to that info category. At the moment
7169                                the following categories are defined:
7170    </p>
7171    <p>"NAME" -
7172                                    </p>
7173    <blockquote class="text">
7174    <p>Name for this MIDI instrument map entry (if defined).
7175                                        This name shall be used by frontends for displaying a
7176                                        name for this mapped instrument. It can be set and
7177                                        changed with the
7178                                        <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>
7179                                        command and does not have to be unique.
7180                                        (note that this character string may contain
7181                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7182    </p>
7183    </blockquote>
7184                                
7185    
7186    <p>"ENGINE_NAME" -
7187                                    </p>
7188    <blockquote class="text">
7189    <p>Name of the engine to be deployed for this
7190                                        instrument.
7191    </p>
7192    </blockquote>
7193                                
7194    
7195    <p>"INSTRUMENT_FILE" -
7196                                    </p>
7197    <blockquote class="text">
7198    <p>File name of the instrument
7199                                        (note that this path may contain
7200                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7201    </p>
7202    </blockquote>
7203                                
7204    
7205    <p>"INSTRUMENT_NR" -
7206                                    </p>
7207    <blockquote class="text">
7208    <p>Index of the instrument within the file.
7209    </p>
7210    </blockquote>
7211                                
7212    
7213    <p>"INSTRUMENT_NAME" -
7214                                    </p>
7215    <blockquote class="text">
7216    <p>Name of the loaded instrument as reflected by its file.
7217                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7218                                        cannot be changed (note that this character string may contain
7219                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7220    </p>
7221    </blockquote>
7222                                
7223    
7224    <p>"LOAD_MODE" -
7225                                    </p>
7226    <blockquote class="text">
7227    <p>Life time of instrument
7228                                        (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).
7229    </p>
7230    </blockquote>
7231                                
7232    
7233    <p>"VOLUME" -
7234                                    </p>
7235    <blockquote class="text">
7236    <p>master volume of the instrument as optionally
7237                                        dotted number (where a value &lt; 1.0 means attenuation
7238                                        and a value > 1.0 means amplification)
7239    </p>
7240    </blockquote>
7241                                
7242    
7243    <p>The mentioned fields above don't have to be in particular order.
7244    </p>
7245    </blockquote><p>
7246                        
7247    </p>
7248    <p>Example:
7249    </p>
7250    <p>
7251                            </p>
7252    <blockquote class="text">
7253    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7254    </p>
7255    <p>S: "NAME: Drums for Foo Song"
7256    </p>
7257    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7258    </p>
7259    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7260    </p>
7261    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7262    </p>
7263    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7264    </p>
7265    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7266    </p>
7267    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7268    </p>
7269    <p>&nbsp;&nbsp;&nbsp;"."
7270    </p>
7271    </blockquote><p>
7272                        
7273    </p>
7274    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7275    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7276    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7277    Clear MIDI instrument map</h3>
7278    
7279    <p>The front-end can clear a whole MIDI instrument map, that
7280                        is delete all its entries by sending the following command:
7281    </p>
7282    <p>
7283                            </p>
7284    <blockquote class="text">
7285    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7286    </p>
7287    </blockquote><p>
7288                        
7289    </p>
7290    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7291    </p>
7292    <p>The front-end can clear all MIDI instrument maps, that
7293                        is delete all entries of all maps by sending the following
7294                        command:
7295    </p>
7296    <p>
7297                            </p>
7298    <blockquote class="text">
7299    <p>CLEAR MIDI_INSTRUMENTS ALL
7300    </p>
7301    </blockquote><p>
7302                        
7303    </p>
7304    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7305                        maps, only their entries, thus the map's settings like
7306                        custom name will be preservevd.
7307    </p>
7308    <p>Possible Answers:
7309    </p>
7310    <p>
7311                            </p>
7312    <blockquote class="text">
7313    <p>"OK" -
7314                                    </p>
7315    <blockquote class="text">
7316    <p>always
7317    </p>
7318    </blockquote>
7319                                
7320    
7321    </blockquote><p>
7322                        
7323    </p>
7324    <p>Examples:
7325    </p>
7326    <p>
7327                           </p>
7328    <blockquote class="text">
7329    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7330    </p>
7331    <p>S: "OK"
7332    </p>
7333    </blockquote><p>
7334                        
7335    </p>
7336    <p>
7337                           </p>
7338    <blockquote class="text">
7339    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7340    </p>
7341    <p>S: "OK"
7342    </p>
7343    </blockquote><p>
7344                        
7345    </p>
7346    <a name="Managing Instruments Database"></a><br /><hr />
7347    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7348    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7349    Managing Instruments Database</h3>
7350    
7351    <p>The following commands describe how to use and manage
7352                    the instruments database.
7353    </p>
7354    <p>Notice:
7355    </p>
7356    <p>
7357                            </p>
7358    <blockquote class="text">
7359    <p>All command arguments representing a path or
7360                                instrument/directory name support escape sequences as described in chapter
7361                                "<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>".
7362                                
7363    </p>
7364    <p>All occurrences of a forward slash in instrument and directory
7365                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7366                                
7367    </p>
7368    </blockquote><p>
7369                        
7370    </p>
7371    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7372    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7373    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7374    Creating a new instrument directory</h3>
7375    
7376    <p>The front-end can add a new instrument directory to the
7377                        instruments database by sending the following command:
7378    </p>
7379    <p>
7380                            </p>
7381    <blockquote class="text">
7382    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7383    </p>
7384    </blockquote><p>
7385                        
7386    </p>
7387    <p>Where &lt;dir&gt; is the absolute path name of the directory
7388                        to be created (encapsulated into apostrophes).
7389    </p>
7390    <p>Possible Answers:
7391    </p>
7392    <p>
7393                            </p>
7394    <blockquote class="text">
7395    <p>"OK" -
7396                                    </p>
7397    <blockquote class="text">
7398    <p>on success
7399    </p>
7400    </blockquote>
7401                                
7402    
7403    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7404                                    </p>
7405    <blockquote class="text">
7406    <p>when the directory could not be created, which
7407                                        can happen if the directory already exists or the
7408                                        name contains not allowed symbols
7409    </p>
7410    </blockquote>
7411                                
7412    
7413    </blockquote><p>
7414                        
7415    </p>
7416    <p>Examples:
7417    </p>
7418    <p>
7419                            </p>
7420    <blockquote class="text">
7421    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7422    </p>
7423    <p>S: "OK"
7424    </p>
7425    </blockquote><p>
7426                        
7427    </p>
7428    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7429    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7430    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7431    Deleting an instrument directory</h3>
7432    
7433    <p>The front-end can delete a particular instrument directory
7434                        from the instruments database by sending the following command:
7435    </p>
7436    <p>
7437                            </p>
7438    <blockquote class="text">
7439    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7440    </p>
7441    </blockquote><p>
7442                        
7443    </p>
7444    <p>Where &lt;dir&gt; is the absolute path name of the directory
7445                        to delete. The optional FORCE argument can be used to
7446                        force the deletion of a non-empty directory and all its content.
7447    </p>
7448    <p>Possible Answers:
7449    </p>
7450    <p>
7451                            </p>
7452    <blockquote class="text">
7453    <p>"OK" -
7454                                    </p>
7455    <blockquote class="text">
7456    <p>if the directory is deleted successfully
7457    </p>
7458    </blockquote>
7459                                
7460    
7461    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7462                                    </p>
7463    <blockquote class="text">
7464    <p>if the given directory does not exist, or
7465                                        if trying to delete a non-empty directory,
7466                                        without using the FORCE argument.
7467    </p>
7468    </blockquote>
7469                                
7470    
7471    </blockquote><p>
7472                        
7473    </p>
7474    <p>Examples:
7475    </p>
7476    <p>
7477                            </p>
7478    <blockquote class="text">
7479    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7480    </p>
7481    <p>S: "OK"
7482    </p>
7483    </blockquote><p>
7484                        
7485    </p>
7486    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7487    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7488    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7489    Getting amount of instrument directories</h3>
7490    
7491    <p>The front-end can retrieve the current amount of
7492                        directories in a specific directory by sending the following command:
7493    </p>
7494    <p>
7495                            </p>
7496    <blockquote class="text">
7497    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7498    </p>
7499    </blockquote><p>
7500                        
7501    </p>
7502    <p>Where &lt;dir&gt; should be replaced by the absolute path
7503                        name of the directory. If RECURSIVE is specified, the number of
7504                        all directories, including those located in subdirectories of the
7505                        specified directory, will be returned.
7506    </p>
7507    <p>Possible Answers:
7508    </p>
7509    <p>
7510                            </p>
7511    <blockquote class="text">
7512    <p>The current number of instrument directories
7513                                in the specified directory.
7514    </p>
7515    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7516                                    </p>
7517    <blockquote class="text">
7518    <p>if the given directory does not exist.
7519    </p>
7520    </blockquote>
7521                                
7522    
7523    </blockquote><p>
7524                        
7525    </p>
7526    <p>Example:
7527    </p>
7528    <p>
7529                            </p>
7530    <blockquote class="text">
7531    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7532    </p>
7533    <p>S: "2"
7534    </p>
7535    </blockquote><p>
7536                        
7537    </p>
7538    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7539    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7540    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7541    Listing all directories in specific directory</h3>
7542    
7543    <p>The front-end can retrieve the current list of directories
7544                        in specific directory by sending the following command:
7545    </p>
7546    <p>
7547                            </p>
7548    <blockquote class="text">
7549    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7550    </p>
7551    </blockquote><p>
7552                        
7553    </p>
7554    <p>Where &lt;dir&gt; should be replaced by the absolute path
7555                        name of the directory. If RECURSIVE is specified, the absolute path names
7556                        of all directories, including those located in subdirectories of the
7557                        specified directory, will be returned.
7558    </p>
7559    <p>Possible Answers:
7560    </p>
7561    <p>
7562                            </p>
7563    <blockquote class="text">
7564    <p>A comma separated list of all instrument directories
7565                                (encapsulated into apostrophes) in the specified directory.
7566    </p>
7567    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7568                                    </p>
7569    <blockquote class="text">
7570    <p>if the given directory does not exist.
7571    </p>
7572    </blockquote>
7573                                
7574    
7575    </blockquote><p>
7576                        
7577    </p>
7578    <p>Example:
7579    </p>
7580    <p>
7581                            </p>
7582    <blockquote class="text">
7583    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7584    </p>
7585    <p>S: "'Piano Collection','Percussion Collection'"
7586    </p>
7587    </blockquote><p>
7588                        
7589    </p>
7590    <p>
7591                            </p>
7592    <blockquote class="text">
7593    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7594    </p>
7595    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7596    </p>
7597    </blockquote><p>
7598                        
7599    </p>
7600    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7601    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7602    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7603    Getting instrument directory information</h3>
7604    
7605    <p>The front-end can ask for the current settings of an
7606                        instrument directory by sending the following command:
7607    </p>
7608    <p>
7609                            </p>
7610    <blockquote class="text">
7611    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7612    </p>
7613    </blockquote><p>
7614                        
7615    </p>
7616    <p>Where &lt;dir&gt; should be replaced by the absolute path
7617                        name of the directory the front-end is interested in.
7618    </p>
7619    <p>Possible Answers:
7620    </p>
7621    <p>
7622                            </p>
7623    <blockquote class="text">
7624    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7625                                Each answer line begins with the settings category name
7626                                followed by a colon and then a space character &lt;SP&gt; and finally
7627                                the info character string to that setting category. At the
7628                                moment the following categories are defined:
7629    </p>
7630    <p>
7631                                    </p>
7632    <blockquote class="text">
7633    <p>DESCRIPTION -
7634                                            </p>
7635    <blockquote class="text">
7636    <p>A brief description of the directory content.
7637                                                Note that the character string may contain
7638                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7639    </p>
7640    </blockquote>
7641                                        
7642    
7643    <p>CREATED -
7644                                            </p>
7645    <blockquote class="text">
7646    <p>The creation date and time of the directory,
7647                                                represented in "YYYY-MM-DD HH:MM:SS" format
7648    </p>
7649    </blockquote>
7650                                        
7651    
7652    <p>MODIFIED -
7653                                            </p>
7654    <blockquote class="text">
7655    <p>The date and time of the last modification of the
7656                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7657    </p>
7658    </blockquote>
7659                                        
7660    
7661    </blockquote>
7662                                
7663    
7664    </blockquote><p>
7665                        
7666    </p>
7667    <p>The mentioned fields above don't have to be in particular order.
7668    </p>
7669    <p>Example:
7670    </p>
7671    <p>
7672                            </p>
7673    <blockquote class="text">
7674    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7675    </p>
7676    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7677    </p>
7678    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7679    </p>
7680    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7681    </p>
7682    <p>&nbsp;&nbsp;&nbsp;"."
7683    </p>
7684    </blockquote><p>
7685                        
7686    </p>
7687    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7688    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7689    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7690    Renaming an instrument directory</h3>
7691    
7692    <p>The front-end can alter the name of a specific
7693                        instrument directory by sending the following command:
7694    </p>
7695    <p>
7696                            </p>
7697    <blockquote class="text">
7698    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7699    </p>
7700    </blockquote><p>
7701                        
7702    </p>
7703    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7704                        &lt;name&gt; is the new name for that directory.
7705    </p>
7706    <p>Possible Answers:
7707    </p>
7708    <p>
7709                            </p>
7710    <blockquote class="text">
7711    <p>"OK" -
7712                                    </p>
7713    <blockquote class="text">
7714    <p>on success
7715    </p>
7716    </blockquote>
7717                                
7718    
7719    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7720                                    </p>
7721    <blockquote class="text">
7722    <p>in case the given directory does not exists,
7723                                        or if a directory with name equal to the new
7724                                        name already exists.
7725    </p>
7726    </blockquote>
7727                                
7728    
7729    </blockquote><p>
7730                        
7731    </p>
7732    <p>Example:
7733    </p>
7734    <p>
7735                            </p>
7736    <blockquote class="text">
7737    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7738    </p>
7739    <p>S: "OK"
7740    </p>
7741    </blockquote><p>
7742                        
7743    </p>
7744    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7745    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7746    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7747    Moving an instrument directory</h3>
7748    
7749    <p>The front-end can move a specific
7750                        instrument directory by sending the following command:
7751    </p>
7752    <p>
7753                            </p>
7754    <blockquote class="text">
7755    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7756    </p>
7757    </blockquote><p>
7758                        
7759    </p>
7760    <p>Where &lt;dir&gt; is the absolute path name of the directory
7761                        to move and &lt;dst&gt; is the location where the directory will
7762                        be moved to.
7763    </p>
7764    <p>Possible Answers:
7765    </p>
7766    <p>
7767                            </p>
7768    <blockquote class="text">
7769    <p>"OK" -
7770                                    </p>
7771    <blockquote class="text">
7772    <p>on success
7773    </p>
7774    </blockquote>
7775                                
7776    
7777    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7778                                    </p>
7779    <blockquote class="text">
7780    <p>in case a given directory does not exists,
7781                                        or if a directory with name equal to the name
7782                                        of the specified directory already exists in
7783                                        the destination directory. Error is also thrown
7784                                        when trying to move a directory to a subdirectory
7785                                        of itself.
7786    </p>
7787    </blockquote>
7788                                
7789    
7790    </blockquote><p>
7791                        
7792    </p>
7793    <p>Example:
7794    </p>
7795    <p>
7796                            </p>
7797    <blockquote class="text">
7798    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7799    </p>
7800    <p>S: "OK"
7801    </p>
7802    </blockquote><p>
7803                        
7804    </p>
7805    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7806    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7807    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7808    Copying instrument directories</h3>
7809    
7810    <p>The front-end can copy a specific
7811                        instrument directory by sending the following command:
7812    </p>
7813    <p>
7814                            </p>
7815    <blockquote class="text">
7816    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7817    </p>
7818    </blockquote><p>
7819                        
7820    </p>
7821    <p>Where &lt;dir&gt; is the absolute path name of the directory
7822                        to copy and &lt;dst&gt; is the location where the directory will
7823                        be copied to.
7824    </p>
7825    <p>Possible Answers:
7826    </p>
7827    <p>
7828                            </p>
7829    <blockquote class="text">
7830    <p>"OK" -
7831                                    </p>
7832    <blockquote class="text">
7833    <p>on success
7834    </p>
7835    </blockquote>
7836                                
7837    
7838    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7839                                    </p>
7840    <blockquote class="text">
7841    <p>in case a given directory does not exists,
7842                                        or if a directory with name equal to the name
7843                                        of the specified directory already exists in
7844                                        the destination directory. Error is also thrown
7845                                        when trying to copy a directory to a subdirectory
7846                                        of itself.
7847    </p>
7848    </blockquote>
7849                                
7850    
7851    </blockquote><p>
7852                        
7853    </p>
7854    <p>Example:
7855    </p>
7856    <p>
7857                            </p>
7858    <blockquote class="text">
7859    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7860    </p>
7861    <p>S: "OK"
7862    </p>
7863    </blockquote><p>
7864                        
7865    </p>
7866    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7867    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7868    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7869    Changing the description of directory</h3>
7870    
7871    <p>The front-end can alter the description of a specific
7872                        instrument directory by sending the following command:
7873    </p>
7874    <p>
7875                            </p>
7876    <blockquote class="text">
7877    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7878    </p>
7879    </blockquote><p>
7880                        
7881    </p>
7882    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7883                        &lt;desc&gt; is the new description for the directory
7884                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7885                        "<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>").
7886    </p>
7887    <p>Possible Answers:
7888    </p>
7889    <p>
7890                            </p>
7891    <blockquote class="text">
7892    <p>"OK" -
7893                                    </p>
7894    <blockquote class="text">
7895    <p>on success
7896    </p>
7897    </blockquote>
7898                                
7899    
7900    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7901                                    </p>
7902    <blockquote class="text">
7903    <p>in case the given directory does not exists.
7904    </p>
7905    </blockquote>
7906                                
7907    
7908    </blockquote><p>
7909                        
7910    </p>
7911    <p>Example:
7912    </p>
7913    <p>
7914                            </p>
7915    <blockquote class="text">
7916    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7917    </p>
7918    <p>S: "OK"
7919    </p>
7920    </blockquote><p>
7921                        
7922    </p>
7923    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7924    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7925    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7926    Finding directories</h3>
7927    
7928    <p>The front-end can search for directories
7929                        in specific directory by sending the following command:
7930    </p>
7931    <p>
7932                            </p>
7933    <blockquote class="text">
7934    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7935    </p>
7936    </blockquote><p>
7937                        
7938    </p>
7939    <p>Where &lt;dir&gt; should be replaced by the absolute path
7940                        name of the directory to search in. If NON_RECURSIVE is specified, the
7941                        directories located in subdirectories of the specified directory will not
7942                        be searched. &lt;criteria-list&gt; is a list of search criterias
7943                        in form of "key1=val1 key2=val2 ...". The following criterias are
7944                        allowed:
7945    </p>
7946    <p>
7947                          
7948    <p>NAME='&lt;search-string&gt;'
7949                              </p>
7950    <blockquote class="text">
7951    <p>Restricts the search to directories, which names
7952                                  satisfy the supplied search string (encapsulated into apostrophes,
7953                                  supporting escape sequences as described in chapter
7954                                  "<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>").
7955    </p>
7956    </blockquote><p>
7957                          
7958    </p>
7959    
7960                          
7961    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7962                              </p>
7963    <blockquote class="text">
7964    <p>Restricts the search to directories, which creation
7965                                  date satisfies the specified period, where &lt;date-after&gt;
7966                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7967                                  If &lt;date-after&gt; is omitted the search is restricted to
7968                                  directories created before &lt;date-before&gt;. If
7969                                  &lt;date-before&gt; is omitted, the search is restricted
7970                                  to directories created after &lt;date-after&gt;.
7971    </p>
7972    </blockquote><p>
7973                          
7974    </p>
7975    
7976                          
7977    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7978                              </p>
7979    <blockquote class="text">
7980    <p>Restricts the search to directories, which
7981                                  date of last modification satisfies the specified period, where
7982                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7983                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7984                                  directories, which are last modified before &lt;date-before&gt;. If
7985                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7986                                  which are last modified after &lt;date-after&gt;.
7987    </p>
7988    </blockquote><p>
7989                          
7990    </p>
7991    
7992                          
7993    <p>DESCRIPTION='&lt;search-string&gt;'
7994                              </p>
7995    <blockquote class="text">
7996    <p>Restricts the search to directories with description
7997                                  that satisfies the supplied search string
7998                                  (encapsulated into apostrophes, supporting escape
7999                                  sequences as described in chapter
8000                                  "<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>").
8001    </p>
8002    </blockquote><p>
8003                          
8004    </p>
8005                        
8006    
8007    <p>Where &lt;search-string&gt; is either a regular expression, or a
8008                        word list separated with spaces for OR search and with '+' for AND search.
8009    </p>
8010    <p>Possible Answers:
8011    </p>
8012    <p>
8013                            </p>
8014    <blockquote class="text">
8015    <p>A comma separated list with the absolute path names (encapsulated into
8016                                apostrophes) of all directories in the specified directory that satisfy
8017                                the supplied search criterias.
8018    </p>
8019    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8020                                    </p>
8021    <blockquote class="text">
8022    <p>if the given directory does not exist.
8023    </p>
8024    </blockquote>
8025                                
8026    
8027    </blockquote><p>
8028                        
8029    </p>
8030    <p>Example:
8031    </p>
8032    <p>
8033                            </p>
8034    <blockquote class="text">
8035    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8036    </p>
8037    <p>S: "'/Piano Collection'"
8038    </p>
8039    </blockquote><p>
8040                        
8041    </p>
8042    <p>
8043                            </p>
8044    <blockquote class="text">
8045    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8046    </p>
8047    <p>S: "'/Piano Collection','/Percussions'"
8048    </p>
8049    </blockquote><p>
8050                        
8051    </p>
8052    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8053    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8054    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8055    Adding instruments to the instruments database</h3>
8056    
8057    <p>The front-end can add one or more instruments
8058                        to the instruments database by sending the following command:
8059    </p>
8060    <p>
8061                            </p>
8062    <blockquote class="text">
8063    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8064    </p>
8065    </blockquote><p>
8066                        
8067    </p>
8068    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8069                        (encapsulated into apostrophes) in the instruments database in which
8070                        only the new instruments (that are not already in the database) will
8071                        be added, &lt;file_path&gt; is the absolute path name of a file or
8072                        directory in the file system (encapsulated into apostrophes). In case
8073                        an instrument file is supplied, only the instruments in the specified
8074                        file will be added to the instruments database. If the optional
8075                        &lt;instr_index&gt; (the index of the instrument within the given file)
8076                        is supplied too, then only the specified instrument will be added.
8077                        In case a directory is supplied, the instruments in that directory
8078                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8079                        when a directory is provided as &lt;file_path&gt; and specifies how the
8080                        scanning will be done and has exactly the following possibilities:
8081    </p>
8082    <p>
8083                            </p>
8084    <blockquote class="text">
8085    <p>"RECURSIVE" -
8086                                    </p>
8087    <blockquote class="text">
8088    <p>All instruments will be processed, including those
8089                                        in the subdirectories, and the respective subdirectory
8090                                        tree structure will be recreated in the instruments
8091                                        database
8092    </p>
8093    </blockquote>
8094                                
8095    
8096    <p>"NON_RECURSIVE" -
8097                                    </p>
8098    <blockquote class="text">
8099    <p>Only the instruments in the specified directory
8100                                        will be added, the instruments in the subdirectories
8101                                        will not be processed.
8102    </p>
8103    </blockquote>
8104                                
8105    
8106    <p>"FLAT" -
8107                                    </p>
8108    <blockquote class="text">
8109    <p>All instruments will be processed, including those
8110                                        in the subdirectories, but the respective subdirectory
8111                                        structure will not be recreated in the instruments
8112                                        database. All instruments will be added directly in
8113                                        the specified database directory.
8114    </p>
8115    </blockquote>
8116                                
8117    
8118    </blockquote><p>
8119                        
8120    </p>
8121    <p>The difference between regular and NON_MODAL versions of the command
8122                        is that the regular command returns when the scanning is finished
8123                        while NON_MODAL version returns immediately and a background process is launched.
8124                        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>
8125                        command can be used to monitor the scanning progress.
8126    </p>
8127    <p>Possible Answers:
8128    </p>
8129    <p>
8130                            </p>
8131    <blockquote class="text">
8132    <p>"OK" -
8133                                    </p>
8134    <blockquote class="text">
8135    <p>on success when NON_MODAL is not supplied
8136    </p>
8137    </blockquote>
8138                                
8139    
8140    <p>"OK[&lt;job-id&gt;]" -
8141                                    </p>
8142    <blockquote class="text">
8143    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8144                                        is a numerical ID used to obtain status information about the job progress.
8145                                        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>
8146                                        
8147    </p>
8148    </blockquote>
8149                                
8150    
8151    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8152                                    </p>
8153    <blockquote class="text">
8154    <p>if an invalid path is specified.
8155    </p>
8156    </blockquote>
8157                                
8158    
8159    </blockquote><p>
8160                        
8161    </p>
8162    <p>Examples:
8163    </p>
8164    <p>
8165                            </p>
8166    <blockquote class="text">
8167    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8168    </p>
8169    <p>S: "OK"
8170    </p>
8171    </blockquote><p>
8172                        
8173    </p>
8174    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8175    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8176    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8177    Removing an instrument</h3>
8178    
8179    <p>The front-end can remove a particular instrument
8180                        from the instruments database by sending the following command:
8181    </p>
8182    <p>
8183                            </p>
8184    <blockquote class="text">
8185    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8186    </p>
8187    </blockquote><p>
8188                        
8189    </p>
8190    <p>Where &lt;instr_path&gt; is the absolute path name
8191                        (in the instruments database) of the instrument to remove.
8192    </p>
8193    <p>Possible Answers:
8194    </p>
8195    <p>
8196                            </p>
8197    <blockquote class="text">
8198    <p>"OK" -
8199                                    </p>
8200    <blockquote class="text">
8201    <p>if the instrument is removed successfully
8202    </p>
8203    </blockquote>
8204                                
8205    
8206    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8207                                    </p>
8208    <blockquote class="text">
8209    <p>if the given path does not exist or
8210                                        is a directory.
8211    </p>
8212    </blockquote>
8213                                
8214    
8215    </blockquote><p>
8216                        
8217    </p>
8218    <p>Examples:
8219    </p>
8220    <p>
8221                            </p>
8222    <blockquote class="text">
8223    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8224    </p>
8225    <p>S: "OK"
8226    </p>
8227    </blockquote><p>
8228                        
8229    </p>
8230    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8231    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8232    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8233    Getting amount of instruments</h3>
8234    
8235    <p>The front-end can retrieve the current amount of
8236                        instruments in a specific directory by sending the following command:
8237    </p>
8238    <p>
8239                            </p>
8240    <blockquote class="text">
8241    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8242    </p>
8243    </blockquote><p>
8244                        
8245    </p>
8246    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8247                        of the directory. If RECURSIVE is specified, the number of all
8248                        instruments, including those located in subdirectories of the
8249                        specified directory, will be returned.
8250    </p>
8251    <p>Possible Answers:
8252    </p>
8253    <p>
8254                            </p>
8255    <blockquote class="text">
8256    <p>The current number of instruments
8257                                in the specified directory.
8258    </p>
8259    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8260                                    </p>
8261    <blockquote class="text">
8262    <p>if the given directory does not exist.
8263    </p>
8264    </blockquote>
8265                                
8266    
8267    </blockquote><p>
8268                        
8269    </p>
8270    <p>Example:
8271    </p>
8272    <p>
8273                            </p>
8274    <blockquote class="text">
8275    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8276    </p>
8277    <p>S: "2"
8278    </p>
8279    </blockquote><p>
8280                        
8281    </p>
8282    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8283    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8284    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8285    Listing all instruments in specific directory</h3>
8286    
8287    <p>The front-end can retrieve the current list of instruments
8288                        in specific directory by sending the following command:
8289    </p>
8290    <p>
8291                            </p>
8292    <blockquote class="text">
8293    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8294    </p>
8295    </blockquote><p>
8296                        
8297    </p>
8298    <p>Where &lt;dir&gt; should be replaced by the absolute path
8299                        name of the directory. If RECURSIVE is specified, the absolute path
8300                        names of all instruments, including those located in subdirectories
8301                        of the specified directory, will be returned.
8302    </p>
8303    <p>Possible Answers:
8304    </p>
8305    <p>
8306                            </p>
8307    <blockquote class="text">
8308    <p>A comma separated list of all instruments
8309                                (encapsulated into apostrophes) in the specified directory.
8310    </p>
8311    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8312                                    </p>
8313    <blockquote class="text">
8314    <p>if the given directory does not exist.
8315    </p>
8316    </blockquote>
8317                                
8318    
8319    </blockquote><p>
8320                        
8321    </p>
8322    <p>Example:
8323    </p>
8324    <p>
8325                            </p>
8326    <blockquote class="text">
8327    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8328    </p>
8329    <p>S: "'Bosendorfer 290','Steinway D'"
8330    </p>
8331    </blockquote><p>
8332                        
8333    </p>
8334    <p>
8335                            </p>
8336    <blockquote class="text">
8337    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8338    </p>
8339    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8340    </p>
8341    </blockquote><p>
8342                        
8343    </p>
8344    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8345    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8346    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8347    Getting instrument information</h3>
8348    
8349    <p>The front-end can ask for the current settings of an
8350                        instrument by sending the following command:
8351    </p>
8352    <p>
8353                            </p>
8354    <blockquote class="text">
8355    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8356    </p>
8357    </blockquote><p>
8358                        
8359    </p>
8360    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8361                        name of the instrument the front-end is interested in.
8362    </p>
8363    <p>Possible Answers:
8364    </p>
8365    <p>
8366                            </p>
8367    <blockquote class="text">
8368    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8369                                Each answer line begins with the settings category name
8370                                followed by a colon and then a space character &lt;SP&gt; and finally
8371                                the info character string to that setting category. At the
8372                                moment the following categories are defined:
8373    </p>
8374    <p>
8375                                    </p>
8376    <blockquote class="text">
8377    <p>INSTRUMENT_FILE -
8378                                            </p>
8379    <blockquote class="text">
8380    <p>File name of the instrument.
8381                                                Note that the character string may contain
8382                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8383    </p>
8384    </blockquote>
8385                                        
8386    
8387    <p>INSTRUMENT_NR -
8388                                            </p>
8389    <blockquote class="text">
8390    <p>Index of the instrument within the file.
8391    </p>
8392    </blockquote>
8393                                        
8394    
8395    <p>FORMAT_FAMILY -
8396                                            </p>
8397    <blockquote class="text">
8398    <p>The format family of the instrument.
8399    </p>
8400    </blockquote>
8401                                        
8402    
8403    <p>FORMAT_VERSION -
8404                                            </p>
8405    <blockquote class="text">
8406    <p>The format version of the instrument.
8407    </p>
8408    </blockquote>
8409                                        
8410    
8411    <p>SIZE -
8412                                            </p>
8413    <blockquote class="text">
8414    <p>The size of the instrument in bytes.
8415    </p>
8416    </blockquote>
8417                                        
8418    
8419    <p>CREATED -
8420                                            </p>
8421    <blockquote class="text">
8422    <p>The date and time when the instrument is added
8423                                                in the instruments database, represented in
8424                                               "YYYY-MM-DD HH:MM:SS" format
8425    </p>
8426    </blockquote>
8427                                        
8428    
8429    <p>MODIFIED -
8430                                            </p>
8431    <blockquote class="text">
8432    <p>The date and time of the last modification of the
8433                                                instrument's database settings, represented in
8434                                                "YYYY-MM-DD HH:MM:SS" format
8435    </p>
8436    </blockquote>
8437                                        
8438    
8439    <p>DESCRIPTION -
8440                                            </p>
8441    <blockquote class="text">
8442    <p>A brief description of the instrument.
8443                                                Note that the character string may contain
8444                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8445    </p>
8446    </blockquote>
8447                                        
8448    
8449    <p>IS_DRUM -
8450                                            </p>
8451    <blockquote class="text">
8452    <p>either true or false, determines whether the
8453                                                instrument is a drumkit or a chromatic instrument
8454    </p>
8455    </blockquote>
8456                                        
8457    
8458    <p>PRODUCT -
8459                                            </p>
8460    <blockquote class="text">
8461    <p>The product title of the instrument.
8462                                                Note that the character string may contain
8463                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8464    </p>
8465    </blockquote>
8466                                        
8467    
8468    <p>ARTISTS -
8469                                            </p>
8470    <blockquote class="text">
8471    <p>Lists the artist names.
8472                                                Note that the character string may contain
8473                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8474    </p>
8475    </blockquote>
8476                                        
8477    
8478    <p>KEYWORDS -
8479                                            </p>
8480    <blockquote class="text">
8481    <p>Provides a list of keywords that refer to the instrument.
8482                                                Keywords are separated with semicolon and blank.
8483                                                Note that the character string may contain
8484                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8485    </p>
8486    </blockquote>
8487                                        
8488    
8489    </blockquote>
8490                                
8491    
8492    </blockquote><p>
8493                        
8494    </p>
8495    <p>The mentioned fields above don't have to be in particular order.
8496    </p>
8497    <p>Example:
8498    </p>
8499    <p>
8500                            </p>
8501    <blockquote class="text">
8502    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8503    </p>
8504    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8505    </p>
8506    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8507    </p>
8508    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8509    </p>
8510    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8511    </p>
8512    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8513    </p>
8514    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8515    </p>
8516    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8517    </p>
8518    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8519    </p>
8520    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8521    </p>
8522    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8523    </p>
8524    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8525    </p>
8526    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8527    </p>
8528    <p>&nbsp;&nbsp;&nbsp;"."
8529    </p>
8530    </blockquote><p>
8531                        
8532    </p>
8533    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8534    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8535    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8536    Renaming an instrument</h3>
8537    
8538    <p>The front-end can alter the name of a specific
8539                        instrument by sending the following command:
8540    </p>
8541    <p>
8542                            </p>
8543    <blockquote class="text">
8544    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8545    </p>
8546    </blockquote><p>
8547                        
8548    </p>
8549    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8550                        &lt;name&gt; is the new name for that instrument.
8551    </p>
8552    <p>Possible Answers:
8553    </p>
8554    <p>
8555                            </p>
8556    <blockquote class="text">
8557    <p>"OK" -
8558                                    </p>
8559    <blockquote class="text">
8560    <p>on success
8561    </p>
8562    </blockquote>
8563                                
8564    
8565    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8566                                    </p>
8567    <blockquote class="text">
8568    <p>in case the given instrument does not exists,
8569                                        or if an instrument with name equal to the new
8570                                        name already exists.
8571    </p>
8572    </blockquote>
8573                                
8574    
8575    </blockquote><p>
8576                        
8577    </p>
8578    <p>Example:
8579    </p>
8580    <p>
8581                            </p>
8582    <blockquote class="text">
8583    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8584    </p>
8585    <p>S: "OK"
8586    </p>
8587    </blockquote><p>
8588                        
8589    </p>
8590    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8591    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8592    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8593    Moving an instrument</h3>
8594    
8595    <p>The front-end can move a specific instrument to another directory by
8596                        sending the following command:
8597    </p>
8598    <p>
8599                            </p>
8600    <blockquote class="text">
8601    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8602    </p>
8603    </blockquote><p>
8604                        
8605    </p>
8606    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8607                        to move and &lt;dst&gt; is the directory where the instrument will
8608                        be moved to.
8609    </p>
8610    <p>Possible Answers:
8611    </p>
8612    <p>
8613                            </p>
8614    <blockquote class="text">
8615    <p>"OK" -
8616                                    </p>
8617    <blockquote class="text">
8618    <p>on success
8619    </p>
8620    </blockquote>
8621                                
8622    
8623    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8624                                    </p>
8625    <blockquote class="text">
8626    <p>in case the given instrument does not exists,
8627                                        or if an instrument with name equal to the name of the
8628                                        specified instrument already exists in the destination
8629                                        directory.
8630    </p>
8631    </blockquote>
8632                                
8633    
8634    </blockquote><p>
8635                        
8636    </p>
8637    <p>Example:
8638    </p>
8639    <p>
8640                            </p>
8641    <blockquote class="text">
8642    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8643    </p>
8644    <p>S: "OK"
8645    </p>
8646    </blockquote><p>
8647                        
8648    </p>
8649    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8650    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8651    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8652    Copying instruments</h3>
8653    
8654    <p>The front-end can copy a specific instrument to another directory by
8655                        sending the following command:
8656    </p>
8657    <p>
8658                            </p>
8659    <blockquote class="text">
8660    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8661    </p>
8662    </blockquote><p>
8663                        
8664    </p>
8665    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8666                        to copy and &lt;dst&gt; is the directory where the instrument will
8667                        be copied to.
8668    </p>
8669    <p>Possible Answers:
8670    </p>
8671    <p>
8672                            </p>
8673    <blockquote class="text">
8674    <p>"OK" -
8675                                    </p>
8676    <blockquote class="text">
8677    <p>on success
8678    </p>
8679    </blockquote>
8680                                
8681    
8682    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8683                                    </p>
8684    <blockquote class="text">
8685    <p>in case the given instrument does not exists,
8686                                        or if an instrument with name equal to the name of the
8687                                        specified instrument already exists in the destination
8688                                        directory.
8689    </p>
8690    </blockquote>
8691                                
8692    
8693    </blockquote><p>
8694                        
8695    </p>
8696    <p>Example:
8697    </p>
8698    <p>
8699                            </p>
8700    <blockquote class="text">
8701    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8702    </p>
8703    <p>S: "OK"
8704    </p>
8705    </blockquote><p>
8706                        
8707    </p>
8708    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8709    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8710    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8711    Changing the description of instrument</h3>
8712    
8713    <p>The front-end can alter the description of a specific
8714                        instrument by sending the following command:
8715    </p>
8716    <p>
8717                            </p>
8718    <blockquote class="text">
8719    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8720    </p>
8721    </blockquote><p>
8722                        
8723    </p>
8724    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8725                        &lt;desc&gt; is the new description for the instrument
8726                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8727                        "<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>").
8728    </p>
8729    <p>Possible Answers:
8730    </p>
8731    <p>
8732                            </p>
8733    <blockquote class="text">
8734    <p>"OK" -
8735                                    </p>
8736    <blockquote class="text">
8737    <p>on success
8738    </p>
8739    </blockquote>
8740                                
8741    
8742    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8743                                    </p>
8744    <blockquote class="text">
8745    <p>in case the given instrument does not exists.
8746    </p>
8747    </blockquote>
8748                                
8749    
8750    </blockquote><p>
8751                        
8752    </p>
8753    <p>Example:
8754    </p>
8755    <p>
8756                            </p>
8757    <blockquote class="text">
8758    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8759    </p>
8760    <p>S: "OK"
8761    </p>
8762    </blockquote><p>
8763                        
8764    </p>
8765    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8766    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8767    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8768    Finding instruments</h3>
8769    
8770    <p>The front-end can search for instruments
8771                        in specific directory by sending the following command:
8772    </p>
8773    <p>
8774                            </p>
8775    <blockquote class="text">
8776    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8777    </p>
8778    </blockquote><p>
8779                        
8780    </p>
8781    <p>Where &lt;dir&gt; should be replaced by the absolute path
8782                        name of the directory to search in. If NON_RECURSIVE is specified, the
8783                        directories located in subdirectories of the specified directory will not
8784                        be searched. &lt;criteria-list&gt; is a list of search criterias
8785                        in form of "key1=val1 key2=val2 ...". The following criterias are
8786                        allowed:
8787    </p>
8788    <p>
8789                          
8790    <p>NAME='&lt;search-string&gt;'
8791                              </p>
8792    <blockquote class="text">
8793    <p>Restricts the search to instruments, which names
8794                                  satisfy the supplied search string (encapsulated into apostrophes,
8795                                  supporting escape sequences as described in chapter
8796                                  "<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>").
8797    </p>
8798    </blockquote><p>
8799                          
8800    </p>
8801    
8802                          
8803    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8804                              </p>
8805    <blockquote class="text">
8806    <p>Restricts the search to instruments, which
8807                                  size is in the specified range. If &lt;min&gt; is omitted,
8808                                  the search results are restricted to instruments with size less then
8809                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8810                                  search is restricted to instruments with size greater then
8811                                  or equal to &lt;min&gt;.
8812    </p>
8813    </blockquote><p>
8814                          
8815    </p>
8816    
8817                          
8818    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8819                              </p>
8820    <blockquote class="text">
8821    <p>Restricts the search to instruments, which creation
8822                                  date satisfies the specified period, where &lt;date-after&gt;
8823                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8824                                  If &lt;date-after&gt; is omitted the search is restricted to
8825                                  instruments created before &lt;date-before&gt;. If
8826                                  &lt;date-before&gt; is omitted, the search is restricted
8827                                  to instruments created after &lt;date-after&gt;.
8828    </p>
8829    </blockquote><p>
8830                          
8831    </p>
8832    
8833                          
8834    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8835                              </p>
8836    <blockquote class="text">
8837    <p>Restricts the search to instruments, which
8838                                  date of last modification satisfies the specified period, where
8839                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8840                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8841                                  instruments, which are last modified before &lt;date-before&gt;. If
8842                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8843                                  which are last modified after &lt;date-after&gt;.
8844    </p>
8845    </blockquote><p>
8846                          
8847    </p>
8848    
8849                          
8850    <p>DESCRIPTION='&lt;search-string&gt;'
8851                              </p>
8852    <blockquote class="text">
8853    <p>Restricts the search to instruments with description
8854                                  that satisfies the supplied search string (encapsulated into apostrophes,
8855                                  supporting escape sequences as described in chapter
8856                                  "<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>").
8857    </p>
8858    </blockquote><p>
8859                          
8860    </p>
8861    
8862                          
8863    <p>PRODUCT='&lt;search-string&gt;'
8864                              </p>
8865    <blockquote class="text">
8866    <p>Restricts the search to instruments with product info
8867                                  that satisfies the supplied search string (encapsulated into apostrophes,
8868                                  supporting escape sequences as described in chapter
8869                                  "<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>").
8870    </p>
8871    </blockquote><p>
8872                          
8873    </p>
8874    
8875                          
8876    <p>ARTISTS='&lt;search-string&gt;'
8877                              </p>
8878    <blockquote class="text">
8879    <p>Restricts the search to instruments with artists info
8880                                  that satisfies the supplied search string (encapsulated into apostrophes,
8881                                  supporting escape sequences as described in chapter
8882                                  "<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>").
8883    </p>
8884    </blockquote><p>
8885                          
8886    </p>
8887    
8888                          
8889    <p>KEYWORDS='&lt;search-string&gt;'
8890                              </p>
8891    <blockquote class="text">
8892    <p>Restricts the search to instruments with keyword list
8893                                  that satisfies the supplied search string (encapsulated into apostrophes,
8894                                  supporting escape sequences as described in chapter
8895                                  "<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>").
8896    </p>
8897    </blockquote><p>
8898                          
8899    </p>
8900    
8901                          
8902    <p>IS_DRUM=true | false
8903                              </p>
8904    <blockquote class="text">
8905    <p>Either true or false. Restricts the search to
8906                                  drum kits or chromatic instruments.
8907    </p>
8908    </blockquote><p>
8909                          
8910    </p>
8911    
8912                          
8913    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8914                              </p>
8915    <blockquote class="text">
8916    <p>Restricts the search to instruments of the supplied format families,
8917                                  where &lt;format-list&gt; is a comma separated list of format families.
8918    </p>
8919    </blockquote><p>
8920                          
8921    </p>
8922                        
8923    
8924    <p>Where &lt;search-string&gt; is either a regular expression, or a
8925                        word list separated with spaces for OR search and with '+' for AND search.
8926    </p>
8927    <p>Possible Answers:
8928    </p>
8929    <p>
8930                            </p>
8931    <blockquote class="text">
8932    <p>A comma separated list with the absolute path names (encapsulated into
8933                                apostrophes) of all instruments in the specified directory that satisfy
8934                                the supplied search criterias.
8935    </p>
8936    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8937                                    </p>
8938    <blockquote class="text">
8939    <p>if the given directory does not exist.
8940    </p>
8941    </blockquote>
8942                                
8943    
8944    </blockquote><p>
8945                        
8946    </p>
8947    <p>Example:
8948    </p>
8949    <p>
8950                            </p>
8951    <blockquote class="text">
8952    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8953    </p>
8954    <p>S: "'/Piano Collection/Bosendorfer 290'"
8955    </p>
8956    </blockquote><p>
8957                        
8958    </p>
8959    <p>
8960                            </p>
8961    <blockquote class="text">
8962    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8963    </p>
8964    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8965    </p>
8966    </blockquote><p>
8967                        
8968    </p>
8969    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8970    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8971    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8972    Getting job status information</h3>
8973    
8974    <p>The front-end can ask for the current status of a
8975                        particular database instruments job by sending the following command:
8976    </p>
8977    <p>
8978                            </p>
8979    <blockquote class="text">
8980    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8981    </p>
8982    </blockquote><p>
8983                        
8984    </p>
8985    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8986                        of the job the front-end is interested in.
8987    </p>
8988    <p>Possible Answers:
8989    </p>
8990    <p>
8991                            </p>
8992    <blockquote class="text">
8993    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8994                                Each answer line begins with the settings category name
8995                                followed by a colon and then a space character &lt;SP&gt; and finally
8996                                the info character string to that setting category. At the
8997                                moment the following categories are defined:
8998    </p>
8999    <p>
9000                                    </p>
9001    <blockquote class="text">
9002    <p>FILES_TOTAL -
9003                                            </p>
9004    <blockquote class="text">
9005    <p>The total number of files scheduled for scanning
9006    </p>
9007    </blockquote>
9008                                        
9009    
9010    <p>FILES_SCANNED -
9011                                            </p>
9012    <blockquote class="text">
9013    <p>The current number of scanned files
9014    </p>
9015    </blockquote>
9016                                        
9017    
9018    <p>SCANNING -
9019                                            </p>
9020    <blockquote class="text">
9021    <p>The absolute path name of the file which is currently
9022                                                being scanned
9023    </p>
9024    </blockquote>
9025                                        
9026    
9027    <p>STATUS -
9028                                            </p>
9029    <blockquote class="text">
9030    <p>An integer value between 0 and 100 indicating the
9031                                                scanning progress percentage of the file which is
9032                                                currently being scanned
9033    </p>
9034    </blockquote>
9035                                        
9036    
9037    </blockquote>
9038                                
9039    
9040    </blockquote><p>
9041                        
9042    </p>
9043    <p>The mentioned fields above don't have to be in particular order.
9044    </p>
9045    <p>Example:
9046    </p>
9047    <p>
9048                            </p>
9049    <blockquote class="text">
9050    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9051    </p>
9052    <p>S: "FILES_TOTAL: 12"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9057    </p>
9058    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9059    </p>
9060    <p>&nbsp;&nbsp;&nbsp;"."
9061    </p>
9062    </blockquote><p>
9063                        
9064    </p>
9065    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9066    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9067    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9068    Formatting the instruments database</h3>
9069    
9070    <p>The front-end can remove all instruments and directories and re-create
9071                        the instruments database structure (e.g., in case of a database corruption)
9072                        by sending the following command:
9073    </p>
9074    <p>
9075                            </p>
9076    <blockquote class="text">
9077    <p>FORMAT INSTRUMENTS_DB
9078    </p>
9079    </blockquote><p>
9080                        
9081    </p>
9082    <p>Possible Answers:
9083    </p>
9084    <p>
9085                            </p>
9086    <blockquote class="text">
9087    <p>"OK" -
9088                                    </p>
9089    <blockquote class="text">
9090    <p>on success
9091    </p>
9092    </blockquote>
9093                                
9094    
9095    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9096                                    </p>
9097    <blockquote class="text">
9098    <p>If the formatting of the instruments database
9099                                        failed.
9100    </p>
9101    </blockquote>
9102                                
9103    
9104    </blockquote><p>
9105                        
9106    </p>
9107    <a name="editing_instruments"></a><br /><hr />
9108    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9109    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9110    Editing Instruments</h3>
9111    
9112    <p>The sampler allows to edit instruments while playing with the
9113                    sampler by spawning an external (3rd party) instrument editor
9114                    application for a given instrument. The 3rd party instrument
9115                    editor applications have to place a respective plugin DLL file
9116                    into the sampler's plugins directory. The sampler will
9117                    automatically try to load all plugin DLLs in that directory on
9118                    startup and only on startup!
9119    </p>
9120    <p>At the moment there is only one command for this feature set,
9121                    but this will most probably change in future.
9122    </p>
9123    <a name="EDIT INSTRUMENT"></a><br /><hr />
9124    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9125    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9126    Opening an appropriate instrument editor application</h3>
9127    
9128    <p>The front-end can request to open an appropriate instrument
9129                        editor application by sending the following command:
9130    </p>
9131    <p>
9132                            </p>
9133    <blockquote class="text">
9134    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9135    </p>
9136    </blockquote><p>
9137                        
9138    </p>
9139    <p>Where &lt;sampler-channel&gt; should be replaced by the
9140                        number of the sampler channel as given by the
9141                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9142                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9143                        command.
9144    </p>
9145    <p>The sampler will try to ask all registered instrument
9146                        editors (or to be more specific: their sampler plugins)
9147                        whether they are capable to handle the instrument on the
9148                        given sampler channel. The sampler will simply use the first
9149                        instrument editor application which replied with a positive
9150                        answer and spawn that instrument editor application within
9151                        the sampler's process and provide that application access
9152                        to the instrument's data structures, so both applications
9153                        can share and access the same instruments data at the same
9154                        time, thus allowing to immediately hear changes with the
9155                        sampler made by the instrument editor.
9156    </p>
9157    <p>Note: consequently instrument editors are always spawned
9158                        locally on the same machine where the sampler is running
9159                        on!
9160    </p>
9161    <p>Possible Answers:
9162    </p>
9163    <p>
9164                            </p>
9165    <blockquote class="text">
9166    <p>"OK" -
9167                                    </p>
9168    <blockquote class="text">
9169    <p>when an appropriate instrument editor was
9170                                        launched
9171    </p>
9172    </blockquote>
9173                                
9174    
9175    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9176                                    </p>
9177    <blockquote class="text">
9178    <p>when an appropriate instrument editor was
9179                                        launched, but there are noteworthy issues
9180    </p>
9181    </blockquote>
9182                                
9183    
9184    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9185                                    </p>
9186    <blockquote class="text">
9187    <p>when an appropriate instrument editor
9188                                        could not be launched
9189    </p>
9190    </blockquote>
9191                                
9192    
9193    </blockquote><p>
9194                        
9195    </p>
9196    <p>Examples:
9197    </p>
9198    <p>
9199                            </p>
9200    <blockquote class="text">
9201    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9202    </p>
9203    <p>S: "OK"
9204    </p>
9205    </blockquote><p>
9206                        
9207    </p>
9208    <a name="file_management"></a><br /><hr />
9209    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9210    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9211    Managing Files</h3>
9212    
9213    <p>You can query detailed informations about files located
9214                    at the same system where the sampler instance is running on.
9215                    Using this command set allows to retrieve file informations
9216                    even remotely from another machine.
9217    </p>
9218    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9219    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9220    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9221    Retrieving amount of instruments of a file</h3>
9222    
9223    <p>The front-end can retrieve the amount of instruments
9224                        within a given instrument file by sending the
9225                        following command:
9226    </p>
9227    <p>
9228                            </p>
9229    <blockquote class="text">
9230    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9231    </p>
9232    </blockquote><p>
9233                        
9234    </p>
9235    <p>Where &lt;filename&gt; is the name of the instrument
9236                        file (encapsulated into apostrophes, supporting escape
9237                        sequences as described in chapter
9238                        "<a class='info' href='#character_set'>Character Set and Escape
9239                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9240    </p>
9241    <p>The sampler will try to ask all sampler engines,
9242                        whether they support the given file and ask the first
9243                        engine with a positive answer for the amount of
9244                        instruments.
9245    </p>
9246    <p>Possible Answers:
9247    </p>
9248    <p>
9249                            </p>
9250    <blockquote class="text">
9251    <p>On success, the sampler will answer by
9252                                   returning the amount of instruments.
9253                                
9254    </p>
9255    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9256                                    </p>
9257    <blockquote class="text">
9258    <p>if the file could not be handled
9259    </p>
9260    </blockquote>
9261                                
9262    
9263    </blockquote><p>
9264                        
9265    </p>
9266    <p>Examples:
9267    </p>
9268    <p>
9269                            </p>
9270    <blockquote class="text">
9271    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9272    </p>
9273    <p>S: "10"
9274    </p>
9275    </blockquote><p>
9276                        
9277    </p>
9278    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9279    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9280    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9281    Retrieving all instruments of a file</h3>
9282    
9283    <p>The front-end can retrieve a list of all instruments
9284                        within a given instrument file by sending the
9285                        following command:
9286    </p>
9287    <p>
9288                            </p>
9289    <blockquote class="text">
9290    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9291    </p>
9292    </blockquote><p>
9293                        
9294    </p>
9295    <p>Where &lt;filename&gt; is the name of the instrument
9296                        file (encapsulated into apostrophes, supporting escape
9297                        sequences as described in chapter
9298                        "<a class='info' href='#character_set'>Character Set and Escape
9299                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9300    </p>
9301    <p>The sampler will try to ask all sampler engines,
9302                        whether they support the given file and ask the first
9303                        engine with a positive answer for a list of IDs for the
9304                        instruments in the given file.
9305    </p>
9306    <p>Possible Answers:
9307    </p>
9308    <p>
9309                            </p>
9310    <blockquote class="text">
9311    <p>On success, the sampler will answer by
9312                                   returning a comma separated list of
9313                                   instrument IDs.
9314                                
9315    </p>
9316    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9317                                    </p>
9318    <blockquote class="text">
9319    <p>if the file could not be handled
9320    </p>
9321    </blockquote>
9322                                
9323    
9324    </blockquote><p>
9325                        
9326    </p>
9327    <p>Examples:
9328    </p>
9329    <p>
9330                            </p>
9331    <blockquote class="text">
9332    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9333    </p>
9334    <p>S: "0,1,2,3,4,5,6,7,8,9"
9335    </p>
9336    </blockquote><p>
9337                        
9338    </p>
9339    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9340    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9341    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9342    Retrieving informations about one instrument in a file</h3>
9343    
9344    <p>The front-end can retrieve detailed informations
9345                        about a specific instrument within a given instrument
9346                        file by sending the following command:
9347    </p>
9348    <p>
9349                            </p>
9350    <blockquote class="text">
9351    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9352                                &lt;instr-id&gt;
9353    </p>
9354    </blockquote><p>
9355                        
9356    </p>
9357    <p>Where &lt;filename&gt; is the name of the instrument
9358                        file (encapsulated into apostrophes, supporting escape
9359                        sequences as described in chapter
9360                        "<a class='info' href='#character_set'>Character Set and Escape
9361                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9362                        instrument ID as returned by the
9363                        <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.
9364    </p>
9365    <p>The sampler will try to ask all sampler engines,
9366                        whether they support the given file and ask the first
9367                        engine with a positive answer for informations about the
9368                        specific instrument in the given file.
9369    </p>
9370    <p>Possible Answers:
9371    </p>
9372    <p>
9373                            </p>
9374    <blockquote class="text">
9375    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9376                                Each answer line begins with the settings category name
9377                                followed by a colon and then a space character &lt;SP&gt; and finally
9378                                the info character string to that setting category. At the
9379                                moment the following categories are defined:
9380    </p>
9381    <p>
9382                                    </p>
9383    <blockquote class="text">
9384    <p>NAME -
9385                                            </p>
9386    <blockquote class="text">
9387    <p>name of the instrument as
9388                                                stored in the instrument file
9389    </p>
9390    </blockquote>
9391                                        
9392    
9393    <p>FORMAT_FAMILY -
9394                                            </p>
9395    <blockquote class="text">
9396    <p>name of the sampler format
9397                                                of the given instrument
9398    </p>
9399    </blockquote>
9400                                        
9401    
9402    <p>FORMAT_VERSION -
9403                                            </p>
9404    <blockquote class="text">
9405    <p>version of the sampler format
9406                                                the instrumen is stored as
9407    </p>
9408    </blockquote>
9409                                        
9410    
9411    <p>PRODUCT -
9412                                            </p>
9413    <blockquote class="text">
9414    <p>official product name of the
9415                                                instrument as stored in the file
9416                                                
9417    </p>
9418    </blockquote>
9419                                        
9420    
9421    <p>ARTISTS -
9422                                            </p>
9423    <blockquote class="text">
9424    <p>artists / sample library
9425                                                vendor of the instrument
9426    </p>
9427    </blockquote>
9428                                        
9429    
9430    </blockquote>
9431                                
9432    
9433    </blockquote><p>
9434                        
9435    </p>
9436    <p>The mentioned fields above don't have to be in particular order.
9437    </p>
9438    <p>Example:
9439    </p>
9440    <p>
9441                            </p>
9442    <blockquote class="text">
9443    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9444    </p>
9445    <p>S: "NAME: Lunatic Loops"
9446    </p>
9447    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9448    </p>
9449    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9450    </p>
9451    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9452    </p>
9453    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9454    </p>
9455    <p>&nbsp;&nbsp;&nbsp;"."
9456    </p>
9457    </blockquote><p>
9458                        
9459    </p>
9460  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9461  <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>
9462  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9463    Command Syntax</h3>
9464    
9465  <p>The grammar of the control protocol as descibed in <a class="info" href="#control_commands">Section 6<span>Description for control commands</span></a>  <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>
9466              is defined below using Backus-Naur Form (BNF as described in <a class="info" href="#RFC2234">[RFC2234]<span>Crocker, D. and P. Overell, Augmented BNF for Syntax Specifications, 1997.</span></a>)              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>)
9467              where applicable.              where applicable.
9468                            
9469  </p>  </p>
# Line 4255  Intellectual Property and Copyright Stat Line 9476  Intellectual Property and Copyright Stat
9476  <p>/ line CR LF  <p>/ line CR LF
9477                                    
9478  </p>  </p>
9479  </blockquote>  </blockquote><p>
9480    
9481    </p>
9482  <p>line =  <p>line =
9483          </p>          </p>
9484  <blockquote class="text">  <blockquote class="text">
# Line 4272  Intellectual Property and Copyright Stat Line 9494  Intellectual Property and Copyright Stat
9494  <p>/ error  <p>/ error
9495                                    
9496  </p>  </p>
9497  </blockquote>  </blockquote><p>
9498    
9499    </p>
9500  <p>comment =  <p>comment =
9501          </p>          </p>
9502  <blockquote class="text">  <blockquote class="text">
# Line 4292  Intellectual Property and Copyright Stat Line 9515  Intellectual Property and Copyright Stat
9515  <p>/ comment string  <p>/ comment string
9516                                    
9517  </p>  </p>
9518  </blockquote>  </blockquote><p>
9519    
9520    </p>
9521  <p>command =  <p>command =
9522          </p>          </p>
9523  <blockquote class="text">  <blockquote class="text">
9524  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
9525                    
9526    </p>
9527    <p>/ MAP SP map_instruction
9528                    
9529    </p>
9530    <p>/ UNMAP SP unmap_instruction
9531                                    
9532  </p>  </p>
9533  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 4315  Intellectual Property and Copyright Stat Line 9545  Intellectual Property and Copyright Stat
9545  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
9546                                    
9547  </p>  </p>
9548  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
9549                                    
9550  </p>  </p>
9551  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 4327  Intellectual Property and Copyright Stat Line 9557  Intellectual Property and Copyright Stat
9557  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9558                                    
9559  </p>  </p>
9560  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
9561                    
9562    </p>
9563    <p>/ CLEAR SP clear_instruction
9564                    
9565    </p>
9566    <p>/ FIND SP find_instruction
9567                    
9568    </p>
9569    <p>/ MOVE SP move_instruction
9570                    
9571    </p>
9572    <p>/ COPY SP copy_instruction
9573                    
9574    </p>
9575    <p>/ EDIT SP edit_instruction
9576                                    
9577  </p>  </p>
9578  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ FORMAT SP format_instruction
9579                                    
9580  </p>  </p>
9581  <p>/ RESET  <p>/ RESET
# Line 4339  Intellectual Property and Copyright Stat Line 9584  Intellectual Property and Copyright Stat
9584  <p>/ QUIT  <p>/ QUIT
9585                                    
9586  </p>  </p>
9587  </blockquote>  </blockquote><p>
9588    
9589    </p>
9590    <p>add_instruction =
9591            </p>
9592    <blockquote class="text">
9593    <p>CHANNEL
9594                    
9595    </p>
9596    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9597                    
9598    </p>
9599    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9600                    
9601    </p>
9602    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9603                    
9604    </p>
9605    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9606                    
9607    </p>
9608    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9609                    
9610    </p>
9611    <p>/ DB_INSTRUMENTS SP db_path SP filename
9612                    
9613    </p>
9614    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9615                    
9616    </p>
9617    <p>/ MIDI_INSTRUMENT_MAP
9618                    
9619    </p>
9620    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9621                    
9622    </p>
9623    </blockquote><p>
9624    
9625    </p>
9626  <p>subscribe_event =  <p>subscribe_event =
9627          </p>          </p>
9628  <blockquote class="text">  <blockquote class="text">
9629  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9630                    
9631    </p>
9632    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9633                    
9634    </p>
9635    <p>/ MIDI_INPUT_DEVICE_COUNT
9636                    
9637    </p>
9638    <p>/ MIDI_INPUT_DEVICE_INFO
9639                    
9640    </p>
9641    <p>/ CHANNEL_COUNT
9642                    
9643    </p>
9644    <p>/ CHANNEL_MIDI
9645                    
9646    </p>
9647    <p>/ DEVICE_MIDI
9648                                    
9649  </p>  </p>
9650  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 4359  Intellectual Property and Copyright Stat Line 9659  Intellectual Property and Copyright Stat
9659  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9660                                    
9661  </p>  </p>
9662    <p>/ FX_SEND_COUNT
9663                    
9664    </p>
9665    <p>/ FX_SEND_INFO
9666                    
9667    </p>
9668    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9669                    
9670    </p>
9671    <p>/ MIDI_INSTRUMENT_MAP_INFO
9672                    
9673    </p>
9674    <p>/ MIDI_INSTRUMENT_COUNT
9675                    
9676    </p>
9677    <p>/ MIDI_INSTRUMENT_INFO
9678                    
9679    </p>
9680    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9681                    
9682    </p>
9683    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9684                    
9685    </p>
9686    <p>/ DB_INSTRUMENT_COUNT
9687                    
9688    </p>
9689    <p>/ DB_INSTRUMENT_INFO
9690                    
9691    </p>
9692    <p>/ DB_INSTRUMENTS_JOB_INFO
9693                    
9694    </p>
9695  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9696                                    
9697  </p>  </p>
9698  </blockquote>  <p>/ TOTAL_STREAM_COUNT
9699                    
9700    </p>
9701    <p>/ TOTAL_VOICE_COUNT
9702                    
9703    </p>
9704    <p>/ GLOBAL_INFO
9705                    
9706    </p>
9707    </blockquote><p>
9708    
9709    </p>
9710  <p>unsubscribe_event =  <p>unsubscribe_event =
9711          </p>          </p>
9712  <blockquote class="text">  <blockquote class="text">
9713  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9714                    
9715    </p>
9716    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9717                    
9718    </p>
9719    <p>/ MIDI_INPUT_DEVICE_COUNT
9720                    
9721    </p>
9722    <p>/ MIDI_INPUT_DEVICE_INFO
9723                    
9724    </p>
9725    <p>/ CHANNEL_COUNT
9726                    
9727    </p>
9728    <p>/ CHANNEL_MIDI
9729                    
9730    </p>
9731    <p>/ DEVICE_MIDI
9732                                    
9733  </p>  </p>
9734  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 4382  Intellectual Property and Copyright Stat Line 9743  Intellectual Property and Copyright Stat
9743  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9744                                    
9745  </p>  </p>
9746    <p>/ FX_SEND_COUNT
9747                    
9748    </p>
9749    <p>/ FX_SEND_INFO
9750                    
9751    </p>
9752    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9753                    
9754    </p>
9755    <p>/ MIDI_INSTRUMENT_MAP_INFO
9756                    
9757    </p>
9758    <p>/ MIDI_INSTRUMENT_COUNT
9759                    
9760    </p>
9761    <p>/ MIDI_INSTRUMENT_INFO
9762                    
9763    </p>
9764    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9765                    
9766    </p>
9767    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9768                    
9769    </p>
9770    <p>/ DB_INSTRUMENT_COUNT
9771                    
9772    </p>
9773    <p>/ DB_INSTRUMENT_INFO
9774                    
9775    </p>
9776    <p>/ DB_INSTRUMENTS_JOB_INFO
9777                    
9778    </p>
9779  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9780                                    
9781  </p>  </p>
9782  </blockquote>  <p>/ TOTAL_STREAM_COUNT
9783                    
9784    </p>
9785    <p>/ TOTAL_VOICE_COUNT
9786                    
9787    </p>
9788    <p>/ GLOBAL_INFO
9789                    
9790    </p>
9791    </blockquote><p>
9792    
9793    </p>
9794    <p>map_instruction =
9795            </p>
9796    <blockquote class="text">
9797    <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
9798                    
9799    </p>
9800    <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
9801                    
9802    </p>
9803    <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
9804                    
9805    </p>
9806    <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
9807                    
9808    </p>
9809    </blockquote><p>
9810    
9811    </p>
9812    <p>unmap_instruction =
9813            </p>
9814    <blockquote class="text">
9815    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9816                    
9817    </p>
9818    </blockquote><p>
9819    
9820    </p>
9821    <p>remove_instruction =
9822            </p>
9823    <blockquote class="text">
9824    <p>CHANNEL SP sampler_channel
9825                    
9826    </p>
9827    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9828                    
9829    </p>
9830    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9831                    
9832    </p>
9833    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9834                    
9835    </p>
9836    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9837                    
9838    </p>
9839    <p>/ DB_INSTRUMENT SP db_path
9840                    
9841    </p>
9842    </blockquote><p>
9843    
9844    </p>
9845  <p>get_instruction =  <p>get_instruction =
9846          </p>          </p>
9847  <blockquote class="text">  <blockquote class="text">
# Line 4462  Intellectual Property and Copyright Stat Line 9917  Intellectual Property and Copyright Stat
9917  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
9918                                    
9919  </p>  </p>
9920  </blockquote>  <p>/ TOTAL_STREAM_COUNT
9921                    
9922    </p>
9923    <p>/ TOTAL_VOICE_COUNT
9924                    
9925    </p>
9926    <p>/ TOTAL_VOICE_COUNT_MAX
9927                    
9928    </p>
9929    <p>/ MIDI_INSTRUMENTS SP midi_map
9930                    
9931    </p>
9932    <p>/ MIDI_INSTRUMENTS SP ALL
9933                    
9934    </p>
9935    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9936                    
9937    </p>
9938    <p>/ MIDI_INSTRUMENT_MAPS
9939                    
9940    </p>
9941    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9942                    
9943    </p>
9944    <p>/ FX_SENDS SP sampler_channel
9945                    
9946    </p>
9947    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9948                    
9949    </p>
9950    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9951                    
9952    </p>
9953    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9954                    
9955    </p>
9956    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9957                    
9958    </p>
9959    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9960                    
9961    </p>
9962    <p>/ DB_INSTRUMENTS SP db_path
9963                    
9964    </p>
9965    <p>/ DB_INSTRUMENT SP INFO SP db_path
9966                    
9967    </p>
9968    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9969                    
9970    </p>
9971    <p>/ VOLUME
9972                    
9973    </p>
9974    <p>/ FILE SP INSTRUMENTS SP filename
9975                    
9976    </p>
9977    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
9978                    
9979    </p>
9980    </blockquote><p>
9981    
9982    </p>
9983  <p>set_instruction =  <p>set_instruction =
9984          </p>          </p>
9985  <blockquote class="text">  <blockquote class="text">
# Line 4476  Intellectual Property and Copyright Stat Line 9992  Intellectual Property and Copyright Stat
9992  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9993                                    
9994  </p>  </p>
9995    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9996                    
9997    </p>
9998  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9999                                    
10000  </p>  </p>
10001  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
10002                                    
10003  </p>  </p>
10004    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
10005                    
10006    </p>
10007    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10008                    
10009    </p>
10010    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10011                    
10012    </p>
10013    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
10014                    
10015    </p>
10016    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10017                    
10018    </p>
10019    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10020                    
10021    </p>
10022    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10023                    
10024    </p>
10025    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10026                    
10027    </p>
10028    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10029                    
10030    </p>
10031  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10032                                    
10033  </p>  </p>
10034  </blockquote>  <p>/ VOLUME SP volume_value
10035                    
10036    </p>
10037    </blockquote><p>
10038    
10039    </p>
10040  <p>create_instruction =  <p>create_instruction =
10041          </p>          </p>
10042  <blockquote class="text">  <blockquote class="text">
# Line 4502  Intellectual Property and Copyright Stat Line 10052  Intellectual Property and Copyright Stat
10052  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
10053                                    
10054  </p>  </p>
10055  </blockquote>  <p>/ FX_SEND SP sampler_channel SP midi_ctrl
10056                    
10057    </p>
10058    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
10059                    
10060    </p>
10061    </blockquote><p>
10062    
10063    </p>
10064    <p>reset_instruction =
10065            </p>
10066    <blockquote class="text">
10067    <p>CHANNEL SP sampler_channel
10068                    
10069    </p>
10070    </blockquote><p>
10071    
10072    </p>
10073    <p>clear_instruction =
10074            </p>
10075    <blockquote class="text">
10076    <p>MIDI_INSTRUMENTS SP midi_map
10077                    
10078    </p>
10079    <p>/ MIDI_INSTRUMENTS SP ALL
10080                    
10081    </p>
10082    </blockquote><p>
10083    
10084    </p>
10085    <p>find_instruction =
10086            </p>
10087    <blockquote class="text">
10088    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10089                    
10090    </p>
10091    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10092                    
10093    </p>
10094    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10095                    
10096    </p>
10097    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10098                    
10099    </p>
10100    </blockquote><p>
10101    
10102    </p>
10103    <p>move_instruction =
10104            </p>
10105    <blockquote class="text">
10106    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10107                    
10108    </p>
10109    <p>/ DB_INSTRUMENT SP db_path SP db_path
10110                    
10111    </p>
10112    </blockquote><p>
10113    
10114    </p>
10115    <p>copy_instruction =
10116            </p>
10117    <blockquote class="text">
10118    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10119                    
10120    </p>
10121    <p>/ DB_INSTRUMENT SP db_path SP db_path
10122                    
10123    </p>
10124    </blockquote><p>
10125    
10126    </p>
10127  <p>destroy_instruction =  <p>destroy_instruction =
10128          </p>          </p>
10129  <blockquote class="text">  <blockquote class="text">
# Line 4513  Intellectual Property and Copyright Stat Line 10133  Intellectual Property and Copyright Stat
10133  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
10134                                    
10135  </p>  </p>
10136  </blockquote>  <p>/ FX_SEND SP sampler_channel SP fx_send_id
10137                    
10138    </p>
10139    </blockquote><p>
10140    
10141    </p>
10142  <p>load_instruction =  <p>load_instruction =
10143          </p>          </p>
10144  <blockquote class="text">  <blockquote class="text">
# Line 4524  Intellectual Property and Copyright Stat Line 10148  Intellectual Property and Copyright Stat
10148  <p>/ ENGINE SP load_engine_args  <p>/ ENGINE SP load_engine_args
10149                                    
10150  </p>  </p>
10151  </blockquote>  </blockquote><p>
10152    
10153    </p>
10154  <p>set_chan_instruction =  <p>set_chan_instruction =
10155          </p>          </p>
10156  <blockquote class="text">  <blockquote class="text">
# Line 4556  Intellectual Property and Copyright Stat Line 10181  Intellectual Property and Copyright Stat
10181  <p>/ VOLUME SP sampler_channel SP volume_value  <p>/ VOLUME SP sampler_channel SP volume_value
10182                                    
10183  </p>  </p>
10184  </blockquote>  <p>/ MUTE SP sampler_channel SP boolean
10185                    
10186    </p>
10187    <p>/ SOLO SP sampler_channel SP boolean
10188                    
10189    </p>
10190    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
10191                    
10192    </p>
10193    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
10194                    
10195    </p>
10196    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
10197                    
10198    </p>
10199    </blockquote><p>
10200    
10201    </p>
10202    <p>edit_instruction =
10203            </p>
10204    <blockquote class="text">
10205    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10206                    
10207    </p>
10208    </blockquote><p>
10209    
10210    </p>
10211    <p>format_instruction =
10212            </p>
10213    <blockquote class="text">
10214    <p>INSTRUMENTS_DB
10215                    
10216    </p>
10217    </blockquote><p>
10218    
10219    </p>
10220    <p>modal_arg =
10221            </p>
10222    <blockquote class="text">
10223    <p>/* epsilon (empty argument) */
10224                    
10225    </p>
10226    <p>/ NON_MODAL SP
10227                    
10228    </p>
10229    </blockquote><p>
10230    
10231    </p>
10232  <p>key_val_list =  <p>key_val_list =
10233          </p>          </p>
10234  <blockquote class="text">  <blockquote class="text">
# Line 4567  Intellectual Property and Copyright Stat Line 10238  Intellectual Property and Copyright Stat
10238  <p>/ key_val_list SP string '=' param_val_list  <p>/ key_val_list SP string '=' param_val_list
10239                                    
10240  </p>  </p>
10241  </blockquote>  </blockquote><p>
10242    
10243    </p>
10244  <p>buffer_size_type =  <p>buffer_size_type =
10245          </p>          </p>
10246  <blockquote class="text">  <blockquote class="text">
# Line 4578  Intellectual Property and Copyright Stat Line 10250  Intellectual Property and Copyright Stat
10250  <p>/ PERCENTAGE  <p>/ PERCENTAGE
10251                                    
10252  </p>  </p>
10253  </blockquote>  </blockquote><p>
10254    
10255    </p>
10256  <p>list_instruction =  <p>list_instruction =
10257          </p>          </p>
10258  <blockquote class="text">  <blockquote class="text">
# Line 4601  Intellectual Property and Copyright Stat Line 10274  Intellectual Property and Copyright Stat
10274  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10275                                    
10276  </p>  </p>
10277  </blockquote>  <p>/ MIDI_INSTRUMENTS SP midi_map
10278                    
10279    </p>
10280    <p>/ MIDI_INSTRUMENTS SP ALL
10281                    
10282    </p>
10283    <p>/ MIDI_INSTRUMENT_MAPS
10284                    
10285    </p>
10286    <p>/ FX_SENDS SP sampler_channel
10287                    
10288    </p>
10289    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10290                    
10291    </p>
10292    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10293                    
10294    </p>
10295    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10296                    
10297    </p>
10298    <p>/ DB_INSTRUMENTS SP db_path
10299                    
10300    </p>
10301    <p>/ FILE SP INSTRUMENTS SP filename
10302                    
10303    </p>
10304    </blockquote><p>
10305    
10306    </p>
10307  <p>load_instr_args =  <p>load_instr_args =
10308          </p>          </p>
10309  <blockquote class="text">  <blockquote class="text">
# Line 4612  Intellectual Property and Copyright Stat Line 10313  Intellectual Property and Copyright Stat
10313  <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel  <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
10314                                    
10315  </p>  </p>
10316  </blockquote>  </blockquote><p>
10317    
10318    </p>
10319  <p>load_engine_args =  <p>load_engine_args =
10320          </p>          </p>
10321  <blockquote class="text">  <blockquote class="text">
10322  <p>engine_name SP sampler_channel  <p>engine_name SP sampler_channel
10323                                    
10324  </p>  </p>
10325  </blockquote>  </blockquote><p>
10326    
10327    </p>
10328    <p>instr_load_mode =
10329            </p>
10330    <blockquote class="text">
10331    <p>ON_DEMAND
10332                    
10333    </p>
10334    <p>/ ON_DEMAND_HOLD
10335                    
10336    </p>
10337    <p>/ PERSISTENT
10338                    
10339    </p>
10340    </blockquote><p>
10341    
10342    </p>
10343  <p>device_index =  <p>device_index =
10344          </p>          </p>
10345  <blockquote class="text">  <blockquote class="text">
10346  <p>number  <p>number
10347                                    
10348  </p>  </p>
10349  </blockquote>  </blockquote><p>
10350    
10351    </p>
10352  <p>audio_channel_index =  <p>audio_channel_index =
10353          </p>          </p>
10354  <blockquote class="text">  <blockquote class="text">
10355  <p>number  <p>number
10356                                    
10357  </p>  </p>
10358  </blockquote>  </blockquote><p>
10359    
10360    </p>
10361  <p>audio_output_type_name =  <p>audio_output_type_name =
10362          </p>          </p>
10363  <blockquote class="text">  <blockquote class="text">
10364  <p>string  <p>string
10365                                    
10366  </p>  </p>
10367  </blockquote>  </blockquote><p>
10368    
10369    </p>
10370  <p>midi_input_port_index =  <p>midi_input_port_index =
10371          </p>          </p>
10372  <blockquote class="text">  <blockquote class="text">
10373  <p>number  <p>number
10374                                    
10375  </p>  </p>
10376  </blockquote>  </blockquote><p>
10377    
10378    </p>
10379  <p>midi_input_channel_index =  <p>midi_input_channel_index =
10380          </p>          </p>
10381  <blockquote class="text">  <blockquote class="text">
# Line 4663  Intellectual Property and Copyright Stat Line 10385  Intellectual Property and Copyright Stat
10385  <p>/ ALL  <p>/ ALL
10386                                    
10387  </p>  </p>
10388  </blockquote>  </blockquote><p>
10389    
10390    </p>
10391  <p>midi_input_type_name =  <p>midi_input_type_name =
10392          </p>          </p>
10393  <blockquote class="text">  <blockquote class="text">
10394  <p>string  <p>string
10395                                    
10396  </p>  </p>
10397  </blockquote>  </blockquote><p>
10398    
10399    </p>
10400    <p>midi_map =
10401            </p>
10402    <blockquote class="text">
10403    <p>number
10404                    
10405    </p>
10406    </blockquote><p>
10407    
10408    </p>
10409    <p>midi_bank =
10410            </p>
10411    <blockquote class="text">
10412    <p>number
10413                    
10414    </p>
10415    </blockquote><p>
10416    
10417    </p>
10418    <p>midi_prog =
10419            </p>
10420    <blockquote class="text">
10421    <p>number
10422                    
10423    </p>
10424    </blockquote><p>
10425    
10426    </p>
10427    <p>midi_ctrl =
10428            </p>
10429    <blockquote class="text">
10430    <p>number
10431                    
10432    </p>
10433    </blockquote><p>
10434    
10435    </p>
10436  <p>volume_value =  <p>volume_value =
10437          </p>          </p>
10438  <blockquote class="text">  <blockquote class="text">
# Line 4682  Intellectual Property and Copyright Stat Line 10442  Intellectual Property and Copyright Stat
10442  <p>/ number  <p>/ number
10443                                    
10444  </p>  </p>
10445  </blockquote>  </blockquote><p>
10446    
10447    </p>
10448  <p>sampler_channel =  <p>sampler_channel =
10449          </p>          </p>
10450  <blockquote class="text">  <blockquote class="text">
10451  <p>number  <p>number
10452                                    
10453  </p>  </p>
10454  </blockquote>  </blockquote><p>
10455    
10456    </p>
10457  <p>instrument_index =  <p>instrument_index =
10458          </p>          </p>
10459  <blockquote class="text">  <blockquote class="text">
10460  <p>number  <p>number
10461                                    
10462  </p>  </p>
10463  </blockquote>  </blockquote><p>
10464    
10465    </p>
10466    <p>fx_send_id =
10467            </p>
10468    <blockquote class="text">
10469    <p>number
10470                    
10471    </p>
10472    </blockquote><p>
10473    
10474    </p>
10475  <p>engine_name =  <p>engine_name =
10476          </p>          </p>
10477  <blockquote class="text">  <blockquote class="text">
10478  <p>string  <p>string
10479                                    
10480  </p>  </p>
10481  </blockquote>  </blockquote><p>
10482    
10483    </p>
10484  <p>filename =  <p>filename =
10485          </p>          </p>
10486  <blockquote class="text">  <blockquote class="text">
10487  <p>stringval  <p>path
10488                                    
10489  </p>  </p>
10490  </blockquote>  </blockquote><p>
10491    
10492    </p>
10493    <p>db_path =
10494            </p>
10495    <blockquote class="text">
10496    <p>path
10497                    
10498    </p>
10499    </blockquote><p>
10500    
10501    </p>
10502    <p>map_name =
10503            </p>
10504    <blockquote class="text">
10505    <p>stringval_escaped
10506                    
10507    </p>
10508    </blockquote><p>
10509    
10510    </p>
10511    <p>entry_name =
10512            </p>
10513    <blockquote class="text">
10514    <p>stringval_escaped
10515                    
10516    </p>
10517    </blockquote><p>
10518    
10519    </p>
10520    <p>fx_send_name =
10521            </p>
10522    <blockquote class="text">
10523    <p>stringval_escaped
10524                    
10525    </p>
10526    </blockquote><p>
10527    
10528    </p>
10529  <p>param_val_list =  <p>param_val_list =
10530          </p>          </p>
10531  <blockquote class="text">  <blockquote class="text">
# Line 4725  Intellectual Property and Copyright Stat Line 10535  Intellectual Property and Copyright Stat
10535  <p>/ param_val_list','param_val  <p>/ param_val_list','param_val
10536                                    
10537  </p>  </p>
10538  </blockquote>  </blockquote><p>
10539    
10540    </p>
10541  <p>param_val =  <p>param_val =
10542          </p>          </p>
10543  <blockquote class="text">  <blockquote class="text">
10544  <p>string  <p>string
10545                                    
10546  </p>  </p>
10547  <p>/ '\'' string '\''  <p>/ stringval
                   
 </p>  
 <p>/ '\"' string '\"'  
10548                                    
10549  </p>  </p>
10550  <p>/ number  <p>/ number
# Line 4745  Intellectual Property and Copyright Stat Line 10553  Intellectual Property and Copyright Stat
10553  <p>/ dotnum  <p>/ dotnum
10554                                    
10555  </p>  </p>
10556  </blockquote>  </blockquote><p>
10557    
10558    </p>
10559    <p>query_val_list =
10560            </p>
10561    <blockquote class="text">
10562    <p>string '=' query_val
10563                    
10564    </p>
10565    <p>/ query_val_list SP string '=' query_val
10566                    
10567    </p>
10568    </blockquote><p>
10569    
10570    </p>
10571    <p>query_val =
10572            </p>
10573    <blockquote class="text">
10574    <p>text_escaped
10575                    
10576    </p>
10577    <p>/ stringval_escaped
10578                    
10579    </p>
10580    </blockquote><p>
10581    
10582    </p>
10583    <p>scan_mode =
10584            </p>
10585    <blockquote class="text">
10586    <p>RECURSIVE
10587                    
10588    </p>
10589    <p>/ NON_RECURSIVE
10590                    
10591    </p>
10592    <p>/ FLAT
10593                    
10594    </p>
10595    </blockquote><p>
10596    
10597    </p>
10598    <a name="character_set"></a><br /><hr />
10599    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10600    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10601    Character Set and Escape Sequences</h3>
10602    
10603    <p>Older versions of this protocol up to and including v1.1 only
10604                    supported the standard ASCII character set (ASCII code 0 - 127)
10605                    <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
10606                    however support the Extended ASCII character set (ASCII code
10607                    0 - 255). The same group of younger protocols also support
10608                    escape sequences, but only for certain, explicitly declared
10609                    parts of the protocol. The supported escape sequences are
10610                    defined as follows:
10611    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10612    <col align="left"><col align="left">
10613    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10614    <tr>
10615    <td align="left">\n</td>
10616    <td align="left">new line</td>
10617    </tr>
10618    <tr>
10619    <td align="left">\r</td>
10620    <td align="left">carriage return</td>
10621    </tr>
10622    <tr>
10623    <td align="left">\f</td>
10624    <td align="left">form feed</td>
10625    </tr>
10626    <tr>
10627    <td align="left">\t</td>
10628    <td align="left">horizontal tab</td>
10629    </tr>
10630    <tr>
10631    <td align="left">\v</td>
10632    <td align="left">vertical tab</td>
10633    </tr>
10634    <tr>
10635    <td align="left">\'</td>
10636    <td align="left">apostrophe</td>
10637    </tr>
10638    <tr>
10639    <td align="left">\"</td>
10640    <td align="left">quotation mark</td>
10641    </tr>
10642    <tr>
10643    <td align="left">\\</td>
10644    <td align="left">backslash</td>
10645    </tr>
10646    <tr>
10647    <td align="left">\OOO</td>
10648    <td align="left">three digit octal ASCII code of the character</td>
10649    </tr>
10650    <tr>
10651    <td align="left">\xHH</td>
10652    <td align="left">two digit hex ASCII code of the character</td>
10653    </tr>
10654    </table>
10655    
10656    <p>Notice: due to the transition of certain parts of the
10657                    protocol which now support escape sequences, a slight backward
10658                    incompatibility to protocols version v1.1 and younger has been
10659                    introduced. The only difference is that in parts of the protocol
10660                    where escape characters are now supported, a backslash characters
10661                    MUST be escaped as well (that is as double backslash), whereas
10662                    in the old versions a single backslash was sufficient.
10663    </p>
10664    <p>The following LSCP commands support escape sequences as part
10665                    of their filename / path based arguments and / or may contain
10666                    a filename / path with escape sequences in their response:
10667                    </p>
10668    <blockquote class="text">
10669    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10670    </p>
10671    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10672    </p>
10673    <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>
10674    </p>
10675    <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>
10676    </p>
10677    <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>
10678    </p>
10679    <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>
10680    </p>
10681    <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>
10682    </p>
10683    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10684    </p>
10685    <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>
10686    </p>
10687    <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>
10688    </p>
10689    <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>
10690    </p>
10691    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10692    </p>
10693    <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>
10694    </p>
10695    <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>
10696    </p>
10697    <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>
10698    </p>
10699    <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>
10700    </p>
10701    <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>
10702    </p>
10703    <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>
10704    </p>
10705    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10706    </p>
10707    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10708    </p>
10709    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10710    </p>
10711    <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>
10712    </p>
10713    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10714    </p>
10715    <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>
10716    </p>
10717    <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>
10718    </p>
10719    <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>
10720    </p>
10721    <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>
10722    </p>
10723    </blockquote><p>
10724                    Note that the forward slash character ('/') has a special meaning in
10725                    filename / path based arguments: it acts as separator of the nodes in
10726                    the path, thus if a directory- or filename includes a forward slash
10727                    (not intended as path node separator), you MUST escape that slash
10728                    either with the respective hex escape sequence ("\x2f") or with the
10729                    respective octal escape sequence ("\057").
10730                    
10731    </p>
10732    <p>
10733                    Note for Windows: file path arguments in LSCP are expected
10734                    to use forward slashes as directory node separator similar
10735                    to Unix based operating systems. In contrast to Unix however
10736                    a Windows typical drive character is expected to be
10737                    prefixed to the path. That is an original Windows file path
10738                    like "D:\Sounds\My.gig" would become in LSCP:
10739                    "D:/Sounds/My.gig".
10740                    
10741    </p>
10742    <p>
10743                    The following LSCP commands even support escape sequences as
10744                    part of at least one of their text-based arguments (i.e. entity name,
10745                    description) and / or may contain escape sequences in at least one of
10746                    their text-based fields in their response:
10747                    </p>
10748    <blockquote class="text">
10749    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10750    </p>
10751    <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>
10752    </p>
10753    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10754    </p>
10755    <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>
10756    </p>
10757    <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>
10758    </p>
10759    <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>
10760    </p>
10761    <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>
10762    </p>
10763    <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>
10764    </p>
10765    <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>
10766    </p>
10767    <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>
10768    </p>
10769    <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>
10770    </p>
10771    <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>
10772    </p>
10773    <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>
10774    </p>
10775    <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>
10776    </p>
10777    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10778    </p>
10779    <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>
10780    </p>
10781    <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>
10782    </p>
10783    <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>
10784    </p>
10785    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10786    </p>
10787    </blockquote><p>
10788                    Please note that these lists are manually maintained. If you
10789                    find a command that also supports escape sequences we forgot to
10790                    mention here, please report it!
10791                    
10792    </p>
10793  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10794  <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>
10795  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10796    Events</h3>
10797    
10798  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10799  </p>  </p>
10800  <a name="rfc.section.8.1"></a><h4><a name="SUBSCRIBE CHANNEL">8.1</a>&nbsp;Number of sampler channels changed</h4>  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10802    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
10803    Number of audio output devices changed</h3>
10804    
10805    <p>Client may want to be notified when the total number of audio output devices on the
10806                    back-end changes by issuing the following command:
10807    </p>
10808    <p>
10809                        </p>
10810    <blockquote class="text">
10811    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10812    </p>
10813    </blockquote><p>
10814                    
10815    </p>
10816    <p>Server will start sending the following notification messages:
10817    </p>
10818    <p>
10819                        </p>
10820    <blockquote class="text">
10821    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10822    </p>
10823    </blockquote><p>
10824                    
10825    </p>
10826    <p>where &lt;devices&gt; will be replaced by the new number
10827                    of audio output devices.
10828    </p>
10829    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10830    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10831    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10832    Audio output device's settings changed</h3>
10833    
10834    <p>Client may want to be notified when changes were made to audio output devices on the
10835                    back-end by issuing the following command:
10836    </p>
10837    <p>
10838                        </p>
10839    <blockquote class="text">
10840    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10841    </p>
10842    </blockquote><p>
10843                    
10844    </p>
10845    <p>Server will start sending the following notification messages:
10846    </p>
10847    <p>
10848                        </p>
10849    <blockquote class="text">
10850    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10851    </p>
10852    </blockquote><p>
10853                    
10854    </p>
10855    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10856                    which settings has been changed. The front-end will have to send
10857                    the respective command to actually get the audio output device info. Because these messages
10858                    will be triggered by LSCP commands issued by other clients rather than real
10859                    time events happening on the server, it is believed that an empty notification
10860                    message is sufficient here.
10861    </p>
10862    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10863    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10864    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10865    Number of MIDI input devices changed</h3>
10866    
10867    <p>Client may want to be notified when the total number of MIDI input devices on the
10868                    back-end changes by issuing the following command:
10869    </p>
10870    <p>
10871                        </p>
10872    <blockquote class="text">
10873    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10874    </p>
10875    </blockquote><p>
10876                    
10877    </p>
10878    <p>Server will start sending the following notification messages:
10879    </p>
10880    <p>
10881                        </p>
10882    <blockquote class="text">
10883    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10884    </p>
10885    </blockquote><p>
10886                    
10887    </p>
10888    <p>where &lt;devices&gt; will be replaced by the new number
10889                    of MIDI input devices.
10890    </p>
10891    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10892    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10893    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10894    MIDI input device's settings changed</h3>
10895    
10896    <p>Client may want to be notified when changes were made to MIDI input devices on the
10897                    back-end by issuing the following command:
10898    </p>
10899    <p>
10900                        </p>
10901    <blockquote class="text">
10902    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10903    </p>
10904    </blockquote><p>
10905                    
10906    </p>
10907    <p>Server will start sending the following notification messages:
10908    </p>
10909    <p>
10910                        </p>
10911    <blockquote class="text">
10912    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10913    </p>
10914    </blockquote><p>
10915                    
10916    </p>
10917    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10918                    which settings has been changed. The front-end will have to send
10919                    the respective command to actually get the MIDI input device info. Because these messages
10920                    will be triggered by LSCP commands issued by other clients rather than real
10921                    time events happening on the server, it is believed that an empty notification
10922                    message is sufficient here.
10923    </p>
10924    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10925    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10926    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10927    Number of sampler channels changed</h3>
10928    
10929  <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
10930                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
10931  </p>  </p>
10932  <p></p>  <p>
10933                        </p>
10934  <blockquote class="text">  <blockquote class="text">
10935  <p>SUBSCRIBE CHANNEL_COUNT  <p>SUBSCRIBE CHANNEL_COUNT
10936  </p>  </p>
10937  </blockquote>  </blockquote><p>
10938                    
10939    </p>
10940  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10941  </p>  </p>
10942  <p></p>  <p>
10943                        </p>
10944  <blockquote class="text">  <blockquote class="text">
10945  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
10946  </p>  </p>
10947  </blockquote>  </blockquote><p>
10948                    
10949    </p>
10950  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
10951                  of sampler channels.                  of sampler channels.
10952  </p>  </p>
10953  <a name="rfc.section.8.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;Number of active voices changed</h4>  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
10954    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10955    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10956    MIDI data on a sampler channel arrived</h3>
10957    
10958    <p>Client may want to be notified when MIDI data arrive on sampler channels on
10959                    back-end side, by issuing the following command:
10960    </p>
10961    <p>
10962                        </p>
10963    <blockquote class="text">
10964    <p>SUBSCRIBE CHANNEL_MIDI
10965    </p>
10966    </blockquote><p>
10967                    
10968    </p>
10969    <p>Server will start sending one of the the following notification messages:
10970    </p>
10971    <p>
10972                        </p>
10973    <blockquote class="text">
10974    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
10975    </p>
10976    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
10977    </p>
10978    </blockquote><p>
10979                    
10980    </p>
10981    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
10982                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
10983                    0 .. 127, reflecting the analog meaning of the MIDI specification.
10984                    
10985    </p>
10986    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
10987                    delivered by this mechanism! With other words: events could be lost at any time!
10988                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
10989                    thread unaffected by this feature.
10990    </p>
10991    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
10992    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10993    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10994    MIDI data on a MIDI input device arrived</h3>
10995    
10996    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
10997    </p>
10998    <p>
10999                                </p>
11000    <blockquote class="text">
11001    <p>SUBSCRIBE DEVICE_MIDI
11002    </p>
11003    </blockquote><p>
11004                        
11005    </p>
11006    <p>Server will start sending one of the the following notification messages:
11007    </p>
11008    <p>
11009                                </p>
11010    <blockquote class="text">
11011    <p>"NOTIFY:CHANNEL_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11012    </p>
11013    <p>"NOTIFY:CHANNEL_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11014    </p>
11015    </blockquote><p>
11016                        
11017    </p>
11018    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11019                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11020                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11021                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11022                        
11023    </p>
11024    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11025                           delivered by this mechanism! With other words: events could be lost at any time!
11026                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11027                           thread unaffected by this feature.
11028    </p>
11029    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11030    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11031    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
11032    Number of active voices changed</h3>
11033    
11034  <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
11035                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
11036  </p>  </p>
11037  <p></p>  <p>
11038                        </p>
11039  <blockquote class="text">  <blockquote class="text">
11040  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
11041  </p>  </p>
11042  </blockquote>  </blockquote><p>
11043                    
11044    </p>
11045  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11046  </p>  </p>
11047  <p></p>  <p>
11048                        </p>
11049  <blockquote class="text">  <blockquote class="text">
11050  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
11051    </p>
11052    </blockquote><p>
11053                    
11054  </p>  </p>
 </blockquote>  
   
11055  <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
11056                  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
11057                  active voices on that channel.                  active voices on that channel.
11058  </p>  </p>
11059  <a name="rfc.section.8.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;Number of active disk streams changed</h4>  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11060    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11061    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
11062    Number of active disk streams changed</h3>
11063    
11064  <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
11065                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
11066  </p>  </p>
11067  <p></p>  <p>
11068                        </p>
11069  <blockquote class="text">  <blockquote class="text">
11070  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
11071  </p>  </p>
11072  </blockquote>  </blockquote><p>
11073                    
11074    </p>
11075  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11076  </p>  </p>
11077  <p></p>  <p>
11078                        </p>
11079  <blockquote class="text">  <blockquote class="text">
11080  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
11081  </p>  </p>
11082  </blockquote>  </blockquote><p>
11083                    
11084    </p>
11085  <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
11086                  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
11087                  active disk streams on that channel.                  active disk streams on that channel.
11088  </p>  </p>
11089  <a name="rfc.section.8.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;Disk stream buffer fill state changed</h4>  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11090    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11091    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11092    Disk stream buffer fill state changed</h3>
11093    
11094  <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
11095                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
11096  </p>  </p>
11097  <p></p>  <p>
11098                        </p>
11099  <blockquote class="text">  <blockquote class="text">
11100  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
11101  </p>  </p>
11102  </blockquote>  </blockquote><p>
11103                    
11104    </p>
11105  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11106  </p>  </p>
11107  <p></p>  <p>
11108                        </p>
11109  <blockquote class="text">  <blockquote class="text">
11110  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
11111  </p>  </p>
11112  </blockquote>  </blockquote><p>
11113                    
11114    </p>
11115  <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
11116                  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
11117                  buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section 6.4.13<span>Current fill state of disk stream buffers</span></a>                  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>
11118                  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.
11119  </p>  </p>
11120  <a name="rfc.section.8.5"></a><h4><a name="SUBSCRIBE INFO">8.5</a>&nbsp;Channel information changed</h4>  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11121    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11122    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11123    Channel information changed</h3>
11124    
11125  <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
11126                  back-end by issuing the following command:                  back-end by issuing the following command:
11127  </p>  </p>
11128  <p></p>  <p>
11129                        </p>
11130  <blockquote class="text">  <blockquote class="text">
11131  <p>SUBSCRIBE CHANNEL_INFO  <p>SUBSCRIBE CHANNEL_INFO
11132  </p>  </p>
11133  </blockquote>  </blockquote><p>
11134                    
11135    </p>
11136  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11137  </p>  </p>
11138  <p></p>  <p>
11139                        </p>
11140  <blockquote class="text">  <blockquote class="text">
11141  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
11142  </p>  </p>
11143  </blockquote>  </blockquote><p>
11144                    
11145    </p>
11146  <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
11147                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
11148                  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 4871  Intellectual Property and Copyright Stat Line 11150  Intellectual Property and Copyright Stat
11150                  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
11151                  message is sufficient here.                  message is sufficient here.
11152  </p>  </p>
11153  <a name="rfc.section.8.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;Miscellaneous and debugging events</h4>  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11154    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11155    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11156    Number of effect sends changed</h3>
11157    
11158    <p>Client may want to be notified when the number of effect sends on
11159                    a particular sampler channel is changed by issuing the following command:
11160    </p>
11161    <p>
11162                        </p>
11163    <blockquote class="text">
11164    <p>SUBSCRIBE FX_SEND_COUNT
11165    </p>
11166    </blockquote><p>
11167                    
11168    </p>
11169    <p>Server will start sending the following notification messages:
11170    </p>
11171    <p>
11172                        </p>
11173    <blockquote class="text">
11174    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11175    </p>
11176    </blockquote><p>
11177                    
11178    </p>
11179    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11180                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11181                    be replaced by the new number of effect sends on that channel.
11182    </p>
11183    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11184    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11185    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11186    Effect send information changed</h3>
11187    
11188    <p>Client may want to be notified when changes were made to effect sends on a
11189                    a particular sampler channel by issuing the following command:
11190    </p>
11191    <p>
11192                        </p>
11193    <blockquote class="text">
11194    <p>SUBSCRIBE FX_SEND_INFO
11195    </p>
11196    </blockquote><p>
11197                    
11198    </p>
11199    <p>Server will start sending the following notification messages:
11200    </p>
11201    <p>
11202                        </p>
11203    <blockquote class="text">
11204    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11205    </p>
11206    </blockquote><p>
11207                    
11208    </p>
11209    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11210                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11211                    be replaced by the numerical ID of the changed effect send.
11212    </p>
11213    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11214    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11215    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11216    Total number of active voices changed</h3>
11217    
11218    <p>Client may want to be notified when the total number of voices on the
11219                    back-end changes by issuing the following command:
11220    </p>
11221    <p>
11222                        </p>
11223    <blockquote class="text">
11224    <p>SUBSCRIBE TOTAL_VOICE_COUNT
11225    </p>
11226    </blockquote><p>
11227                    
11228    </p>
11229    <p>Server will start sending the following notification messages:
11230    </p>
11231    <p>
11232                        </p>
11233    <blockquote class="text">
11234    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11235    </p>
11236    </blockquote><p>
11237                    
11238    </p>
11239    <p>where &lt;voices&gt; will be replaced by the new number of
11240                    all currently active voices.
11241    </p>
11242    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11243    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11244    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11245    Total number of active disk streams changed</h3>
11246    
11247    <p>Client may want to be notified when the total number of disk streams on the
11248                    back-end changes by issuing the following command:
11249    </p>
11250    <p>
11251                        </p>
11252    <blockquote class="text">
11253    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11254    </p>
11255    </blockquote><p>
11256                    
11257    </p>
11258    <p>Server will start sending the following notification messages:
11259    </p>
11260    <p>
11261                        </p>
11262    <blockquote class="text">
11263    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11264    </p>
11265    </blockquote><p>
11266                    
11267    </p>
11268    <p>where &lt;streams&gt; will be replaced by the new number of
11269                    all currently active disk streams.
11270    </p>
11271    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11272    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11273    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11274    Number of MIDI instrument maps changed</h3>
11275    
11276    <p>Client may want to be notified when the number of MIDI instrument maps on the
11277                    back-end changes by issuing the following command:
11278    </p>
11279    <p>
11280                        </p>
11281    <blockquote class="text">
11282    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
11283    </p>
11284    </blockquote><p>
11285                    
11286    </p>
11287    <p>Server will start sending the following notification messages:
11288    </p>
11289    <p>
11290                        </p>
11291    <blockquote class="text">
11292    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
11293    </p>
11294    </blockquote><p>
11295                    
11296    </p>
11297    <p>where &lt;maps&gt; will be replaced by the new number
11298                    of MIDI instrument maps.
11299    </p>
11300    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11301    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11302    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11303    MIDI instrument map information changed</h3>
11304    
11305    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
11306                    back-end by issuing the following command:
11307    </p>
11308    <p>
11309                        </p>
11310    <blockquote class="text">
11311    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
11312    </p>
11313    </blockquote><p>
11314                    
11315    </p>
11316    <p>Server will start sending the following notification messages:
11317    </p>
11318    <p>
11319                        </p>
11320    <blockquote class="text">
11321    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
11322    </p>
11323    </blockquote><p>
11324                    
11325    </p>
11326    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11327                    for which information changes occurred. The front-end will have to send
11328                    the respective command to actually get the MIDI instrument map info. Because these messages
11329                    will be triggered by LSCP commands issued by other clients rather than real
11330                    time events happening on the server, it is believed that an empty notification
11331                    message is sufficient here.
11332    </p>
11333    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11334    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11335    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11336    Number of MIDI instruments changed</h3>
11337    
11338    <p>Client may want to be notified when the number of MIDI instrument maps on the
11339                    back-end changes by issuing the following command:
11340    </p>
11341    <p>
11342                        </p>
11343    <blockquote class="text">
11344    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
11345    </p>
11346    </blockquote><p>
11347                    
11348    </p>
11349    <p>Server will start sending the following notification messages:
11350    </p>
11351    <p>
11352                        </p>
11353    <blockquote class="text">
11354    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
11355    </p>
11356    </blockquote><p>
11357                    
11358    </p>
11359    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
11360                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
11361                    the new number of MIDI instruments in the specified map.
11362    </p>
11363    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11364    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11365    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11366    MIDI instrument information changed</h3>
11367    
11368    <p>Client may want to be notified when changes were made to MIDI instruments on the
11369                    back-end by issuing the following command:
11370    </p>
11371    <p>
11372                        </p>
11373    <blockquote class="text">
11374    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
11375    </p>
11376    </blockquote><p>
11377                    
11378    </p>
11379    <p>Server will start sending the following notification messages:
11380    </p>
11381    <p>
11382                        </p>
11383    <blockquote class="text">
11384    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
11385    </p>
11386    </blockquote><p>
11387                    
11388    </p>
11389    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11390                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
11391                    the location of the changed MIDI instrument in the map. The front-end will have to send
11392                    the respective command to actually get the MIDI instrument info. Because these messages
11393                    will be triggered by LSCP commands issued by other clients rather than real
11394                    time events happening on the server, it is believed that an empty notification
11395                    message is sufficient here.
11396    </p>
11397    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11398    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11399    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11400    Global settings changed</h3>
11401    
11402    <p>Client may want to be notified when changes to the global settings
11403                    of the sampler were made by issuing the following command:
11404    </p>
11405    <p>
11406                        </p>
11407    <blockquote class="text">
11408    <p>SUBSCRIBE GLOBAL_INFO
11409    </p>
11410    </blockquote><p>
11411                    
11412    </p>
11413    <p>Server will start sending the following types of notification messages:
11414    </p>
11415    <p>
11416                        </p>
11417    <blockquote class="text">
11418    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11419                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11420                            replaced by the optional dotted floating point value, reflecting the
11421                            new global volume parameter.
11422    </p>
11423    </blockquote><p>
11424                    
11425    </p>
11426    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11427    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11428    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11429    Number of database instrument directories changed</h3>
11430    
11431    <p>Client may want to be notified when the number of instrument
11432                    directories in a particular directory in the instruments database
11433                    is changed by issuing the following command:
11434    </p>
11435    <p>
11436                        </p>
11437    <blockquote class="text">
11438    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11439    </p>
11440    </blockquote><p>
11441                    
11442    </p>
11443    <p>Server will start sending the following notification messages:
11444    </p>
11445    <p>
11446                        </p>
11447    <blockquote class="text">
11448    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11449    </p>
11450    </blockquote><p>
11451                    
11452    </p>
11453    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11454                    name of the directory in the instruments database,
11455                    in which the number of directories is changed.
11456    </p>
11457    <p>Note that when a non-empty directory is removed, this event
11458                    is not sent for the subdirectories in that directory.
11459    </p>
11460    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11461    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11462    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11463    Database instrument directory information changed</h3>
11464    
11465    <p>Client may want to be notified when changes were made to directories
11466                    in the instruments database by issuing the following command:
11467    </p>
11468    <p>
11469                        </p>
11470    <blockquote class="text">
11471    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11472    </p>
11473    </blockquote><p>
11474                    
11475    </p>
11476    <p>Server will start sending the following notification messages:
11477    </p>
11478    <p>
11479                        </p>
11480    <blockquote class="text">
11481    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11482    </p>
11483    </blockquote><p>
11484                    
11485    </p>
11486    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11487                    of the directory, for which information changes occurred. The front-end will have to send
11488                    the respective command to actually get the updated directory info. Because these messages
11489                    will be triggered by LSCP commands issued by other clients rather than real
11490                    time events happening on the server, it is believed that an empty notification
11491                    message is sufficient here.
11492    </p>
11493    <p>
11494                        </p>
11495    <blockquote class="text">
11496    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11497    </p>
11498    </blockquote><p>
11499                    
11500    </p>
11501    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11502                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11503                    the new name of the directory, encapsulated into apostrophes.
11504    </p>
11505    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11506    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11507    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11508    Number of database instruments changed</h3>
11509    
11510    <p>Client may want to be notified when the number of instruments
11511                    in a particular directory in the instruments database
11512                    is changed by issuing the following command:
11513    </p>
11514    <p>
11515                        </p>
11516    <blockquote class="text">
11517    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11518    </p>
11519    </blockquote><p>
11520                    
11521    </p>
11522    <p>Server will start sending the following notification messages:
11523    </p>
11524    <p>
11525                        </p>
11526    <blockquote class="text">
11527    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11528    </p>
11529    </blockquote><p>
11530                    
11531    </p>
11532    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11533                    name of the directory in the instruments database,
11534                    in which the number of instruments is changed.
11535    </p>
11536    <p>Note that when a non-empty directory is removed, this event
11537                    is not sent for the instruments in that directory.
11538    </p>
11539    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11540    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11541    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11542    Database instrument information changed</h3>
11543    
11544    <p>Client may want to be notified when changes were made to instruments
11545                    in the instruments database by issuing the following command:
11546    </p>
11547    <p>
11548                        </p>
11549    <blockquote class="text">
11550    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11551    </p>
11552    </blockquote><p>
11553                    
11554    </p>
11555    <p>Server will start sending the following notification messages:
11556    </p>
11557    <p>
11558                        </p>
11559    <blockquote class="text">
11560    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11561    </p>
11562    </blockquote><p>
11563                    
11564    </p>
11565    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11566                    of the instrument, which settings are changed. The front-end will have to send
11567                    the respective command to actually get the updated directory info. Because these messages
11568                    will be triggered by LSCP commands issued by other clients rather than real
11569                    time events happening on the server, it is believed that an empty notification
11570                    message is sufficient here.
11571    </p>
11572    <p>
11573                        </p>
11574    <blockquote class="text">
11575    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11576    </p>
11577    </blockquote><p>
11578                    
11579    </p>
11580    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11581                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11582                    the new name of the instrument, encapsulated into apostrophes.
11583    </p>
11584    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11585    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11586    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
11587    Database job status information changed</h3>
11588    
11589    <p>Client may want to be notified when the status of particular database
11590                    instruments job is changed by issuing the following command:
11591    </p>
11592    <p>
11593                        </p>
11594    <blockquote class="text">
11595    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11596    </p>
11597    </blockquote><p>
11598                    
11599    </p>
11600    <p>Server will start sending the following notification messages:
11601    </p>
11602    <p>
11603                        </p>
11604    <blockquote class="text">
11605    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11606    </p>
11607    </blockquote><p>
11608                    
11609    </p>
11610    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11611                    which status is changed. The front-end will have to send the respective
11612                    command to actually get the status info. Because these messages
11613                    will be triggered by LSCP commands issued by other clients rather than real
11614                    time events happening on the server, it is believed that an empty notification
11615                    message is sufficient here.
11616    </p>
11617    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11618    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11619    <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
11620    Miscellaneous and debugging events</h3>
11621    
11622  <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
11623                  the server by issuing the following command:                  the server by issuing the following command:
11624  </p>  </p>
11625  <p></p>  <p>
11626                        </p>
11627  <blockquote class="text">  <blockquote class="text">
11628  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
11629  </p>  </p>
11630  </blockquote>  </blockquote><p>
11631                    
11632    </p>
11633  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11634  </p>  </p>
11635  <p></p>  <p>
11636                        </p>
11637  <blockquote class="text">  <blockquote class="text">
11638  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
11639  </p>  </p>
11640  </blockquote>  </blockquote><p>
11641                    
11642    </p>
11643  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
11644                  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
11645                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11646  </p>  </p>
11647  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11648  <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>
11649  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11650    Security Considerations</h3>
11651    
11652  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11653              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
# Line 4904  Intellectual Property and Copyright Stat Line 11655  Intellectual Property and Copyright Stat
11655              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11656  </p>  </p>
11657  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11658  <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>
11659  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11660    Acknowledgments</h3>
11661    
11662  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11663              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
11664              list:              list:
11665  </p>  </p>
11666  <p></p>  <p>
11667                    </p>
11668  <blockquote class="text">  <blockquote class="text">
11669  <p>Rui Nuno Capela  <p>Rui Nuno Capela
11670  </p>  </p>
# Line 4921  Intellectual Property and Copyright Stat Line 11674  Intellectual Property and Copyright Stat
11674  </p>  </p>
11675  <p>Grigor Iliev  <p>Grigor Iliev
11676  </p>  </p>
11677  </blockquote>  </blockquote><p>
11678                
11679    </p>
11680  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11681  <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>
11682  <h3>11&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11683  <table width="99%" border="0">  <table width="99%" border="0">
11684    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11685    <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>
11686  <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>
11687  <td class="author-text">Bradner, S., "<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>", RFC 2119, 1997.</td></tr>  <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>
11688  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
11689  <td class="author-text">Crocker, D. and P. Overell, "<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>", RFC 2234, 1997.</td></tr>  <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>
11690  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
11691  <td class="author-text">Defense Advanced Research Projects Agency, "<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>", RFC 793, 1981.</td></tr>  <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>
11692  </table>  </table>
11693    
11694  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11695  <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>
11696  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11697  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11698  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4950  Schoenebeck</td></tr> Line 11706  Schoenebeck</td></tr>
11706  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
11707  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
11708  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
11709  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
11710  <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>
11711  </table>  </table>
11712  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11713  <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>
11714  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11715  <p class='copyright'>  <p class='copyright'>
11716  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>  
11717  <p class='copyright'>  <p class='copyright'>
11718  The IETF invites any interested party to bring to its  This document is subject to the rights,
11719  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11720  other proprietary rights which may cover technology that may be  and except as set forth therein,
11721  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>  
11722  <p class='copyright'>  <p class='copyright'>
11723  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  This document and the information contained herein are provided
11724    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11725    THE ORGANIZATION HE/SHE REPRESENTS
11726    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11727    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11728    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11729    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11730    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11731    PURPOSE.</p>
11732    <h3>Intellectual Property</h3>
11733  <p class='copyright'>  <p class='copyright'>
11734  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11735  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11736  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11737  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11738  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11739  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11740  document itself may not be modified in any way, such as by removing  such rights.
11741  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11742  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>  
11743  <p class='copyright'>  <p class='copyright'>
11744  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11745  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11746    or the result of an attempt made to obtain a general license or
11747    permission for the use of such proprietary rights by implementers or
11748    users of this specification can be obtained from the IETF on-line IPR
11749    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11750  <p class='copyright'>  <p class='copyright'>
11751  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11752  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11753  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11754  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11755  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11756  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11757    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11758  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11759  <p class='copyright'>  <p class='copyright'>
11760  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11761  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11762  </body></html>  </body></html>
11763    

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

  ViewVC Help
Powered by ViewVC