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

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

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

revision 542 by senoner, Sun May 15 15:31:45 2005 UTC revision 1363 by schoenebeck, Sun Sep 30 21:51:14 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2  <html lang="en"><head><title>LinuxSampler Control Protocol</title>  <html lang="en"><head><title>LinuxSampler Control Protocol (draft)</title>
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 (draft)">
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 7, 2005</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">&nbsp;</td><td class="header">May 9, 2005</td></tr>  <tr><td class="header">Expires: March 4, 2008</td><td class="header">September 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol (draft)<br />LSCP 1.2cvs</h1>
 <div align="right"><span class="title"><br />lscp.txt</span></div>  
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
154  This document is an Internet-Draft and is  By submitting this Internet-Draft,
155  in full conformance with all provisions of Section 10 of RFC2026.</p>  each author represents that any applicable patent or other IPR claims of which
156    he or she is aware have been or will be disclosed,
157    and any of which he or she becomes aware will be disclosed,
158    in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
159  <p>  <p>
160  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
161  Task Force (IETF), its areas, and its working groups.  Task Force (IETF), its areas, and its working groups.
# Line 129  Internet-Drafts.</p> Line 165  Internet-Drafts.</p>
165  Internet-Drafts are draft documents valid for a maximum of six months  Internet-Drafts are draft documents valid for a maximum of six months
166  and may be updated, replaced, or obsoleted by other documents at any time.  and may be updated, replaced, or obsoleted by other documents at any time.
167  It is inappropriate to use Internet-Drafts as reference material or to cite  It is inappropriate to use Internet-Drafts as reference material or to cite
168  them other than as "work in progress."</p>  them other than as &ldquo;work in progress.&rdquo;</p>
169  <p>  <p>
170  The list of current Internet-Drafts can be accessed at  The list of current Internet-Drafts can be accessed at
171  <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>  <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>
# Line 137  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on November 7, 2005.</p>  This Internet-Draft will expire on March 4, 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 (2007).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
184  <p>The LinuxSampler Control Protocol (LSCP) is an  <p>The LinuxSampler Control Protocol (LSCP) is an
185              application-level protocol primarily intended for local and              application-level protocol primarily intended for local and
186              remote controlling the LinuxSampler main application, which is a              remote controlling the LinuxSampler backend application, which is a
187              sophisticated console application essentially playing back audio              sophisticated server-like console application essentially playing
188              samples and manipulating the samples in real time to certain              back audio samples and manipulating the samples in real time to
189              extent.              certain extent.
190  </p><a name="toc"></a><br /><hr />  </p><a name="toc"></a><br /><hr />
191  <h3>Table of Contents</h3>  <h3>Table of Contents</h3>
192  <p class="toc">  <p class="toc">
193  <a href="#anchor1">1.</a>&nbsp;  <a href="#anchor1">1.</a>&nbsp;
194  Requirements notation<br />  Requirements notation<br />
195  <a href="#anchor2">2.</a>&nbsp;  <a href="#LSCP versioning">2.</a>&nbsp;
196    Versioning of this specification<br />
197    <a href="#anchor2">3.</a>&nbsp;
198  Introduction<br />  Introduction<br />
199  <a href="#anchor3">3.</a>&nbsp;  <a href="#anchor3">4.</a>&nbsp;
200  Focus of this protocol<br />  Focus of this protocol<br />
201  <a href="#anchor4">4.</a>&nbsp;  <a href="#anchor4">5.</a>&nbsp;
202  Communication Overview<br />  Communication Overview<br />
203  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.1.</a>&nbsp;
204  Request/response communication method<br />  Request/response communication method<br />
205  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">4.1.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">5.1.1.</a>&nbsp;
206  Result format<br />  Result format<br />
207  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">5.2.</a>&nbsp;
208  Subscribe/notify communication method<br />  Subscribe/notify communication method<br />
209  <a href="#anchor8">5.</a>&nbsp;  <a href="#control_commands">6.</a>&nbsp;
210  Description for control commands<br />  Description for control commands<br />
211  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">6.1.</a>&nbsp;
212  Ignored lines and comments<br />  Ignored lines and comments<br />
213  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">6.2.</a>&nbsp;
214  Configuring audio drivers<br />  Configuring audio drivers<br />
215  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1.</a>&nbsp;
216  Getting amount of available audio output drivers<br />  Getting amount of available audio output drivers<br />
217  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2.</a>&nbsp;
218  Getting all available audio output drivers<br />  Getting all available audio output drivers<br />
219  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">5.2.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">6.2.3.</a>&nbsp;
220  Getting information about a specific audio  Getting information about a specific audio
221                  output driver<br />                  output driver<br />
222  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">5.2.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4.</a>&nbsp;
223  Getting information about specific audio  Getting information about specific audio
224                  output driver parameter<br />                  output driver parameter<br />
225  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">5.2.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">6.2.5.</a>&nbsp;
226  Creating an audio output device<br />  Creating an audio output device<br />
227  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">5.2.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">6.2.6.</a>&nbsp;
228  Destroying an audio output device<br />  Destroying an audio output device<br />
229  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">5.2.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">6.2.7.</a>&nbsp;
230  Getting all created audio output device count<br />  Getting all created audio output device count<br />
231  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">5.2.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">6.2.8.</a>&nbsp;
232  Getting all created audio output device list<br />  Getting all created audio output device list<br />
233  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">5.2.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">6.2.9.</a>&nbsp;
234  Getting current settings of an audio output device<br />  Getting current settings of an audio output device<br />
235  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">5.2.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10.</a>&nbsp;
236  Changing settings of audio output devices<br />  Changing settings of audio output devices<br />
237  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">5.2.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11.</a>&nbsp;
238  Getting information about an audio channel<br />  Getting information about an audio channel<br />
239  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">5.2.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12.</a>&nbsp;
240  Getting information about specific audio channel parameter<br />  Getting information about specific audio channel parameter<br />
241  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">5.2.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13.</a>&nbsp;
242  Changing settings of audio output channels<br />  Changing settings of audio output channels<br />
243  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">6.3.</a>&nbsp;
244  Configuring MIDI input drivers<br />  Configuring MIDI input drivers<br />
245  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">5.3.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1.</a>&nbsp;
246  Getting amount of available MIDI input drivers<br />  Getting amount of available MIDI input drivers<br />
247  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">5.3.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2.</a>&nbsp;
248  Getting all available MIDI input drivers<br />  Getting all available MIDI input drivers<br />
249  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">5.3.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">6.3.3.</a>&nbsp;
250  Getting information about a specific MIDI input driver<br />  Getting information about a specific MIDI input driver<br />
251  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">5.3.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4.</a>&nbsp;
252  Getting information about specific MIDI input driver parameter<br />  Getting information about specific MIDI input driver parameter<br />
253  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">5.3.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">6.3.5.</a>&nbsp;
254  Creating a MIDI input device<br />  Creating a MIDI input device<br />
255  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">5.3.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">6.3.6.</a>&nbsp;
256  Destroying a MIDI input device<br />  Destroying a MIDI input device<br />
257  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">5.3.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">6.3.7.</a>&nbsp;
258  Getting all created MIDI input device count<br />  Getting all created MIDI input device count<br />
259  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">5.3.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">6.3.8.</a>&nbsp;
260  Getting all created MIDI input device list<br />  Getting all created MIDI input device list<br />
261  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">5.3.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">6.3.9.</a>&nbsp;
262  Getting current settings of a MIDI input device<br />  Getting current settings of a MIDI input device<br />
263  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">5.3.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10.</a>&nbsp;
264  Changing settings of MIDI input devices<br />  Changing settings of MIDI input devices<br />
265  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">5.3.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">6.3.11.</a>&nbsp;
266  Getting information about a MIDI port<br />  Getting information about a MIDI port<br />
267  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">5.3.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12.</a>&nbsp;
268  Getting information about specific MIDI port parameter<br />  Getting information about specific MIDI port parameter<br />
269  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">5.3.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">6.3.13.</a>&nbsp;
270  Changing settings of MIDI input ports<br />  Changing settings of MIDI input ports<br />
271  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">6.4.</a>&nbsp;
272  Configuring sampler channels<br />  Configuring sampler channels<br />
273  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">5.4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">6.4.1.</a>&nbsp;
274  Loading an instrument<br />  Loading an instrument<br />
275  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">5.4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">6.4.2.</a>&nbsp;
276  Loading a sampler engine<br />  Loading a sampler engine<br />
277  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">5.4.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">6.4.3.</a>&nbsp;
278  Getting all created sampler channel count<br />  Getting all created sampler channel count<br />
279  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">5.4.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">6.4.4.</a>&nbsp;
280  Getting all created sampler channel list<br />  Getting all created sampler channel list<br />
281  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">5.4.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">6.4.5.</a>&nbsp;
282  Adding a new sampler channel<br />  Adding a new sampler channel<br />
283  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">5.4.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">6.4.6.</a>&nbsp;
284  Removing a sampler channel<br />  Removing a sampler channel<br />
285  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">5.4.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">6.4.7.</a>&nbsp;
286  Getting amount of available engines<br />  Getting amount of available engines<br />
287  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">5.4.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">6.4.8.</a>&nbsp;
288  Getting all available engines<br />  Getting all available engines<br />
289  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">5.4.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">6.4.9.</a>&nbsp;
290  Getting information about an engine<br />  Getting information about an engine<br />
291  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">5.4.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">6.4.10.</a>&nbsp;
292  Getting sampler channel information<br />  Getting sampler channel information<br />
293  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">5.4.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">6.4.11.</a>&nbsp;
294  Current number of active voices<br />  Current number of active voices<br />
295  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">5.4.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">6.4.12.</a>&nbsp;
296  Current number of active disk streams<br />  Current number of active disk streams<br />
297  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">5.4.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">6.4.13.</a>&nbsp;
298  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
299  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">5.4.14</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;
300  Setting audio output device<br />  Setting audio output device<br />
301  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">5.4.15</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYPE">6.4.15.</a>&nbsp;
302  Setting audio output type<br />  Setting audio output type<br />
303  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">5.4.16</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;
304  Setting audio output channel<br />  Setting audio output channel<br />
305  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">5.4.17</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">6.4.17.</a>&nbsp;
306  Setting MIDI input device<br />  Setting MIDI input device<br />
307  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">5.4.18</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">6.4.18.</a>&nbsp;
308  Setting MIDI input type<br />  Setting MIDI input type<br />
309  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">5.4.19</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">6.4.19.</a>&nbsp;
310  Setting MIDI input port<br />  Setting MIDI input port<br />
311  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">5.4.20</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20.</a>&nbsp;
312  Setting MIDI input channel<br />  Setting MIDI input channel<br />
313  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">5.4.21</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">6.4.21.</a>&nbsp;
314  Setting channel volume<br />  Setting channel volume<br />
315  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">5.4.22</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MUTE">6.4.22.</a>&nbsp;
316    Muting a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
318    Soloing a sampler channel<br />
319    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
320    Assigning a MIDI instrument map to a sampler channel<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
322    Adding an effect send to a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
324    Removing an effect send from a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
326    Getting amount of effect sends on a sampler channel<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
328    Listing all effect sends on a sampler channel<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330    Getting effect send information<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334    Altering effect send's audio routing<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336    Altering effect send's MIDI controller<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338    Altering effect send's send level<br />
339    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;
340  Resetting a sampler channel<br />  Resetting a sampler channel<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">5.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
342  Controlling connection<br />  Controlling connection<br />
343  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">5.5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1.</a>&nbsp;
344  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
345  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">5.5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2.</a>&nbsp;
346  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
347  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">5.5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3.</a>&nbsp;
348  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
349  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">5.5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4.</a>&nbsp;
350  Close client connection<br />  Close client connection<br />
351  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">5.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
352  Global commands<br />  Global commands<br />
353  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">5.6.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT">6.6.1.</a>&nbsp;
354    Current number of active voices<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356    Maximum amount of active voices<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.3.</a>&nbsp;
358  Reset sampler<br />  Reset sampler<br />
359  <a href="#command_syntax">6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;
360    General sampler informations<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;
362    Getting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;
364    Setting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
366    MIDI Instrument Mapping<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;
368    Create a new MIDI instrument map<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
370    Delete one particular or all MIDI instrument maps<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
372    Get amount of existing MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
374    Getting all created MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
376    Getting MIDI instrument map information<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
378    Renaming a MIDI instrument map<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
380    Create or replace a MIDI instrument map entry<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
382    Getting ammount of MIDI instrument map entries<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
384    Getting indeces of all entries of a MIDI instrument map<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
386    Remove an entry from the MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
388    Get current settings of MIDI instrument map entry<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
390    Clear MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
392    Managing Instruments Database<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
394    Creating a new instrument directory<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
396    Deleting an instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
398    Getting amount of instrument directories<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
400    Listing all directories in specific directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
402    Getting instrument directory information<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
404    Renaming an instrument directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
406    Moving an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
408    Copying instrument directories<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
410    Changing the description of directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
412    Finding directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Adding instruments to the instruments database<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416    Removing an instrument<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418    Getting amount of instruments<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
420    Listing all instruments in specific directory<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422    Getting instrument information<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424    Renaming an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426    Moving an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
428    Copying instruments<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
430    Changing the description of instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
434    Getting job status information<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
436    Formatting the instruments database<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
438    Editing Instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
440    Opening an appropriate instrument editor application<br />
441    <a href="#command_syntax">7.</a>&nbsp;
442  Command Syntax<br />  Command Syntax<br />
443  <a href="#events">7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
444    Character Set and Escape Sequences<br />
445    <a href="#events">8.</a>&nbsp;
446  Events<br />  Events<br />
447  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">7.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
448    Number of audio output devices changed<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
450    Audio output device's settings changed<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
452    Number of MIDI input devices changed<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
454    MIDI input device's settings changed<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
456  Number of sampler channels changed<br />  Number of sampler channels changed<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">7.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;
458  Number of active voices changed<br />  Number of active voices changed<br />
459  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;
460  Number of active disk streams changed<br />  Number of active disk streams changed<br />
461  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;
462  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
463  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">7.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
464  Channel information changed<br />  Channel information changed<br />
465  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;
466    Number of effect sends changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
468    Effect send information changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
470    Total number of active voices changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;
472    Number of MIDI instrument maps changed<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
474    MIDI instrument map information changed<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
476    Number of MIDI instruments changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
478    MIDI instrument information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
480    Global settings changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
482    Number of database instrument directories changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
484    Database instrument directory information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
486    Number of database instruments changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
488    Database instrument information changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
490    Database job status information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
492  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
493  <a href="#anchor15">8.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
494  Security Considerations<br />  Security Considerations<br />
495  <a href="#anchor16">9.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
496  Acknowledgments<br />  Acknowledgments<br />
497  <a href="#rfc.references1">10.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
498  References<br />  References<br />
499  <a href="#rfc.authors">&#167;</a>&nbsp;  <a href="#rfc.authors">&#167;</a>&nbsp;
500  Author's Address<br />  Author's Address<br />
# Line 320  Intellectual Property and Copyright Stat Line 504  Intellectual Property and Copyright Stat
504  <br clear="all" />  <br clear="all" />
505    
506  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
507  <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>
508  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
509    Requirements notation</h3>
510    
511  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
512              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
513              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
514              described in <a class="info" href="#RFC2119">[RFC2119]<span>Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, March 1997.</span></a>.              described in <a class='info' href='#RFC2119'>[RFC2119]<span> (</span><span class='info'>Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; 1997.</span><span>)</span></a>.
515  </p>  </p>
516  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
517              claimed the opposite.              claimed the opposite.
# Line 335  Intellectual Property and Copyright Stat Line 520  Intellectual Property and Copyright Stat
520              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
521              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
522              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
523              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>),
524              example:              thus the following example:
525  </p>  </p>
526  <p></p>  <p>
527                    </p>
528  <blockquote class="text">  <blockquote class="text">
529  <p>C: "some line"  <p>C: "some line"
530  </p>  </p>
531  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
532  </p>  </p>
533  </blockquote>  </blockquote><p>
534                
535    </p>
536  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
537              message:              message:
538  </p>  </p>
539  <p></p>  <p>
540                    </p>
541  <blockquote class="text">  <blockquote class="text">
542  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
543                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
544  </p>  </p>
545  </blockquote>  </blockquote><p>
546                
547    </p>
548  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
549              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
550              standard.              standard.
# Line 363  Intellectual Property and Copyright Stat Line 552  Intellectual Property and Copyright Stat
552  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
553              fragmented, means the following example:              fragmented, means the following example:
554  </p>  </p>
555  <p></p>  <p>
556                    </p>
557  <blockquote class="text">  <blockquote class="text">
558  <p>S: "abcd"  <p>S: "abcd"
559  </p>  </p>
560  </blockquote>  </blockquote><p>
561                
562    </p>
563  <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
564              following sequence scenario:              following sequence scenario:
565  </p>  </p>
566  <p></p>  <p>
567                    </p>
568  <ul class="text">  <ul class="text">
569  <li>server sending message "a"  <li>server sending message "a"
570  </li>  </li>
# Line 388  Intellectual Property and Copyright Stat Line 580  Intellectual Property and Copyright Stat
580  <li>followed by server sending the message  <li>followed by server sending the message
581                      "&lt;LF&gt;"                      "&lt;LF&gt;"
582  </li>  </li>
583  </ul>  </ul><p>
584                
585    </p>
586  <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
587              return and line feed characters respectively.              return and line feed characters respectively.
588  </p>  </p>
589    <a name="LSCP versioning"></a><br /><hr />
590    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
591    <a name="rfc.section.2"></a><h3>2.&nbsp;
592    Versioning of this specification</h3>
593    
594    <p>LSCP will certainly be extended and enhanced by-and-by. Each official
595                release of the LSCP specification will be tagged with a unique version
596                tuple. The version tuple consists at least of a major and minor version
597                number like:
598                
599    </p>
600    <p>
601                    </p>
602    <blockquote class="text">
603    <p>"1.2"
604    </p>
605    </blockquote><p>
606                
607    </p>
608    <p>
609                In this example the major version number would be "1" and the minor
610                version number would be "2". Note that the version tuple might also
611                have more than two elements. The major version number defines a
612                group of backward compatible versions. That means a frontend is
613                compatible to the connected sampler if and only if the LSCP versions
614                to which each of the two parties complies to, match both of the
615                following rules:
616                
617    </p>
618    <p>Compatibility:
619    </p>
620    <p>
621                    </p>
622    <ol class="text">
623    <li>The frontend's LSCP major version and the sampler's LSCP
624                        major version are exactly equal.
625    </li>
626    <li>The frontend's LSCP minor version is less or equal than
627                        the sampler's LSCP minor version.
628    </li>
629    </ol><p>
630                
631    </p>
632    <p>
633                Compatibility can only be claimed if both rules are true.
634                The frontend can use the
635                <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
636                get the version of the LSCP specification the sampler complies with.
637                
638    </p>
639  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
640  <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>
641  <a name="rfc.section.2"></a><h3>2.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
642    Introduction</h3>
643    
644  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
645              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 408  Intellectual Property and Copyright Stat Line 652  Intellectual Property and Copyright Stat
652              arbitrary MIDI input method and arbitrary MIDI channel (e.g.              arbitrary MIDI input method and arbitrary MIDI channel (e.g.
653              sampler channel 17 could be connected to an ALSA sequencer              sampler channel 17 could be connected to an ALSA sequencer
654              device 64:0 and listening to MIDI channel 1 there). Each sampler              device 64:0 and listening to MIDI channel 1 there). Each sampler
655              engine will be assigned an own instance of one of the available              channel will be associated with an instance of one of the available
656              sampler engines (e.g. GigEngine, DLSEngine). The audio output of              sampler engines (e.g. GigEngine, DLSEngine). The audio output of
657              each sampler channel can be routed to an arbitrary audio output              each sampler channel can be routed to an arbitrary audio output
658              method (ALSA / JACK) and an arbitrary audio output channel              method (ALSA / JACK) and an arbitrary audio output channel
659              there.              there.
660  </p>  </p>
661  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
662  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
663  <a name="rfc.section.3"></a><h3>3.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
664    Focus of this protocol</h3>
665    
666  <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
667              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 427  Intellectual Property and Copyright Stat Line 672  Intellectual Property and Copyright Stat
672              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
673  </p>  </p>
674  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
675  <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>
676  <a name="rfc.section.4"></a><h3>4.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
677    Communication Overview</h3>
678    
679  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
680              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 441  Intellectual Property and Copyright Stat Line 687  Intellectual Property and Copyright Stat
687              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
688              methods will be described next.              methods will be described next.
689  </p>  </p>
690  <a name="rfc.section.4.1"></a><h4><a name="anchor5">4.1</a>&nbsp;Request/response communication method</h4>  <a name="anchor5"></a><br /><hr />
691    <table 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.1"></a><h3>5.1.&nbsp;
693    Request/response communication method</h3>
694    
695  <p>This simple communication method is based on TCP. The  <p>This simple communication method is based on
696                    <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
697                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
698                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
699                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 483  Intellectual Property and Copyright Stat Line 733  Intellectual Property and Copyright Stat
733                  processed in the order they were received and result sets                  processed in the order they were received and result sets
734                  MUST be sent back in the same order.                  MUST be sent back in the same order.
735  </p>  </p>
736  <a name="rfc.section.4.1.1"></a><h4><a name="anchor6">4.1.1</a>&nbsp;Result format</h4>  <a name="anchor6"></a><br /><hr />
737    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
738    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
739    Result format</h3>
740    
741  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
742  </p>  </p>
743  <p></p>  <p>
744                            </p>
745  <ol class="text">  <ol class="text">
746  <li>Normal  <li>Normal
747  </li>  </li>
# Line 495  Intellectual Property and Copyright Stat Line 749  Intellectual Property and Copyright Stat
749  </li>  </li>
750  <li>Error  <li>Error
751  </li>  </li>
752  </ol>  </ol><p>
753                        
754    </p>
755  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
756                      have the following format:                      have the following format:
757  </p>  </p>
758  <p></p>  <p>
759                            </p>
760  <ul class="text">  <ul class="text">
761  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
762  </li>  </li>
763  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
764  </li>  </li>
765  </ul>  </ul><p>
766                        
767    </p>
768  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
769                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
770                      &lt;warning-message&gt; and &lt;error-message&gt; are                      &lt;warning-message&gt; and &lt;error-message&gt; are
# Line 516  Intellectual Property and Copyright Stat Line 773  Intellectual Property and Copyright Stat
773  </p>  </p>
774  <p>Examples:  <p>Examples:
775  </p>  </p>
776  <p></p>  <p>
777                            </p>
778  <blockquote class="text">  <blockquote class="text">
779  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
780  </p>  </p>
781  <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."
782  </p>  </p>
783  </blockquote>  </blockquote><p>
784                        
785  <p></p>  </p>
786    <p>
787                            </p>
788  <blockquote class="text">  <blockquote class="text">
789  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
790  </p>  </p>
791  <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'."
792  </p>  </p>
793  </blockquote>  </blockquote><p>
794                        
795  <p></p>  </p>
796    <p>
797                            </p>
798  <blockquote class="text">  <blockquote class="text">
799  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
800  </p>  </p>
801  <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."
802  </p>  </p>
803  </blockquote>  </blockquote><p>
804                        
805    </p>
806  <p>Normal result sets could be:  <p>Normal result sets could be:
807  </p>  </p>
808  <p></p>  <p>
809                            </p>
810  <ol class="text">  <ol class="text">
811  <li>Empty  <li>Empty
812  </li>  </li>
# Line 550  Intellectual Property and Copyright Stat Line 814  Intellectual Property and Copyright Stat
814  </li>  </li>
815  <li>Multi-line  <li>Multi-line
816  </li>  </li>
817  </ol>  </ol><p>
818                        
819    </p>
820  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
821                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
822                      received and it was processed successfully and no                      received and it was processed successfully and no
823                      additional information is available. This result set has                      additional information is available. This result set has
824                      the following format:                      the following format:
825  </p>  </p>
826  <p></p>  <p>
827                            </p>
828  <blockquote class="text">  <blockquote class="text">
829  <p>"OK"  <p>"OK"
830  </p>  </p>
831  </blockquote>  </blockquote><p>
832                        
833    </p>
834  <p>Example:  <p>Example:
835  </p>  </p>
836  <p></p>  <p>
837                            </p>
838  <blockquote class="text">  <blockquote class="text">
839  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
840  </p>  </p>
841  <p>S: "OK"  <p>S: "OK"
842  </p>  </p>
843  </blockquote>  </blockquote><p>
844                        
845    </p>
846  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
847                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
848                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
849                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
850                      always end with the following line:                      always end with the following line:
851  </p>  </p>
852  <p></p>  <p>
853                            </p>
854  <blockquote class="text">  <blockquote class="text">
855  <p>"."  <p>"."
856  </p>  </p>
857  </blockquote>  </blockquote><p>
858                        
859    </p>
860  <p>Example:  <p>Example:
861  </p>  </p>
862  <p></p>  <p>
863                            </p>
864  <blockquote class="text">  <blockquote class="text">
865  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
866  </p>  </p>
# Line 608  Intellectual Property and Copyright Stat Line 880  Intellectual Property and Copyright Stat
880  </p>  </p>
881  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
882  </p>  </p>
883  </blockquote>  </blockquote><p>
884                        
885    </p>
886  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
887                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
888                      have the following formats respectively:                      have the following formats respectively:
889  </p>  </p>
890  <p></p>  <p>
891                            </p>
892  <ul class="text">  <ul class="text">
893  <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;"
894  </li>  </li>
895  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
896  </li>  </li>
897  </ul>  </ul><p>
898                        
899    </p>
900  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
901                      to indicate channel number that the result set was                      to indicate channel number that the result set was
902                      related to or other integer value.                      related to or other integer value.
# Line 631  Intellectual Property and Copyright Stat Line 906  Intellectual Property and Copyright Stat
906  </p>  </p>
907  <p>Examples:  <p>Examples:
908  </p>  </p>
909  <p></p>  <p>
910                            </p>
911  <blockquote class="text">  <blockquote class="text">
912  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
913  </p>  </p>
914  <p>S: "OK[12]"  <p>S: "OK[12]"
915  </p>  </p>
916  </blockquote>  </blockquote><p>
917                        
918  <p></p>  </p>
919    <p>
920                            </p>
921  <blockquote class="text">  <blockquote class="text">
922  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
923  </p>  </p>
924  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
925  </p>  </p>
926  </blockquote>  </blockquote><p>
927                        
928  <a name="rfc.section.4.2"></a><h4><a name="anchor7">4.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
929    <a name="anchor7"></a><br /><hr />
930    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
931    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
932    Subscribe/notify communication method</h3>
933    
934  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
935                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 659  Intellectual Property and Copyright Stat Line 941  Intellectual Property and Copyright Stat
941                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
942                  following syntax:                  following syntax:
943  </p>  </p>
944  <p></p>  <p>
945                        </p>
946  <blockquote class="text">  <blockquote class="text">
947  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
948  </p>  </p>
949  </blockquote>  </blockquote><p>
950                    
951    </p>
952  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
953                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
954                  request, server SHOULD respond with OK and start sending                  request, server SHOULD respond with OK and start sending
# Line 674  Intellectual Property and Copyright Stat Line 958  Intellectual Property and Copyright Stat
958                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
959                  following format:                  following format:
960  </p>  </p>
961  <p></p>  <p>
962                        </p>
963  <blockquote class="text">  <blockquote class="text">
964  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
965  </p>  </p>
966  </blockquote>  </blockquote><p>
967                    
968    </p>
969  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
970                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
971                  specific.                  specific.
# Line 687  Intellectual Property and Copyright Stat Line 973  Intellectual Property and Copyright Stat
973  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
974                  generating events:                  generating events:
975  </p>  </p>
976  <p></p>  <p>
977                        </p>
978  <ol class="text">  <ol class="text">
979  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
980                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 702  Intellectual Property and Copyright Stat Line 989  Intellectual Property and Copyright Stat
989                          middle of the event message as well as any other                          middle of the event message as well as any other
990                          response.                          response.
991  </li>  </li>
992  </ol>  </ol><p>
993                    
994    </p>
995  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
996                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
997                  syntax:                  syntax:
998  </p>  </p>
999  <p></p>  <p>
1000                        </p>
1001  <blockquote class="text">  <blockquote class="text">
1002  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
1003  </p>  </p>
1004  </blockquote>  </blockquote><p>
1005                    
1006    </p>
1007  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1008                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1009                  a list of supported events see <a class="info" href="#events">Section 7<span>Events</span></a>.                  a list of supported events see <a class='info' href='#events'>Section&nbsp;8<span> (</span><span class='info'>Events</span><span>)</span></a>.
1010  </p>  </p>
1011  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1012                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
1013                  will react by sending the following message to all clients                  will react by sending the following message to all clients
1014                  who subscribed to this event:                  who subscribed to this event:
1015  </p>  </p>
1016  <p></p>  <p>
1017                        </p>
1018  <blockquote class="text">  <blockquote class="text">
1019  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
1020  </p>  </p>
1021  </blockquote>  </blockquote><p>
1022                    
1023    </p>
1024  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
1025                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
1026                  by 62%, stream with ID 33 is filled by 80% and stream with                  by 62%, stream with ID 33 is filled by 80% and stream with
# Line 759  Intellectual Property and Copyright Stat Line 1051  Intellectual Property and Copyright Stat
1051                  If client reconnects it MUST resubscribe to all events that                  If client reconnects it MUST resubscribe to all events that
1052                  it wants to receive.                  it wants to receive.
1053  </p>  </p>
1054  <a name="anchor8"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1055  <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>
1056  <a name="rfc.section.5"></a><h3>5.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1057    Description for control commands</h3>
1058    
1059  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1060              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1061              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>
1062              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
1063              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1064              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1065  </p>  </p>
1066  <a name="rfc.section.5.1"></a><h4><a name="anchor9">5.1</a>&nbsp;Ignored lines and comments</h4>  <a name="anchor8"></a><br /><hr />
1067    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1068    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1069    Ignored lines and comments</h3>
1070    
1071  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1072                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 778  Intellectual Property and Copyright Stat Line 1074  Intellectual Property and Copyright Stat
1074                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1075                  file.                  file.
1076  </p>  </p>
1077  <a name="rfc.section.5.2"></a><h4><a name="anchor10">5.2</a>&nbsp;Configuring audio drivers</h4>  <a name="anchor9"></a><br /><hr />
1078    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1079    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1080    Configuring audio drivers</h3>
1081    
1082  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1083                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 811  Intellectual Property and Copyright Stat Line 1110  Intellectual Property and Copyright Stat
1110                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1111                  possible values, etc.                  possible values, etc.
1112  </p>  </p>
1113  <a name="rfc.section.5.2.1"></a><h4><a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.1</a>&nbsp;Getting amount of available audio output drivers</h4>  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1114    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1115    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1116    Getting amount of available audio output drivers</h3>
1117    
1118  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1119                      audio output drivers currently available for the                      audio output drivers currently available for the
1120                      LinuxSampler instance:                      LinuxSampler instance:
1121  </p>  </p>
1122  <p></p>  <p>
1123                            </p>
1124  <blockquote class="text">  <blockquote class="text">
1125  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1126  </p>  </p>
1127  </blockquote>  </blockquote><p>
1128                        
1129    </p>
1130  <p>Possible Answers:  <p>Possible Answers:
1131  </p>  </p>
1132  <p></p>  <p>
1133                            </p>
1134  <blockquote class="text">  <blockquote class="text">
1135  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1136                              number of audio output drivers.                              number of audio output drivers.
1137  </p>  </p>
1138  </blockquote>  </blockquote><p>
1139                        
1140    </p>
1141  <p>Example:  <p>Example:
1142  </p>  </p>
1143  <p></p>  <p>
1144                            </p>
1145  <blockquote class="text">  <blockquote class="text">
1146  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1147  </p>  </p>
1148  <p>S: "2"  <p>S: "2"
1149  </p>  </p>
1150  </blockquote>  </blockquote><p>
1151                        
1152  <a name="rfc.section.5.2.2"></a><h4><a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">5.2.2</a>&nbsp;Getting all available audio output drivers</h4>  </p>
1153    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1154    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1155    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1156    Getting all available audio output drivers</h3>
1157    
1158  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1159                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1160                      instance:                      instance:
1161  </p>  </p>
1162  <p></p>  <p>
1163                            </p>
1164  <blockquote class="text">  <blockquote class="text">
1165  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1166  </p>  </p>
1167  </blockquote>  </blockquote><p>
1168                        
1169    </p>
1170  <p>Possible Answers:  <p>Possible Answers:
1171  </p>  </p>
1172  <p></p>  <p>
1173                            </p>
1174  <blockquote class="text">  <blockquote class="text">
1175  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1176                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1177                              audio output driver.                              audio output driver.
1178  </p>  </p>
1179  </blockquote>  </blockquote><p>
1180                        
1181    </p>
1182  <p>Example:  <p>Example:
1183  </p>  </p>
1184  <p></p>  <p>
1185                            </p>
1186  <blockquote class="text">  <blockquote class="text">
1187  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1188  </p>  </p>
1189  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1190  </p>  </p>
1191  </blockquote>  </blockquote><p>
1192                        
1193  <a name="rfc.section.5.2.3"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER INFO">5.2.3</a>&nbsp;Getting information about a specific audio  </p>
1194                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1195    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1196    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1197    Getting information about a specific audio
1198                    output driver</h3>
1199    
1200  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1201                      about a specific audio output driver:                      about a specific audio output driver:
1202  </p>  </p>
1203  <p></p>  <p>
1204                            </p>
1205  <blockquote class="text">  <blockquote class="text">
1206  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1207                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1208  </p>  </p>
1209  </blockquote>  </blockquote><p>
1210                        
1211    </p>
1212  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1213                      audio output driver, returned by the                      audio output driver, returned by the
1214                      <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.
1215  </p>  </p>
1216  <p>Possible Answers:  <p>Possible Answers:
1217  </p>  </p>
1218  <p></p>  <p>
1219                            </p>
1220  <blockquote class="text">  <blockquote class="text">
1221  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1222                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 904  Intellectual Property and Copyright Stat Line 1227  Intellectual Property and Copyright Stat
1227                              following information categories are                              following information categories are
1228                              defined:                              defined:
1229  </p>  </p>
1230  <p></p>  <p>
1231                                  </p>
1232  <blockquote class="text">  <blockquote class="text">
1233  <p>DESCRIPTION -  <p>DESCRIPTION -
1234                                      </p>                                      </p>
# Line 913  Intellectual Property and Copyright Stat Line 1237  Intellectual Property and Copyright Stat
1237                                        audio output driver                                        audio output driver
1238  </p>  </p>
1239  </blockquote>  </blockquote>
1240                                      
1241    
1242  <p>VERSION -  <p>VERSION -
1243                                      </p>                                      </p>
# Line 921  Intellectual Property and Copyright Stat Line 1246  Intellectual Property and Copyright Stat
1246                                        driver's version                                        driver's version
1247  </p>  </p>
1248  </blockquote>  </blockquote>
1249                                      
1250    
1251  <p>PARAMETERS -  <p>PARAMETERS -
1252                                      </p>                                      </p>
# Line 933  Intellectual Property and Copyright Stat Line 1259  Intellectual Property and Copyright Stat
1259                                        output drivers                                        output drivers
1260  </p>  </p>
1261  </blockquote>  </blockquote>
1262                                      
1263    
1264  </blockquote>  </blockquote>
1265                                
1266    
1267  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1268                              in particular order.                              in particular order.
1269  </p>  </p>
1270  </blockquote>  </blockquote><p>
1271                        
1272    </p>
1273  <p>Example:  <p>Example:
1274  </p>  </p>
1275  <p></p>  <p>
1276                          </p>
1277  <blockquote class="text">  <blockquote class="text">
1278  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1279  </p>  </p>
# Line 958  Intellectual Property and Copyright Stat Line 1288  Intellectual Property and Copyright Stat
1288  </p>  </p>
1289  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1290  </p>  </p>
1291  </blockquote>  </blockquote><p>
1292                        
1293  <a name="rfc.section.5.2.4"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">5.2.4</a>&nbsp;Getting information about specific audio  </p>
1294                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1295    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1296    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1297    Getting information about specific audio
1298                    output driver parameter</h3>
1299    
1300  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1301                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1302  </p>  </p>
1303  <p></p>  <p>
1304                            </p>
1305  <blockquote class="text">  <blockquote class="text">
1306  <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;]
1307  </p>  </p>
1308  </blockquote>  </blockquote><p>
1309                        
1310    </p>
1311  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1312                      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,
1313                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1314                      obtained (as returned by the                      obtained (as returned by the
1315                      <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
1316                      &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
1317                      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
1318                      pairs in form of "key1=val1 key2=val2 ...", where character string values                      pairs in form of "key1=val1 key2=val2 ...", where character string values
# Line 987  Intellectual Property and Copyright Stat Line 1323  Intellectual Property and Copyright Stat
1323  </p>  </p>
1324  <p>Possible Answers:  <p>Possible Answers:
1325  </p>  </p>
1326  <p></p>  <p>
1327                            </p>
1328  <blockquote class="text">  <blockquote class="text">
1329  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1330                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1000  Intellectual Property and Copyright Stat Line 1337  Intellectual Property and Copyright Stat
1337                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1338                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1339  </p>  </p>
1340  </blockquote>  </blockquote><p>
1341                        
1342  <p></p>  </p>
1343    <p>
1344                            </p>
1345  <blockquote class="text">  <blockquote class="text">
1346  <p>TYPE -  <p>TYPE -
1347                                </p>                                </p>
# Line 1014  Intellectual Property and Copyright Stat Line 1353  Intellectual Property and Copyright Stat
1353                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1354  </p>  </p>
1355  </blockquote>  </blockquote>
1356                                
1357    
1358  <p>DESCRIPTION -  <p>DESCRIPTION -
1359                                </p>                                </p>
# Line 1022  Intellectual Property and Copyright Stat Line 1362  Intellectual Property and Copyright Stat
1362                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1363  </p>  </p>
1364  </blockquote>  </blockquote>
1365                                
1366    
1367  <p>MANDATORY -  <p>MANDATORY -
1368                                </p>                                </p>
1369  <blockquote class="text">  <blockquote class="text">
1370  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1371                                  given when the device is to be created with the                                  given when the device is to be created with the
1372                                  <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>
1373                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1374  </p>  </p>
1375  </blockquote>  </blockquote>
1376                                
1377    
1378  <p>FIX -  <p>FIX -
1379                                </p>                                </p>
1380  <blockquote class="text">  <blockquote class="text">
1381  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1382                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1383                                  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>
1384                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1385  </p>  </p>
1386  </blockquote>  </blockquote>
1387                                
1388    
1389  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1390                                </p>                                </p>
# Line 1052  Intellectual Property and Copyright Stat Line 1395  Intellectual Property and Copyright Stat
1395                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1396  </p>  </p>
1397  </blockquote>  </blockquote>
1398                                
1399    
1400  <p>DEPENDS -  <p>DEPENDS -
1401                                </p>                                </p>
1402  <blockquote class="text">  <blockquote class="text">
1403  <p>comma separated list of paramters this parameter depends  <p>comma separated list of parameters this parameter depends
1404                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',
1405                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these
1406                                  listed parameters, for example assuming that an audio                                  listed parameters, for example assuming that an audio
# Line 1068  Intellectual Property and Copyright Stat Line 1412  Intellectual Property and Copyright Stat
1412                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1413  </p>  </p>
1414  </blockquote>  </blockquote>
1415                                
1416    
1417  <p>DEFAULT -  <p>DEFAULT -
1418                                </p>                                </p>
1419  <blockquote class="text">  <blockquote class="text">
1420  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1421                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1422                                  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,
1423                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1424                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1425                                  apostrophes (')                                  apostrophes (')
1426                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1427  </p>  </p>
1428  </blockquote>  </blockquote>
1429                                
1430    
1431  <p>RANGE_MIN -  <p>RANGE_MIN -
1432                                </p>                                </p>
# Line 1092  Intellectual Property and Copyright Stat Line 1438  Intellectual Property and Copyright Stat
1438                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1439  </p>  </p>
1440  </blockquote>  </blockquote>
1441                                
1442    
1443  <p>RANGE_MAX -  <p>RANGE_MAX -
1444                                </p>                                </p>
# Line 1103  Intellectual Property and Copyright Stat Line 1450  Intellectual Property and Copyright Stat
1450                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1451  </p>  </p>
1452  </blockquote>  </blockquote>
1453                                
1454    
1455  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1456                                </p>                                </p>
# Line 1113  Intellectual Property and Copyright Stat Line 1461  Intellectual Property and Copyright Stat
1461                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1462  </p>  </p>
1463  </blockquote>  </blockquote>
1464                                
1465    
1466  </blockquote>  </blockquote><p>
1467                        
1468    </p>
1469  <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.
1470  </p>  </p>
1471  <p>Examples:  <p>Examples:
1472  </p>  </p>
1473  <p></p>  <p>
1474                            </p>
1475  <blockquote class="text">  <blockquote class="text">
1476  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1477  </p>  </p>
# Line 1140  Intellectual Property and Copyright Stat Line 1491  Intellectual Property and Copyright Stat
1491  </p>  </p>
1492  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1493  </p>  </p>
1494  </blockquote>  </blockquote><p>
1495                        
1496  <p></p>  </p>
1497    <p>
1498                            </p>
1499  <blockquote class="text">  <blockquote class="text">
1500  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1501  </p>  </p>
# Line 1162  Intellectual Property and Copyright Stat Line 1515  Intellectual Property and Copyright Stat
1515  </p>  </p>
1516  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1517  </p>  </p>
1518  </blockquote>  </blockquote><p>
1519                        
1520  <p></p>  </p>
1521    <p>
1522                            </p>
1523  <blockquote class="text">  <blockquote class="text">
1524  <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'"
1525  </p>  </p>
# Line 1188  Intellectual Property and Copyright Stat Line 1543  Intellectual Property and Copyright Stat
1543  </p>  </p>
1544  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1545  </p>  </p>
1546  </blockquote>  </blockquote><p>
1547                        
1548  <a name="rfc.section.5.2.5"></a><h4><a name="CREATE AUDIO_OUTPUT_DEVICE">5.2.5</a>&nbsp;Creating an audio output device</h4>  </p>
1549    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1550    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1551    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1552    Creating an audio output device</h3>
1553    
1554  <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:
1555  </p>  </p>
1556  <p></p>  <p>
1557                            </p>
1558  <blockquote class="text">  <blockquote class="text">
1559  <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;]
1560  </p>  </p>
1561  </blockquote>  </blockquote><p>
1562                        
1563    </p>
1564  <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
1565                      output system and &lt;param-list&gt; by an optional list of driver                      output system as returned by the
1566                        <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>
1567                        command and &lt;param-list&gt; by an optional list of driver
1568                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1569                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
1570                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 1210  Intellectual Property and Copyright Stat Line 1573  Intellectual Property and Copyright Stat
1573  </p>  </p>
1574  <p>Possible Answers:  <p>Possible Answers:
1575  </p>  </p>
1576  <p></p>  <p>
1577                            </p>
1578  <blockquote class="text">  <blockquote class="text">
1579  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1580                                  </p>                                  </p>
# Line 1219  Intellectual Property and Copyright Stat Line 1583  Intellectual Property and Copyright Stat
1583                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1584  </p>  </p>
1585  </blockquote>  </blockquote>
1586                                
1587    
1588  <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;" -
1589                                  </p>                                  </p>
# Line 1231  Intellectual Property and Copyright Stat Line 1596  Intellectual Property and Copyright Stat
1596                                      warning message                                      warning message
1597  </p>  </p>
1598  </blockquote>  </blockquote>
1599                                
1600    
1601  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1602                                  </p>                                  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1604  Intellectual Property and Copyright Stat
1604  <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
1605  </p>  </p>
1606  </blockquote>  </blockquote>
1607                                
1608    
1609  </blockquote>  </blockquote><p>
1610                        
1611    </p>
1612  <p>Examples:  <p>Examples:
1613  </p>  </p>
1614  <p></p>  <p>
1615                            </p>
1616  <blockquote class="text">  <blockquote class="text">
1617  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1618  </p>  </p>
1619  <p>S: "OK[0]"  <p>S: "OK[0]"
1620  </p>  </p>
1621  </blockquote>  </blockquote><p>
1622                        
1623  <p></p>  </p>
1624    <p>
1625                            </p>
1626  <blockquote class="text">  <blockquote class="text">
1627  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1628  </p>  </p>
1629  <p>S: "OK[1]"  <p>S: "OK[1]"
1630  </p>  </p>
1631  </blockquote>  </blockquote><p>
1632                        
1633  <a name="rfc.section.5.2.6"></a><h4><a name="DESTROY AUDIO_OUTPUT_DEVICE">5.2.6</a>&nbsp;Destroying an audio output device</h4>  </p>
1634    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1635    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1636    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1637    Destroying an audio output device</h3>
1638    
1639  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1640  </p>  </p>
1641  <p></p>  <p>
1642                            </p>
1643  <blockquote class="text">  <blockquote class="text">
1644  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1645  </p>  </p>
1646  </blockquote>  </blockquote><p>
1647                        
1648    </p>
1649  <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
1650                      audio output device as given by the                      audio output device as given by the
1651                      <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>
1652                      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>
1653                      command.                      command.
1654  </p>  </p>
1655  <p>Possible Answers:  <p>Possible Answers:
1656  </p>  </p>
1657  <p></p>  <p>
1658                            </p>
1659  <blockquote class="text">  <blockquote class="text">
1660  <p>"OK" -  <p>"OK" -
1661                                  </p>                                  </p>
# Line 1285  Intellectual Property and Copyright Stat Line 1663  Intellectual Property and Copyright Stat
1663  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1664  </p>  </p>
1665  </blockquote>  </blockquote>
1666                                
1667    
1668  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1669                                  </p>                                  </p>
# Line 1296  Intellectual Property and Copyright Stat Line 1675  Intellectual Property and Copyright Stat
1675                                      warning code and warning message                                      warning code and warning message
1676  </p>  </p>
1677  </blockquote>  </blockquote>
1678                                
1679    
1680  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1681                                  </p>                                  </p>
# Line 1304  Intellectual Property and Copyright Stat Line 1684  Intellectual Property and Copyright Stat
1684                                      error message                                      error message
1685  </p>  </p>
1686  </blockquote>  </blockquote>
1687                                
1688    
1689  </blockquote>  </blockquote><p>
1690                        
1691    </p>
1692  <p>Example:  <p>Example:
1693  </p>  </p>
1694  <p></p>  <p>
1695                            </p>
1696  <blockquote class="text">  <blockquote class="text">
1697  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1698  </p>  </p>
1699  <p>S: "OK"  <p>S: "OK"
1700  </p>  </p>
1701  </blockquote>  </blockquote><p>
1702                        
1703  <a name="rfc.section.5.2.7"></a><h4><a name="GET AUDIO_OUTPUT_DEVICES">5.2.7</a>&nbsp;Getting all created audio output device count</h4>  </p>
1704    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1705    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1706    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1707    Getting all created audio output device count</h3>
1708    
1709  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1710  </p>  </p>
1711  <p></p>  <p>
1712                            </p>
1713  <blockquote class="text">  <blockquote class="text">
1714  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1715  </p>  </p>
1716  </blockquote>  </blockquote><p>
1717                        
1718    </p>
1719  <p>Possible Answers:  <p>Possible Answers:
1720  </p>  </p>
1721  <p></p>  <p>
1722                            </p>
1723  <blockquote class="text">  <blockquote class="text">
1724  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1725                              audio output devices.                              audio output devices.
1726  </p>  </p>
1727  </blockquote>  </blockquote><p>
1728                        
1729    </p>
1730  <p>Example:  <p>Example:
1731  </p>  </p>
1732  <p></p>  <p>
1733                            </p>
1734  <blockquote class="text">  <blockquote class="text">
1735  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1736  </p>  </p>
1737  <p>S: "4"  <p>S: "4"
1738  </p>  </p>
1739  </blockquote>  </blockquote><p>
1740                        
1741  <a name="rfc.section.5.2.8"></a><h4><a name="LIST AUDIO_OUTPUT_DEVICES">5.2.8</a>&nbsp;Getting all created audio output device list</h4>  </p>
1742    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1743    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1744    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1745    Getting all created audio output device list</h3>
1746    
1747  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1748  </p>  </p>
1749  <p></p>  <p>
1750                            </p>
1751  <blockquote class="text">  <blockquote class="text">
1752  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1753  </p>  </p>
1754  </blockquote>  </blockquote><p>
1755                        
1756    </p>
1757  <p>Possible Answers:  <p>Possible Answers:
1758  </p>  </p>
1759  <p></p>  <p>
1760                            </p>
1761  <blockquote class="text">  <blockquote class="text">
1762  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1763                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1764  </p>  </p>
1765  </blockquote>  </blockquote><p>
1766                        
1767    </p>
1768  <p>Example:  <p>Example:
1769  </p>  </p>
1770  <p></p>  <p>
1771                            </p>
1772  <blockquote class="text">  <blockquote class="text">
1773  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1774  </p>  </p>
1775  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1776  </p>  </p>
1777  </blockquote>  </blockquote><p>
1778                        
1779  <a name="rfc.section.5.2.9"></a><h4><a name="GET AUDIO_OUTPUT_DEVICE INFO">5.2.9</a>&nbsp;Getting current settings of an audio output device</h4>  </p>
1780    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1781    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1782    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1783    Getting current settings of an audio output device</h3>
1784    
1785  <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:
1786  </p>  </p>
1787  <p></p>  <p>
1788                            </p>
1789  <blockquote class="text">  <blockquote class="text">
1790  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1791  </p>  </p>
1792  </blockquote>  </blockquote><p>
1793                        
1794    </p>
1795  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1796                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1797                      <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.
1798  </p>  </p>
1799  <p>Possible Answers:  <p>Possible Answers:
1800  </p>  </p>
# Line 1399  Intellectual Property and Copyright Stat Line 1806  Intellectual Property and Copyright Stat
1806                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1807                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1808  </p>  </p>
1809  <p></p>  <p>
1810                            </p>
1811  <blockquote class="text">  <blockquote class="text">
1812  <p>DRIVER -  <p>DRIVER -
1813                                  </p>                                  </p>
1814  <blockquote class="text">  <blockquote class="text">
1815  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1816                                      returned by the                                      returned by the
1817                                      <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>
1818                                      command                                      command
1819  </p>  </p>
1820  </blockquote>  </blockquote>
1821                                
1822    
1823  <p>CHANNELS -  <p>CHANNELS -
1824                                  </p>                                  </p>
# Line 1418  Intellectual Property and Copyright Stat Line 1827  Intellectual Property and Copyright Stat
1827                                      offers                                      offers
1828  </p>  </p>
1829  </blockquote>  </blockquote>
1830                                
1831    
1832  <p>SAMPLERATE -  <p>SAMPLERATE -
1833                                  </p>                                  </p>
# Line 1425  Intellectual Property and Copyright Stat Line 1835  Intellectual Property and Copyright Stat
1835  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1836  </p>  </p>
1837  </blockquote>  </blockquote>
1838                                
1839    
1840  <p>ACTIVE -  <p>ACTIVE -
1841                                  </p>                                  </p>
# Line 1435  Intellectual Property and Copyright Stat Line 1846  Intellectual Property and Copyright Stat
1846                                      any audio                                      any audio
1847  </p>  </p>
1848  </blockquote>  </blockquote>
1849                                
1850    
1851  </blockquote>  </blockquote><p>
1852                        
1853    </p>
1854  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1855                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1856                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1857                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1858                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section 5.2.3<span>Getting information about a specific audio                 output driver</span></a>)                      <a class='info' href='#GET AUDIO_OUTPUT_DRIVER INFO'>Section&nbsp;6.2.3<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a>)
1859                      which are also returned by this command.                      which are also returned by this command.
1860  </p>  </p>
1861  <p>Example:  <p>Example:
1862  </p>  </p>
1863  <p></p>  <p>
1864                            </p>
1865  <blockquote class="text">  <blockquote class="text">
1866  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1867  </p>  </p>
# Line 1467  Intellectual Property and Copyright Stat Line 1881  Intellectual Property and Copyright Stat
1881  </p>  </p>
1882  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1883  </p>  </p>
1884  </blockquote>  </blockquote><p>
1885                        
1886  <a name="rfc.section.5.2.10"></a><h4><a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER">5.2.10</a>&nbsp;Changing settings of audio output devices</h4>  </p>
1887    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1888    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1889    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1890    Changing settings of audio output devices</h3>
1891    
1892  <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:
1893  </p>  </p>
1894  <p></p>  <p>
1895                            </p>
1896  <blockquote class="text">  <blockquote class="text">
1897  <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;
1898  </p>  </p>
1899  </blockquote>  </blockquote><p>
1900                        
1901    </p>
1902  <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
1903                      audio output device, &lt;key&gt; by the name of the parameter to change                      audio output device as given by the
1904                        <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>
1905                        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>
1906                        command, &lt;key&gt; by the name of the parameter to change
1907                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1908  </p>  </p>
1909  <p>Possible Answers:  <p>Possible Answers:
1910  </p>  </p>
1911  <p></p>  <p>
1912                            </p>
1913  <blockquote class="text">  <blockquote class="text">
1914  <p>"OK" -  <p>"OK" -
1915                                  </p>                                  </p>
# Line 1493  Intellectual Property and Copyright Stat Line 1917  Intellectual Property and Copyright Stat
1917  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1918  </p>  </p>
1919  </blockquote>  </blockquote>
1920                                
1921    
1922  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1923                                  </p>                                  </p>
# Line 1502  Intellectual Property and Copyright Stat Line 1927  Intellectual Property and Copyright Stat
1927                                      warning code and warning message                                      warning code and warning message
1928  </p>  </p>
1929  </blockquote>  </blockquote>
1930                                
1931    
1932  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1933                                  </p>                                  </p>
# Line 1510  Intellectual Property and Copyright Stat Line 1936  Intellectual Property and Copyright Stat
1936                                      error message                                      error message
1937  </p>  </p>
1938  </blockquote>  </blockquote>
1939                                
1940    
1941  </blockquote>  </blockquote><p>
1942                        
1943    </p>
1944  <p>Example:  <p>Example:
1945  </p>  </p>
1946  <p></p>  <p>
1947                            </p>
1948  <blockquote class="text">  <blockquote class="text">
1949  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
1950  </p>  </p>
1951  <p>S: "OK"  <p>S: "OK"
1952  </p>  </p>
1953  </blockquote>  </blockquote><p>
1954                        
1955  <a name="rfc.section.5.2.11"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL INFO">5.2.11</a>&nbsp;Getting information about an audio channel</h4>  </p>
1956    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1957    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1958    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1959    Getting information about an audio channel</h3>
1960    
1961  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1962  </p>  </p>
1963  <p></p>  <p>
1964                            </p>
1965  <blockquote class="text">  <blockquote class="text">
1966  <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;
1967  </p>  </p>
1968  </blockquote>  </blockquote><p>
1969                        
1970  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device  </p>
1971                      and &lt;audio-chan&gt; the audio channel number.  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
1972                        <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>
1973                        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>
1974                        command and &lt;audio-chan&gt; the audio channel number.
1975  </p>  </p>
1976  <p>Possible Answers:  <p>Possible Answers:
1977  </p>  </p>
1978  <p></p>  <p>
1979                            </p>
1980  <blockquote class="text">  <blockquote class="text">
1981  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
1982                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1546  Intellectual Property and Copyright Stat Line 1984  Intellectual Property and Copyright Stat
1984                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
1985                              the following information categories are defined:                              the following information categories are defined:
1986  </p>  </p>
1987  <p></p>  <p>
1988                                    </p>
1989  <blockquote class="text">  <blockquote class="text">
1990  <p>NAME -  <p>NAME -
1991                                          </p>                                          </p>
# Line 1555  Intellectual Property and Copyright Stat Line 1994  Intellectual Property and Copyright Stat
1994                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
1995  </p>  </p>
1996  </blockquote>  </blockquote>
1997                                        
1998    
1999  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
2000                                          </p>                                          </p>
# Line 1567  Intellectual Property and Copyright Stat Line 2007  Intellectual Property and Copyright Stat
2007                                              (always returned by all audio channels)                                              (always returned by all audio channels)
2008  </p>  </p>
2009  </blockquote>  </blockquote>
2010                                        
2011    
2012  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
2013                                          </p>                                          </p>
# Line 1578  Intellectual Property and Copyright Stat Line 2019  Intellectual Property and Copyright Stat
2019                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
2020  </p>  </p>
2021  </blockquote>  </blockquote>
2022                                        
2023    
2024  </blockquote>  </blockquote>
2025                                
2026    
2027  </blockquote>  </blockquote><p>
2028                        
2029    </p>
2030  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2031                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2032                      generally returned for the described cases by all audio                      generally returned for the described cases by all audio
# Line 1592  Intellectual Property and Copyright Stat Line 2036  Intellectual Property and Copyright Stat
2036  </p>  </p>
2037  <p>Examples:  <p>Examples:
2038  </p>  </p>
2039  <p></p>  <p>
2040                            </p>
2041  <blockquote class="text">  <blockquote class="text">
2042  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
2043  </p>  </p>
# Line 1602  Intellectual Property and Copyright Stat Line 2047  Intellectual Property and Copyright Stat
2047  </p>  </p>
2048  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2049  </p>  </p>
2050  </blockquote>  </blockquote><p>
2051                        
2052  <p></p>  </p>
2053    <p>
2054                            </p>
2055  <blockquote class="text">  <blockquote class="text">
2056  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
2057  </p>  </p>
# Line 1614  Intellectual Property and Copyright Stat Line 2061  Intellectual Property and Copyright Stat
2061  </p>  </p>
2062  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2063  </p>  </p>
2064  </blockquote>  </blockquote><p>
2065                        
2066  <p></p>  </p>
2067    <p>
2068                            </p>
2069  <blockquote class="text">  <blockquote class="text">
2070  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2071  </p>  </p>
# Line 1628  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 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2087  </p>  </p>
# Line 1642  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  <a name="rfc.section.5.2.12"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">5.2.12</a>&nbsp;Getting information about specific audio channel parameter</h4>  </p>
2099    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2100    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2101    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2102    Getting information about specific audio channel parameter</h3>
2103    
2104  <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:
2105  </p>  </p>
2106  <p></p>  <p>
2107                            </p>
2108  <blockquote class="text">  <blockquote class="text">
2109  <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;
2110  </p>  </p>
2111  </blockquote>  </blockquote><p>
2112                        
2113  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned  </p>
2114                      by the <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span>Getting all created audio output device list</span></a>  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
2115                        <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>
2116                        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>
2117                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2118                      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
2119                      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).
2120  </p>  </p>
2121  <p>Possible Answers:  <p>Possible Answers:
2122  </p>  </p>
2123  <p></p>  <p>
2124                            </p>
2125  <blockquote class="text">  <blockquote class="text">
2126  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2127                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1673  Intellectual Property and Copyright Stat Line 2132  Intellectual Property and Copyright Stat
2132                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2133                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2134  </p>  </p>
2135  <p></p>  <p>
2136                                    </p>
2137  <blockquote class="text">  <blockquote class="text">
2138  <p>TYPE -  <p>TYPE -
2139                                          </p>                                          </p>
# Line 1684  Intellectual Property and Copyright Stat Line 2144  Intellectual Property and Copyright Stat
2144                                              (always returned)                                              (always returned)
2145  </p>  </p>
2146  </blockquote>  </blockquote>
2147                                        
2148    
2149  <p>DESCRIPTION -  <p>DESCRIPTION -
2150                                          </p>                                          </p>
# Line 1691  Intellectual Property and Copyright Stat Line 2152  Intellectual Property and Copyright Stat
2152  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2153  </p>  </p>
2154  </blockquote>  </blockquote>
2155                                        
2156    
2157  <p>FIX -  <p>FIX -
2158                                          </p>                                          </p>
# Line 1700  Intellectual Property and Copyright Stat Line 2162  Intellectual Property and Copyright Stat
2162                                              (always returned)                                              (always returned)
2163  </p>  </p>
2164  </blockquote>  </blockquote>
2165                                        
2166    
2167  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2168                                          </p>                                          </p>
# Line 1710  Intellectual Property and Copyright Stat Line 2173  Intellectual Property and Copyright Stat
2173                                              (always returned)                                              (always returned)
2174  </p>  </p>
2175  </blockquote>  </blockquote>
2176                                        
2177    
2178  <p>RANGE_MIN -  <p>RANGE_MIN -
2179                                          </p>                                          </p>
# Line 1722  Intellectual Property and Copyright Stat Line 2186  Intellectual Property and Copyright Stat
2186                                              parameter)                                              parameter)
2187  </p>  </p>
2188  </blockquote>  </blockquote>
2189                                        
2190    
2191  <p>RANGE_MAX -  <p>RANGE_MAX -
2192                                          </p>                                          </p>
# Line 1734  Intellectual Property and Copyright Stat Line 2199  Intellectual Property and Copyright Stat
2199                                              parameter)                                              parameter)
2200  </p>  </p>
2201  </blockquote>  </blockquote>
2202                                        
2203    
2204  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2205                                          </p>                                          </p>
# Line 1745  Intellectual Property and Copyright Stat Line 2211  Intellectual Property and Copyright Stat
2211                                              parameter)                                              parameter)
2212  </p>  </p>
2213  </blockquote>  </blockquote>
2214                                        
2215    
2216  </blockquote>  </blockquote>
2217                                
2218    
2219  <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.
2220  </p>  </p>
2221  </blockquote>  </blockquote><p>
2222                        
2223    </p>
2224  <p>Example:  <p>Example:
2225  </p>  </p>
2226  <p></p>  <p>
2227                            </p>
2228  <blockquote class="text">  <blockquote class="text">
2229  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2230  </p>  </p>
# Line 1770  Intellectual Property and Copyright Stat Line 2240  Intellectual Property and Copyright Stat
2240  </p>  </p>
2241  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2242  </p>  </p>
2243  </blockquote>  </blockquote><p>
2244                        
2245  <a name="rfc.section.5.2.13"></a><h4><a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER">5.2.13</a>&nbsp;Changing settings of audio output channels</h4>  </p>
2246    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2247    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2248    <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2249    Changing settings of audio output channels</h3>
2250    
2251  <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:
2252  </p>  </p>
2253  <p></p>  <p>
2254                            </p>
2255  <blockquote class="text">  <blockquote class="text">
2256  <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;
2257  </p>  </p>
2258  </blockquote>  </blockquote><p>
2259                        
2260  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio  </p>
2261                      device, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
2262                        <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>
2263                        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>
2264                        command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2265                      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.
2266  </p>  </p>
2267  <p>Possible Answers:  <p>Possible Answers:
2268  </p>  </p>
2269  <p></p>  <p>
2270                            </p>
2271  <blockquote class="text">  <blockquote class="text">
2272  <p>"OK" -  <p>"OK" -
2273                                  </p>                                  </p>
# Line 1796  Intellectual Property and Copyright Stat Line 2275  Intellectual Property and Copyright Stat
2275  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2276  </p>  </p>
2277  </blockquote>  </blockquote>
2278                                
2279    
2280  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2281                                  </p>                                  </p>
# Line 1805  Intellectual Property and Copyright Stat Line 2285  Intellectual Property and Copyright Stat
2285                                     warning code and warning message                                     warning code and warning message
2286  </p>  </p>
2287  </blockquote>  </blockquote>
2288                                
2289    
2290  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2291                                  </p>                                  </p>
# Line 1813  Intellectual Property and Copyright Stat Line 2294  Intellectual Property and Copyright Stat
2294                                     error message                                     error message
2295  </p>  </p>
2296  </blockquote>  </blockquote>
2297                                
2298    
2299  </blockquote>  </blockquote><p>
2300                        
2301    </p>
2302  <p>Example:  <p>Example:
2303  </p>  </p>
2304  <p></p>  <p>
2305                            </p>
2306  <blockquote class="text">  <blockquote class="text">
2307  <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'"
2308  </p>  </p>
2309  <p>S: "OK"  <p>S: "OK"
2310  </p>  </p>
2311  </blockquote>  </blockquote><p>
2312                        
2313  <p></p>  </p>
2314    <p>
2315                            </p>
2316  <blockquote class="text">  <blockquote class="text">
2317  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2318  </p>  </p>
2319  <p>S: "OK"  <p>S: "OK"
2320  </p>  </p>
2321  </blockquote>  </blockquote><p>
2322                        
2323  <a name="rfc.section.5.3"></a><h4><a name="anchor11">5.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2324    <a name="anchor10"></a><br /><hr />
2325    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2326    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2327    Configuring MIDI input drivers</h3>
2328    
2329  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2330                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as
# Line 1862  Intellectual Property and Copyright Stat Line 2352  Intellectual Property and Copyright Stat
2352                  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
2353                  possible values, etc.                  possible values, etc.
2354  </p>  </p>
2355  <a name="rfc.section.5.3.1"></a><h4><a name="GET AVAILABLE_MIDI_INPUT_DRIVERS">5.3.1</a>&nbsp;Getting amount of available MIDI input drivers</h4>  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2356    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2357    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2358    Getting amount of available MIDI input drivers</h3>
2359    
2360  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2361                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2362                      LinuxSampler instance:                      LinuxSampler instance:
2363  </p>  </p>
2364  <p></p>  <p>
2365                            </p>
2366  <blockquote class="text">  <blockquote class="text">
2367  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2368  </p>  </p>
2369  </blockquote>  </blockquote><p>
2370                        
2371    </p>
2372  <p>Possible Answers:  <p>Possible Answers:
2373  </p>  </p>
2374  <p></p>  <p>
2375                            </p>
2376  <blockquote class="text">  <blockquote class="text">
2377  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2378                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2379  </p>  </p>
2380  </blockquote>  </blockquote><p>
2381                        
2382    </p>
2383  <p>Example:  <p>Example:
2384  </p>  </p>
2385  <p></p>  <p>
2386                            </p>
2387  <blockquote class="text">  <blockquote class="text">
2388  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2389  </p>  </p>
2390  <p>S: "2"  <p>S: "2"
2391  </p>  </p>
2392  </blockquote>  </blockquote><p>
2393                        
2394  <a name="rfc.section.5.3.2"></a><h4><a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS">5.3.2</a>&nbsp;Getting all available MIDI input drivers</h4>  </p>
2395    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2396    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2397    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2398    Getting all available MIDI input drivers</h3>
2399    
2400  <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
2401                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2402  </p>  </p>
2403  <p></p>  <p>
2404                            </p>
2405  <blockquote class="text">  <blockquote class="text">
2406  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2407  </p>  </p>
2408  </blockquote>  </blockquote><p>
2409                        
2410    </p>
2411  <p>Possible Answers:  <p>Possible Answers:
2412  </p>  </p>
2413  <p></p>  <p>
2414                            </p>
2415  <blockquote class="text">  <blockquote class="text">
2416  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2417                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2418  </p>  </p>
2419  </blockquote>  </blockquote><p>
2420                        
2421    </p>
2422  <p>Example:  <p>Example:
2423  </p>  </p>
2424  <p></p>  <p>
2425                            </p>
2426  <blockquote class="text">  <blockquote class="text">
2427  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2428  </p>  </p>
2429  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2430  </p>  </p>
2431  </blockquote>  </blockquote><p>
2432                        
2433  <a name="rfc.section.5.3.3"></a><h4><a name="GET MIDI_INPUT_DRIVER INFO">5.3.3</a>&nbsp;Getting information about a specific MIDI input driver</h4>  </p>
2434    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2435    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2436    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2437    Getting information about a specific MIDI input driver</h3>
2438    
2439  <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:
2440  </p>  </p>
2441  <p></p>  <p>
2442                            </p>
2443  <blockquote class="text">  <blockquote class="text">
2444  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2445  </p>  </p>
2446  </blockquote>  </blockquote><p>
2447                        
2448  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver.  </p>
2449    <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2450                        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.
2451  </p>  </p>
2452  <p>Possible Answers:  <p>Possible Answers:
2453  </p>  </p>
2454  <p></p>  <p>
2455                            </p>
2456  <blockquote class="text">  <blockquote class="text">
2457  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2458                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1945  Intellectual Property and Copyright Stat Line 2460  Intellectual Property and Copyright Stat
2460                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2461                              the following information categories are defined:                              the following information categories are defined:
2462  </p>  </p>
2463  <p></p>  <p>
2464                                    </p>
2465  <blockquote class="text">  <blockquote class="text">
2466  <p>DESCRIPTION -  <p>DESCRIPTION -
2467                                          </p>                                          </p>
# Line 1953  Intellectual Property and Copyright Stat Line 2469  Intellectual Property and Copyright Stat
2469  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2470  </p>  </p>
2471  </blockquote>  </blockquote>
2472                                        
2473    
2474  <p>VERSION -  <p>VERSION -
2475                                          </p>                                          </p>
# Line 1960  Intellectual Property and Copyright Stat Line 2477  Intellectual Property and Copyright Stat
2477  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2478  </p>  </p>
2479  </blockquote>  </blockquote>
2480                                        
2481    
2482  <p>PARAMETERS -  <p>PARAMETERS -
2483                                          </p>                                          </p>
# Line 1967  Intellectual Property and Copyright Stat Line 2485  Intellectual Property and Copyright Stat
2485  <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
2486  </p>  </p>
2487  </blockquote>  </blockquote>
2488                                        
2489    
2490  </blockquote>  </blockquote>
2491                                
2492    
2493  <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.
2494  </p>  </p>
2495  </blockquote>  </blockquote><p>
2496                        
2497    </p>
2498  <p>Example:  <p>Example:
2499  </p>  </p>
2500  <p></p>  <p>
2501                            </p>
2502  <blockquote class="text">  <blockquote class="text">
2503  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2504  </p>  </p>
# Line 1988  Intellectual Property and Copyright Stat Line 2510  Intellectual Property and Copyright Stat
2510  </p>  </p>
2511  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2512  </p>  </p>
2513  </blockquote>  </blockquote><p>
2514                        
2515  <a name="rfc.section.5.3.4"></a><h4><a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO">5.3.4</a>&nbsp;Getting information about specific MIDI input driver parameter</h4>  </p>
2516    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2517    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2518    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2519    Getting information about specific MIDI input driver parameter</h3>
2520    
2521  <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:
2522  </p>  </p>
2523  <p></p>  <p>
2524                            </p>
2525  <blockquote class="text">  <blockquote class="text">
2526  <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;]
2527  </p>  </p>
2528  </blockquote>  </blockquote><p>
2529                        
2530  <p>Where &lt;midi-t&gt; is the name of the MIDI input driver as returned  </p>
2531                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command, &lt;param&gt; a specific  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned
2532                        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
2533                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2534                      <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
2535                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2536                      &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 ...",
2537                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2022  Intellectual Property and Copyright Stat Line 2550  Intellectual Property and Copyright Stat
2550                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2551                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2552  </p>  </p>
2553  <p></p>  <p>
2554                            </p>
2555  <blockquote class="text">  <blockquote class="text">
2556  <p>TYPE -  <p>TYPE -
2557                                </p>                                </p>
# Line 2033  Intellectual Property and Copyright Stat Line 2562  Intellectual Property and Copyright Stat
2562                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2563  </p>  </p>
2564  </blockquote>  </blockquote>
2565                                
2566    
2567  <p>DESCRIPTION -  <p>DESCRIPTION -
2568                                </p>                                </p>
# Line 2041  Intellectual Property and Copyright Stat Line 2571  Intellectual Property and Copyright Stat
2571                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2572  </p>  </p>
2573  </blockquote>  </blockquote>
2574                                
2575    
2576  <p>MANDATORY -  <p>MANDATORY -
2577                                </p>                                </p>
2578  <blockquote class="text">  <blockquote class="text">
2579  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2580                                  given when the device is to be created with the                                  given when the device is to be created with the
2581                                  <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
2582                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2583  </p>  </p>
2584  </blockquote>  </blockquote>
2585                                
2586    
2587  <p>FIX -  <p>FIX -
2588                                </p>                                </p>
2589  <blockquote class="text">  <blockquote class="text">
2590  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2591                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2592                                  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
2593                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2594  </p>  </p>
2595  </blockquote>  </blockquote>
2596                                
2597    
2598  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2599                                </p>                                </p>
# Line 2071  Intellectual Property and Copyright Stat Line 2604  Intellectual Property and Copyright Stat
2604                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2605  </p>  </p>
2606  </blockquote>  </blockquote>
2607                                
2608    
2609  <p>DEPENDS -  <p>DEPENDS -
2610                                </p>                                </p>
2611  <blockquote class="text">  <blockquote class="text">
2612  <p>comma separated list of paramters this parameter depends  <p>comma separated list of parameters this parameter depends
2613                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',                                  on, means the values for fields 'DEFAULT', 'RANGE_MIN',
2614                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these                                  'RANGE_MAX' and 'POSSIBILITIES' might depend on these
2615                                  listed parameters, for example assuming that an audio                                  listed parameters, for example assuming that an audio
# Line 2087  Intellectual Property and Copyright Stat Line 2621  Intellectual Property and Copyright Stat
2621                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2622  </p>  </p>
2623  </blockquote>  </blockquote>
2624                                
2625    
2626  <p>DEFAULT -  <p>DEFAULT -
2627                                </p>                                </p>
2628  <blockquote class="text">  <blockquote class="text">
2629  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2630                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2631                                  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,
2632                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2633                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2634                                  apostrophes (')                                  apostrophes (')
2635                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2636  </p>  </p>
2637  </blockquote>  </blockquote>
2638                                
2639    
2640  <p>RANGE_MIN -  <p>RANGE_MIN -
2641                                </p>                                </p>
# Line 2111  Intellectual Property and Copyright Stat Line 2647  Intellectual Property and Copyright Stat
2647                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2648  </p>  </p>
2649  </blockquote>  </blockquote>
2650                                
2651    
2652  <p>RANGE_MAX -  <p>RANGE_MAX -
2653                                </p>                                </p>
# Line 2122  Intellectual Property and Copyright Stat Line 2659  Intellectual Property and Copyright Stat
2659                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2660  </p>  </p>
2661  </blockquote>  </blockquote>
2662                                
2663    
2664  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2665                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2670  Intellectual Property and Copyright Stat
2670                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2671  </p>  </p>
2672  </blockquote>  </blockquote>
2673                                
2674    
2675  </blockquote>  </blockquote><p>
2676                        
2677    </p>
2678  <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.
2679  </p>  </p>
2680  <p>Example:  <p>Example:
2681  </p>  </p>
2682  <p></p>  <p>
2683                            </p>
2684  <blockquote class="text">  <blockquote class="text">
2685  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2686  </p>  </p>
# Line 2157  Intellectual Property and Copyright Stat Line 2698  Intellectual Property and Copyright Stat
2698  </p>  </p>
2699  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2700  </p>  </p>
2701  </blockquote>  </blockquote><p>
2702                        
2703  <a name="rfc.section.5.3.5"></a><h4><a name="CREATE MIDI_INPUT_DEVICE">5.3.5</a>&nbsp;Creating a MIDI input device</h4>  </p>
2704    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2705    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2706    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2707    Creating a MIDI input device</h3>
2708    
2709  <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:
2710  </p>  </p>
2711  <p></p>  <p>
2712                            </p>
2713  <blockquote class="text">  <blockquote class="text">
2714  <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;]
2715  </p>  </p>
2716  </blockquote>  </blockquote><p>
2717                        
2718  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system and &lt;param-list&gt; by an  </p>
2719    <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2720                        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
2721                      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
2722                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2723                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 2178  Intellectual Property and Copyright Stat Line 2726  Intellectual Property and Copyright Stat
2726  </p>  </p>
2727  <p>Possible Answers:  <p>Possible Answers:
2728  </p>  </p>
2729  <p></p>  <p>
2730                            </p>
2731  <blockquote class="text">  <blockquote class="text">
2732  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2733                                  </p>                                  </p>
# Line 2187  Intellectual Property and Copyright Stat Line 2736  Intellectual Property and Copyright Stat
2736                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2737  </p>  </p>
2738  </blockquote>  </blockquote>
2739                                
2740    
2741  <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;" -
2742                                  </p>                                  </p>
# Line 2197  Intellectual Property and Copyright Stat Line 2747  Intellectual Property and Copyright Stat
2747                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2748  </p>  </p>
2749  </blockquote>  </blockquote>
2750                                
2751    
2752  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2753                                  </p>                                  </p>
# Line 2204  Intellectual Property and Copyright Stat Line 2755  Intellectual Property and Copyright Stat
2755  <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
2756  </p>  </p>
2757  </blockquote>  </blockquote>
2758                                
2759    
2760  </blockquote>  </blockquote><p>
2761                        
2762    </p>
2763  <p>Example:  <p>Example:
2764  </p>  </p>
2765  <p></p>  <p>
2766                            </p>
2767  <blockquote class="text">  <blockquote class="text">
2768  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2769  </p>  </p>
2770  <p>S: "OK[0]"  <p>S: "OK[0]"
2771  </p>  </p>
2772  </blockquote>  </blockquote><p>
2773                        
2774  <a name="rfc.section.5.3.6"></a><h4><a name="DESTROY MIDI_INPUT_DEVICE">5.3.6</a>&nbsp;Destroying a MIDI input device</h4>  </p>
2775    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2776    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2777    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2778    Destroying a MIDI input device</h3>
2779    
2780  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2781  </p>  </p>
2782  <p></p>  <p>
2783                            </p>
2784  <blockquote class="text">  <blockquote class="text">
2785  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2786  </p>  </p>
2787  </blockquote>  </blockquote><p>
2788                        
2789  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID.  </p>
2790    <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2791                        <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>
2792                        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>
2793                        command.
2794  </p>  </p>
2795  <p>Possible Answers:  <p>Possible Answers:
2796  </p>  </p>
2797  <p></p>  <p>
2798                            </p>
2799  <blockquote class="text">  <blockquote class="text">
2800  <p>"OK" -  <p>"OK" -
2801                                  </p>                                  </p>
# Line 2239  Intellectual Property and Copyright Stat Line 2803  Intellectual Property and Copyright Stat
2803  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2804  </p>  </p>
2805  </blockquote>  </blockquote>
2806                                
2807    
2808  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2809                                  </p>                                  </p>
# Line 2248  Intellectual Property and Copyright Stat Line 2813  Intellectual Property and Copyright Stat
2813                                      warning message                                      warning message
2814  </p>  </p>
2815  </blockquote>  </blockquote>
2816                                
2817    
2818  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2819                                  </p>                                  </p>
# Line 2255  Intellectual Property and Copyright Stat Line 2821  Intellectual Property and Copyright Stat
2821  <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
2822  </p>  </p>
2823  </blockquote>  </blockquote>
2824                                
2825    
2826  </blockquote>  </blockquote><p>
2827                        
2828    </p>
2829  <p>Example:  <p>Example:
2830  </p>  </p>
2831  <p></p>  <p>
2832                            </p>
2833  <blockquote class="text">  <blockquote class="text">
2834  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2835  </p>  </p>
2836  <p>S: "OK"  <p>S: "OK"
2837  </p>  </p>
2838  </blockquote>  </blockquote><p>
2839                        
2840  <a name="rfc.section.5.3.7"></a><h4><a name="GET MIDI_INPUT_DEVICES">5.3.7</a>&nbsp;Getting all created MIDI input device count</h4>  </p>
2841    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2842    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2843    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2844    Getting all created MIDI input device count</h3>
2845    
2846  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2847  </p>  </p>
2848  <p></p>  <p>
2849                            </p>
2850  <blockquote class="text">  <blockquote class="text">
2851  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2852  </p>  </p>
2853  </blockquote>  </blockquote><p>
2854                        
2855    </p>
2856  <p>Possible Answers:  <p>Possible Answers:
2857  </p>  </p>
2858  <p></p>  <p>
2859                            </p>
2860  <blockquote class="text">  <blockquote class="text">
2861  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2862                              MIDI input devices.                              MIDI input devices.
2863  </p>  </p>
2864  </blockquote>  </blockquote><p>
2865                        
2866    </p>
2867  <p>Example:  <p>Example:
2868  </p>  </p>
2869  <p></p>  <p>
2870                            </p>
2871  <blockquote class="text">  <blockquote class="text">
2872  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2873  </p>  </p>
2874  <p>S: "3"  <p>S: "3"
2875  </p>  </p>
2876  </blockquote>  </blockquote><p>
2877                        
2878  <a name="rfc.section.5.3.8"></a><h4><a name="LIST MIDI_INPUT_DEVICES">5.3.8</a>&nbsp;Getting all created MIDI input device list</h4>  </p>
2879    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2880    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2881    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2882    Getting all created MIDI input device list</h3>
2883    
2884  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2885  </p>  </p>
2886  <p></p>  <p>
2887                            </p>
2888  <blockquote class="text">  <blockquote class="text">
2889  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2890  </p>  </p>
2891  </blockquote>  </blockquote><p>
2892                        
2893    </p>
2894  <p>Possible Answers:  <p>Possible Answers:
2895  </p>  </p>
2896  <p></p>  <p>
2897                            </p>
2898  <blockquote class="text">  <blockquote class="text">
2899  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2900                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2901  </p>  </p>
2902  </blockquote>  </blockquote><p>
2903                        
2904    </p>
2905  <p>Examples:  <p>Examples:
2906  </p>  </p>
2907  <p></p>  <p>
2908                            </p>
2909  <blockquote class="text">  <blockquote class="text">
2910  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2911  </p>  </p>
2912  <p>S: "0,1,2"  <p>S: "0,1,2"
2913  </p>  </p>
2914  </blockquote>  </blockquote><p>
2915                        
2916  <p></p>  </p>
2917    <p>
2918                            </p>
2919  <blockquote class="text">  <blockquote class="text">
2920  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2921  </p>  </p>
2922  <p>S: "1,3"  <p>S: "1,3"
2923  </p>  </p>
2924  </blockquote>  </blockquote><p>
2925                        
2926  <a name="rfc.section.5.3.9"></a><h4><a name="GET MIDI_INPUT_DEVICE INFO">5.3.9</a>&nbsp;Getting current settings of a MIDI input device</h4>  </p>
2927    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2928    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2929    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2930    Getting current settings of a MIDI input device</h3>
2931    
2932  <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:
2933  </p>  </p>
2934  <p></p>  <p>
2935                            </p>
2936  <blockquote class="text">  <blockquote class="text">
2937  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
2938  </p>  </p>
2939  </blockquote>  </blockquote><p>
2940                        
2941  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device.  </p>
2942    <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
2943                        <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>
2944                        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>
2945                        command.
2946  </p>  </p>
2947  <p>Possible Answers:  <p>Possible Answers:
2948  </p>  </p>
2949  <p></p>  <p>
2950                            </p>
2951  <blockquote class="text">  <blockquote class="text">
2952  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2953                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2358  Intellectual Property and Copyright Stat Line 2957  Intellectual Property and Copyright Stat
2957                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
2958                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
2959  </p>  </p>
2960  <p></p>  <p>
2961                                    </p>
2962  <blockquote class="text">  <blockquote class="text">
2963  <p>DRIVER -  <p>DRIVER -
2964                                          </p>                                          </p>
2965  <blockquote class="text">  <blockquote class="text">
2966  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2967                                              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>
2968                                              command                                              command
2969  </p>  </p>
2970  </blockquote>  </blockquote>
2971                                        
2972    
2973  </blockquote>  </blockquote>
2974                                    
2975  <blockquote class="text">  <blockquote class="text">
2976  <p><p>ACTIVE -  <p>ACTIVE -
2977                                          </p>                                          </p>
2978  <blockquote class="text">  <blockquote class="text">
2979  <p>either true or false, if false then the MIDI device is  <p>either true or false, if false then the MIDI device is
# Line 2380  Intellectual Property and Copyright Stat Line 2982  Intellectual Property and Copyright Stat
2982                                              channels                                              channels
2983  </p>  </p>
2984  </blockquote>  </blockquote>
2985                                        
2986    
2987  </blockquote>  </blockquote>
2988                                
2989    
2990  </blockquote>  </blockquote><p>
2991                        
2992    </p>
2993  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2994                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2995                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
2996                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
2997                      <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
2998                      by this command.                      by this command.
2999  </p>  </p>
3000  <p>Example:  <p>Example:
3001  </p>  </p>
3002  <p></p>  <p>
3003                            </p>
3004  <blockquote class="text">  <blockquote class="text">
3005  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
3006  </p>  </p>
# Line 2404  Intellectual Property and Copyright Stat Line 3010  Intellectual Property and Copyright Stat
3010  </p>  </p>
3011  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3012  </p>  </p>
3013  </blockquote>  </blockquote><p>
3014                        
3015  <a name="rfc.section.5.3.10"></a><h4><a name="SET MIDI_INPUT_DEVICE_PARAMETER">5.3.10</a>&nbsp;Changing settings of MIDI input devices</h4>  </p>
3016    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3017    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3018    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3019    Changing settings of MIDI input devices</h3>
3020    
3021  <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:
3022  </p>  </p>
3023  <p></p>  <p>
3024                            </p>
3025  <blockquote class="text">  <blockquote class="text">
3026  <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;
3027  </p>  </p>
3028  </blockquote>  </blockquote><p>
3029                        
3030    </p>
3031  <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
3032                      MIDI input device, &lt;key&gt; by the name of the parameter to change and                      MIDI input device as returned by the
3033                        <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>
3034                        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>
3035                        command, &lt;key&gt; by the name of the parameter to change and
3036                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3037  </p>  </p>
3038  <p>Possible Answers:  <p>Possible Answers:
3039  </p>  </p>
3040  <p></p>  <p>
3041                            </p>
3042  <blockquote class="text">  <blockquote class="text">
3043  <p>"OK" -  <p>"OK" -
3044                                  </p>                                  </p>
# Line 2430  Intellectual Property and Copyright Stat Line 3046  Intellectual Property and Copyright Stat
3046  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3047  </p>  </p>
3048  </blockquote>  </blockquote>
3049                                
3050    
3051  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3052                                  </p>                                  </p>
# Line 2439  Intellectual Property and Copyright Stat Line 3056  Intellectual Property and Copyright Stat
3056                                      warning code and warning message                                      warning code and warning message
3057  </p>  </p>
3058  </blockquote>  </blockquote>
3059                                
3060    
3061  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3062                                  </p>                                  </p>
# Line 2446  Intellectual Property and Copyright Stat Line 3064  Intellectual Property and Copyright Stat
3064  <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
3065  </p>  </p>
3066  </blockquote>  </blockquote>
3067                                
3068    
3069  </blockquote>  </blockquote><p>
3070                        
3071    </p>
3072  <p>Example:  <p>Example:
3073  </p>  </p>
3074  <p></p>  <p>
3075                            </p>
3076  <blockquote class="text">  <blockquote class="text">
3077  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3078  </p>  </p>
3079  <p>S: "OK"  <p>S: "OK"
3080  </p>  </p>
3081  </blockquote>  </blockquote><p>
3082                        
3083  <a name="rfc.section.5.3.11"></a><h4><a name="GET MIDI_INPUT_PORT INFO">5.3.11</a>&nbsp;Getting information about a MIDI port</h4>  </p>
3084    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3085    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3086    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3087    Getting information about a MIDI port</h3>
3088    
3089  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3090  </p>  </p>
3091  <p></p>  <p>
3092                            </p>
3093  <blockquote class="text">  <blockquote class="text">
3094  <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;
3095  </p>  </p>
3096  </blockquote>  </blockquote><p>
3097                        
3098  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device  </p>
3099                      and &lt;midi-port&gt; the MIDI input port number.  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3100                        <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>
3101                        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>
3102                        command and &lt;midi-port&gt; the MIDI input port number.
3103  </p>  </p>
3104  <p>Possible Answers:  <p>Possible Answers:
3105  </p>  </p>
3106  <p></p>  <p>
3107                            </p>
3108  <blockquote class="text">  <blockquote class="text">
3109  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3110                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2488  Intellectual Property and Copyright Stat Line 3118  Intellectual Property and Copyright Stat
3118  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3119  </p>  </p>
3120  </blockquote>  </blockquote>
3121                                
3122    
3123  </blockquote>  </blockquote><p>
3124                        
3125    </p>
3126  <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
3127                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3128                      might have its own, additional driver and port specific                      might have its own, additional driver and port specific
# Line 2498  Intellectual Property and Copyright Stat Line 3130  Intellectual Property and Copyright Stat
3130  </p>  </p>
3131  <p>Example:  <p>Example:
3132  </p>  </p>
3133  <p></p>  <p>
3134                            </p>
3135  <blockquote class="text">  <blockquote class="text">
3136  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3137  </p>  </p>
# Line 2508  Intellectual Property and Copyright Stat Line 3141  Intellectual Property and Copyright Stat
3141  </p>  </p>
3142  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3143  </p>  </p>
3144  </blockquote>  </blockquote><p>
3145                        
3146  <a name="rfc.section.5.3.12"></a><h4><a name="GET MIDI_INPUT_PORT_PARAMETER INFO">5.3.12</a>&nbsp;Getting information about specific MIDI port parameter</h4>  </p>
3147    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3148    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3149    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3150    Getting information about specific MIDI port parameter</h3>
3151    
3152  <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:
3153  </p>  </p>
3154  <p></p>  <p>
3155                            </p>
3156  <blockquote class="text">  <blockquote class="text">
3157  <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;
3158  </p>  </p>
3159  </blockquote>  </blockquote><p>
3160                        
3161  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned  </p>
3162                      by the <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> command, &lt;port&gt; the MIDI port number and  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
3163                        <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>
3164                        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>
3165                        command, &lt;port&gt; the MIDI port number and
3166                      &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
3167                      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).
3168  </p>  </p>
3169  <p>Possible Answers:  <p>Possible Answers:
3170  </p>  </p>
3171  <p></p>  <p>
3172                            </p>
3173  <blockquote class="text">  <blockquote class="text">
3174  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3175                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2547  Intellectual Property and Copyright Stat Line 3189  Intellectual Property and Copyright Stat
3189                                      (always returned)                                      (always returned)
3190  </p>  </p>
3191  </blockquote>  </blockquote>
3192                                
3193    
3194  <p>DESCRIPTION -  <p>DESCRIPTION -
3195                                  </p>                                  </p>
# Line 2555  Intellectual Property and Copyright Stat Line 3198  Intellectual Property and Copyright Stat
3198                                      (always returned)                                      (always returned)
3199  </p>  </p>
3200  </blockquote>  </blockquote>
3201                                
3202    
3203  <p>FIX -  <p>FIX -
3204                                  </p>                                  </p>
# Line 2564  Intellectual Property and Copyright Stat Line 3208  Intellectual Property and Copyright Stat
3208                                      (always returned)                                      (always returned)
3209  </p>  </p>
3210  </blockquote>  </blockquote>
3211                                
3212    
3213  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3214                                  </p>                                  </p>
# Line 2574  Intellectual Property and Copyright Stat Line 3219  Intellectual Property and Copyright Stat
3219                                      (always returned)                                      (always returned)
3220  </p>  </p>
3221  </blockquote>  </blockquote>
3222                                
3223    
3224  <p>RANGE_MIN -  <p>RANGE_MIN -
3225                                  </p>                                  </p>
# Line 2586  Intellectual Property and Copyright Stat Line 3232  Intellectual Property and Copyright Stat
3232                                      parameter)                                      parameter)
3233  </p>  </p>
3234  </blockquote>  </blockquote>
3235                                
3236    
3237  <p>RANGE_MAX -  <p>RANGE_MAX -
3238                                  </p>                                  </p>
# Line 2598  Intellectual Property and Copyright Stat Line 3245  Intellectual Property and Copyright Stat
3245                                      parameter)                                      parameter)
3246  </p>  </p>
3247  </blockquote>  </blockquote>
3248                                
3249    
3250  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3251                                  </p>                                  </p>
# Line 2609  Intellectual Property and Copyright Stat Line 3257  Intellectual Property and Copyright Stat
3257                                      parameter)                                      parameter)
3258  </p>  </p>
3259  </blockquote>  </blockquote>
3260                                
3261    
3262  </blockquote>  </blockquote><p>
3263                        
3264    </p>
3265  <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.
3266  </p>  </p>
3267  <p>Example:  <p>Example:
3268  </p>  </p>
3269  <p></p>  <p>
3270                            </p>
3271  <blockquote class="text">  <blockquote class="text">
3272  <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"
3273  </p>  </p>
# Line 2632  Intellectual Property and Copyright Stat Line 3283  Intellectual Property and Copyright Stat
3283  </p>  </p>
3284  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3285  </p>  </p>
3286  </blockquote>  </blockquote><p>
3287                        
3288  <a name="rfc.section.5.3.13"></a><h4><a name="SET MIDI_INPUT_PORT_PARAMETER">5.3.13</a>&nbsp;Changing settings of MIDI input ports</h4>  </p>
3289    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3290    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3291    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3292    Changing settings of MIDI input ports</h3>
3293    
3294  <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:
3295  </p>  </p>
3296  <p></p>  <p>
3297                            </p>
3298  <blockquote class="text">  <blockquote class="text">
3299  <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;
3300  </p>  </p>
3301  </blockquote>  </blockquote><p>
3302                        
3303    </p>
3304  <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
3305                      MIDI device, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      MIDI device as returned by the
3306                        <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>
3307                        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>
3308                        command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3309                      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
3310                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3311                        for specifying no value for parameters allowing a list of values.
3312  </p>  </p>
3313  <p>Possible Answers:  <p>Possible Answers:
3314  </p>  </p>
3315  <p></p>  <p>
3316                            </p>
3317  <blockquote class="text">  <blockquote class="text">
3318  <p>"OK" -  <p>"OK" -
3319                                  </p>                                  </p>
# Line 2659  Intellectual Property and Copyright Stat Line 3321  Intellectual Property and Copyright Stat
3321  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3322  </p>  </p>
3323  </blockquote>  </blockquote>
3324                                
3325    
3326  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3327                                  </p>                                  </p>
# Line 2668  Intellectual Property and Copyright Stat Line 3331  Intellectual Property and Copyright Stat
3331                                      warning code and warning message                                      warning code and warning message
3332  </p>  </p>
3333  </blockquote>  </blockquote>
3334                                
3335    
3336  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3337                                  </p>                                  </p>
# Line 2675  Intellectual Property and Copyright Stat Line 3339  Intellectual Property and Copyright Stat
3339  <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
3340  </p>  </p>
3341  </blockquote>  </blockquote>
3342                                
3343    
3344  </blockquote>  </blockquote><p>
3345                        
3346    </p>
3347  <p>Example:  <p>Example:
3348  </p>  </p>
3349  <p></p>  <p>
3350                            </p>
3351  <blockquote class="text">  <blockquote class="text">
3352    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3353    </p>
3354    <p>S: "OK"
3355    </p>
3356    </blockquote><p>
3357                        
3358    </p>
3359  <p>  <p>
3360                            </p>
3361    <blockquote class="text">
3362    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3363  </p>  </p>
3364  </blockquote>  <p>S: "OK"
   
 <a name="rfc.section.5.4"></a><h4><a name="anchor12">5.4</a>&nbsp;Configuring sampler channels</h4>  
   
 <p>The following commands describe how to add and remove sampler channels, deploy  
                 sampler engines, load instruments and connect sampler channels to MIDI and audio devices.  
3365  </p>  </p>
3366  <a name="rfc.section.5.4.1"></a><h4><a name="LOAD INSTRUMENT">5.4.1</a>&nbsp;Loading an instrument</h4>  </blockquote><p>
3367                        
3368    </p>
3369    <a name="anchor11"></a><br /><hr />
3370    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3371    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3372    Configuring sampler channels</h3>
3373    
3374    <p>The following commands describe how to add and remove sampler channels, associate a
3375                    sampler channel with a sampler engine, load instruments and connect sampler channels to
3376                    MIDI and audio devices.
3377    </p>
3378    <a name="LOAD INSTRUMENT"></a><br /><hr />
3379    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3380    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3381    Loading an instrument</h3>
3382    
3383  <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:
3384  </p>  </p>
3385  <p></p>  <p>
3386                            </p>
3387  <blockquote class="text">  <blockquote class="text">
3388  <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;
3389  </p>  </p>
3390  </blockquote>  </blockquote><p>
3391                        
3392    </p>
3393  <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
3394                      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
3395                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
3396                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3397                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3398  </p>  </p>
3399    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3400                        escape characters for special characters (see chapter
3401                        "<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>"
3402                        for details) and accordingly backslash characters in the filename
3403                        MUST now be escaped as well!
3404    </p>
3405  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3406                      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
3407                      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
3408                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3409                      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>
3410                      command can be used to obtain loading                      command can be used to obtain loading
3411                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3412                      such as making sure that the file could be read and it is of a proper format                      such as making sure that the file could be read and it is of a proper format
# Line 2720  Intellectual Property and Copyright Stat Line 3415  Intellectual Property and Copyright Stat
3415  </p>  </p>
3416  <p>Possible Answers:  <p>Possible Answers:
3417  </p>  </p>
3418  <p></p>  <p>
3419                            </p>
3420  <blockquote class="text">  <blockquote class="text">
3421  <p>"OK" -  <p>"OK" -
3422                                  </p>                                  </p>
# Line 2728  Intellectual Property and Copyright Stat Line 3424  Intellectual Property and Copyright Stat
3424  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3425  </p>  </p>
3426  </blockquote>  </blockquote>
3427                                
3428    
3429  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3430                                  </p>                                  </p>
# Line 2739  Intellectual Property and Copyright Stat Line 3436  Intellectual Property and Copyright Stat
3436                                      warning message                                      warning message
3437  </p>  </p>
3438  </blockquote>  </blockquote>
3439                                
3440    
3441  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3442                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3444  Intellectual Property and Copyright Stat
3444  <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
3445  </p>  </p>
3446  </blockquote>  </blockquote>
3447                                
3448    
3449  </blockquote>  </blockquote><p>
3450                        
3451    </p>
3452  <p>Example:  <p>Example:
3453  </p>  </p>
3454  <p></p>  <p>
3455                            </p>
3456  <blockquote class="text">  <blockquote class="text">
3457  <p>  <p>
3458  </p>  </p>
3459  </blockquote>  </blockquote><p>
3460                        
3461  <a name="rfc.section.5.4.2"></a><h4><a name="LOAD ENGINE">5.4.2</a>&nbsp;Loading a sampler engine</h4>  </p>
3462    <a name="LOAD ENGINE"></a><br /><hr />
3463    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3464    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3465    Loading a sampler engine</h3>
3466    
3467  <p>A sample engine can be deployed and assigned to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3468                      channel by the following command:                      channel by the following command:
3469  </p>  </p>
3470  <p></p>  <p>
3471                            </p>
3472  <blockquote class="text">  <blockquote class="text">
3473  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3474  </p>  </p>
3475  </blockquote>  </blockquote><p>
3476                        
3477    </p>
3478  <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
3479                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and &lt;sampler-channel&gt; the sampler channel the                      <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command and &lt;sampler-channel&gt;
3480                      deployed engine should be assigned to. Even if the respective                      the sampler channel as returned by the
3481                      sampler channel has already a deployed engine with that engine                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> or
3482                      name, a new engine instance will be assigned to the sampler channel.                      <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command where
3483                        the engine type should be assigned to. This command should be issued
3484                        after adding a new sampler channel and before any other control
3485                        commands on the new sampler channel. It can also be used to change
3486                        the engine type of a sampler channel. This command has (currently) no
3487                        way to define or force if a new engine instance should be created and
3488                        assigned to the given sampler channel or if an already existing
3489                        instance of that engine type, shared with other sampler channels,
3490                        should be used.
3491  </p>  </p>
3492  <p>Possible Answers:  <p>Possible Answers:
3493  </p>  </p>
3494  <p></p>  <p>
3495                            </p>
3496  <blockquote class="text">  <blockquote class="text">
3497  <p>"OK" -  <p>"OK" -
3498                                  </p>                                  </p>
# Line 2784  Intellectual Property and Copyright Stat Line 3500  Intellectual Property and Copyright Stat
3500  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3501  </p>  </p>
3502  </blockquote>  </blockquote>
3503                                
3504    
3505  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3506                                  </p>                                  </p>
# Line 2793  Intellectual Property and Copyright Stat Line 3510  Intellectual Property and Copyright Stat
3510                                      warning code and warning message                                      warning code and warning message
3511  </p>  </p>
3512  </blockquote>  </blockquote>
3513                                
3514    
3515  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3516                                  </p>                                  </p>
# Line 2801  Intellectual Property and Copyright Stat Line 3519  Intellectual Property and Copyright Stat
3519                                      error message                                      error message
3520  </p>  </p>
3521  </blockquote>  </blockquote>
3522                                
3523    
3524  </blockquote>  </blockquote><p>
3525                        
3526    </p>
3527  <p>Example:  <p>Example:
3528  </p>  </p>
3529  <p></p>  <p>
3530                            </p>
3531  <blockquote class="text">  <blockquote class="text">
3532  <p>  <p>
3533  </p>  </p>
3534  </blockquote>  </blockquote><p>
3535                        
3536  <a name="rfc.section.5.4.3"></a><h4><a name="GET CHANNELS">5.4.3</a>&nbsp;Getting all created sampler channel count</h4>  </p>
3537    <a name="GET CHANNELS"></a><br /><hr />
3538    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3539    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3540    Getting all created sampler channel count</h3>
3541    
3542  <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
3543                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3544                      following command:                      following command:
3545  </p>  </p>
3546  <p></p>  <p>
3547                            </p>
3548  <blockquote class="text">  <blockquote class="text">
3549  <p>GET CHANNELS  <p>GET CHANNELS
3550  </p>  </p>
3551  </blockquote>  </blockquote><p>
3552                        
3553    </p>
3554  <p>Possible Answers:  <p>Possible Answers:
3555  </p>  </p>
3556  <p></p>  <p>
3557                            </p>
3558  <blockquote class="text">  <blockquote class="text">
3559  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3560  </p>  </p>
3561  </blockquote>  </blockquote><p>
3562                        
3563    </p>
3564  <p>Example:  <p>Example:
3565  </p>  </p>
3566  <p></p>  <p>
3567                            </p>
3568  <blockquote class="text">  <blockquote class="text">
3569  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3570  </p>  </p>
3571  <p>S: "12"  <p>S: "12"
3572  </p>  </p>
3573  </blockquote>  </blockquote><p>
3574                        
3575  <a name="rfc.section.5.4.4"></a><h4><a name="LIST CHANNELS">5.4.4</a>&nbsp;Getting all created sampler channel list</h4>  </p>
3576    <a name="LIST CHANNELS"></a><br /><hr />
3577    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3578    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3579    Getting all created sampler channel list</h3>
3580    
3581  <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
3582                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3583                      following command:                      following command:
3584  </p>  </p>
3585  <p></p>  <p>
3586                            </p>
3587  <blockquote class="text">  <blockquote class="text">
3588  <p>LIST CHANNELS  <p>LIST CHANNELS
3589  </p>  </p>
3590  </blockquote>  </blockquote><p>
3591                        
3592    </p>
3593  <p>Possible Answers:  <p>Possible Answers:
3594  </p>  </p>
3595  <p></p>  <p>
3596                            </p>
3597  <blockquote class="text">  <blockquote class="text">
3598  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3599                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3600  </p>  </p>
3601  </blockquote>  </blockquote><p>
3602                        
3603    </p>
3604  <p>Example:  <p>Example:
3605  </p>  </p>
3606  <p></p>  <p>
3607                            </p>
3608  <blockquote class="text">  <blockquote class="text">
3609  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3610  </p>  </p>
3611  <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"
3612  </p>  </p>
3613  </blockquote>  </blockquote><p>
3614                        
3615  <a name="rfc.section.5.4.5"></a><h4><a name="ADD CHANNEL">5.4.5</a>&nbsp;Adding a new sampler channel</h4>  </p>
3616    <a name="ADD CHANNEL"></a><br /><hr />
3617    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3618    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3619    Adding a new sampler channel</h3>
3620    
3621  <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
3622                      channel list by sending the following command:                      channel list by sending the following command:
3623  </p>  </p>
3624  <p></p>  <p>
3625                            </p>
3626  <blockquote class="text">  <blockquote class="text">
3627  <p>ADD CHANNEL  <p>ADD CHANNEL
3628  </p>  </p>
3629  </blockquote>  </blockquote><p>
3630                        
3631    </p>
3632  <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
3633                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3634                      list. The front-end should send the respective, related commands                      list. The front-end should send the respective, related commands
# Line 2896  Intellectual Property and Copyright Stat Line 3641  Intellectual Property and Copyright Stat
3641  </p>  </p>
3642  <p>Possible Answers:  <p>Possible Answers:
3643  </p>  </p>
3644  <p></p>  <p>
3645                            </p>
3646  <blockquote class="text">  <blockquote class="text">
3647  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3648                                  </p>                                  </p>
3649  <blockquote class="text">  <blockquote class="text">
3650  <p>in case a new sampler channel could be added, where  <p>in case a new sampler channel could be added, where
3651                                      &lt;sampler-channel&gt; reflects the channel number of the new                                      &lt;sampler-channel&gt; reflects the channel number of the new
3652                                      created sampler channel which should the be used to set up                                      created sampler channel which should be used to set up
3653                                      the sampler channel by sending subsequent intialization                                      the sampler channel by sending subsequent initialization
3654                                      commands                                      commands
3655  </p>  </p>
3656  </blockquote>  </blockquote>
3657                                
3658    
3659  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3660                                  </p>                                  </p>
# Line 2917  Intellectual Property and Copyright Stat Line 3664  Intellectual Property and Copyright Stat
3664                                      warning code and warning message                                      warning code and warning message
3665  </p>  </p>
3666  </blockquote>  </blockquote>
3667                                
3668    
3669  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3670                                  </p>                                  </p>
# Line 2925  Intellectual Property and Copyright Stat Line 3673  Intellectual Property and Copyright Stat
3673                                      error message                                      error message
3674  </p>  </p>
3675  </blockquote>  </blockquote>
3676                                
3677    
3678  </blockquote>  </blockquote><p>
3679                        
3680    </p>
3681  <p>Example:  <p>Example:
3682  </p>  </p>
3683  <p></p>  <p>
3684                            </p>
3685  <blockquote class="text">  <blockquote class="text">
3686  <p>  <p>
3687  </p>  </p>
3688  </blockquote>  </blockquote><p>
3689                        
3690  <a name="rfc.section.5.4.6"></a><h4><a name="REMOVE CHANNEL">5.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3691    <a name="REMOVE CHANNEL"></a><br /><hr />
3692    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3693    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3694    Removing a sampler channel</h3>
3695    
3696  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3697  </p>  </p>
3698  <p></p>  <p>
3699                            </p>
3700  <blockquote class="text">  <blockquote class="text">
3701  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3702  </p>  </p>
3703  </blockquote>  </blockquote><p>
3704                        
3705  <p>This will decrement the sampler channel count by one and also  </p>
3706                      decrement the channel numbers of all subsequent sampler channels by  <p>Where &lt;sampler-channel&gt; should be replaced by the
3707                      one.                      number of the sampler channel as given by the
3708                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3709                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3710                        command. The channel numbers of all subsequent sampler channels
3711                        remain the same.
3712  </p>  </p>
3713  <p>Possible Answers:  <p>Possible Answers:
3714  </p>  </p>
3715  <p></p>  <p>
3716                            </p>
3717  <blockquote class="text">  <blockquote class="text">
3718  <p>"OK" -  <p>"OK" -
3719                                  </p>                                  </p>
# Line 2960  Intellectual Property and Copyright Stat Line 3721  Intellectual Property and Copyright Stat
3721  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3722  </p>  </p>
3723  </blockquote>  </blockquote>
3724                                
3725    
3726  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3727                                  </p>                                  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3731  Intellectual Property and Copyright Stat
3731                                      warning code and warning message                                      warning code and warning message
3732  </p>  </p>
3733  </blockquote>  </blockquote>
3734                                
3735    
3736  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3737                                  </p>                                  </p>
# Line 2977  Intellectual Property and Copyright Stat Line 3740  Intellectual Property and Copyright Stat
3740                                      error message                                      error message
3741  </p>  </p>
3742  </blockquote>  </blockquote>
3743                                
3744    
3745  </blockquote>  </blockquote><p>
3746                        
3747    </p>
3748  <p>Example:  <p>Example:
3749  </p>  </p>
3750  <p></p>  <p>
3751                            </p>
3752  <blockquote class="text">  <blockquote class="text">
3753  <p>  <p>
3754  </p>  </p>
3755  </blockquote>  </blockquote><p>
3756                        
3757  <a name="rfc.section.5.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">5.4.7</a>&nbsp;Getting amount of available engines</h4>  </p>
3758    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3759    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3760    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3761    Getting amount of available engines</h3>
3762    
3763  <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:
3764  </p>  </p>
3765  <p></p>  <p>
3766                            </p>
3767  <blockquote class="text">  <blockquote class="text">
3768  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3769  </p>  </p>
3770  </blockquote>  </blockquote><p>
3771                        
3772    </p>
3773  <p>Possible Answers:  <p>Possible Answers:
3774  </p>  </p>
3775  <p></p>  <p>
3776                            </p>
3777  <blockquote class="text">  <blockquote class="text">
3778  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3779  </p>  </p>
3780  </blockquote>  </blockquote><p>
3781                        
3782    </p>
3783  <p>Example:  <p>Example:
3784  </p>  </p>
3785  <p></p>  <p>
3786                            </p>
3787  <blockquote class="text">  <blockquote class="text">
3788  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3789  </p>  </p>
3790  <p>S: "4"  <p>S: "4"
3791  </p>  </p>
3792  </blockquote>  </blockquote><p>
3793                        
3794  <a name="rfc.section.5.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">5.4.8</a>&nbsp;Getting all available engines</h4>  </p>
3795    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3796    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3797    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3798    Getting all available engines</h3>
3799    
3800  <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:
3801  </p>  </p>
3802  <p></p>  <p>
3803                            </p>
3804  <blockquote class="text">  <blockquote class="text">
3805  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3806  </p>  </p>
3807  </blockquote>  </blockquote><p>
3808                        
3809    </p>
3810  <p>Possible Answers:  <p>Possible Answers:
3811  </p>  </p>
3812  <p></p>  <p>
3813                            </p>
3814  <blockquote class="text">  <blockquote class="text">
3815  <p>LinuxSampler will answer by sending a comma separated character  <p>LinuxSampler will answer by sending a comma separated list
3816                              string of the engines' names. Engine names can consist of lower and                              of the engines' names encapsulated into apostrophes (').
3817                              upper cases, digits and underlines ("_" character).                              Engine names can consist of lower and upper cases,
3818                                digits and underlines ("_" character).
3819    </p>
3820    </blockquote><p>
3821                        
3822  </p>  </p>
 </blockquote>  
   
3823  <p>Example:  <p>Example:
3824  </p>  </p>
3825  <p></p>  <p>
3826                            </p>
3827  <blockquote class="text">  <blockquote class="text">
3828  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3829  </p>  </p>
3830  <p>S: "GigEngine,AkaiEngine,DLSEngine,JoesCustomEngine"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3831  </p>  </p>
3832  </blockquote>  </blockquote><p>
3833                        
3834  <a name="rfc.section.5.4.9"></a><h4><a name="GET ENGINE INFO">5.4.9</a>&nbsp;Getting information about an engine</h4>  </p>
3835    <a name="GET ENGINE INFO"></a><br /><hr />
3836    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3837    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3838    Getting information about an engine</h3>
3839    
3840  <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
3841                      sending the following command:                      sending the following command:
3842  </p>  </p>
3843  <p></p>  <p>
3844                            </p>
3845  <blockquote class="text">  <blockquote class="text">
3846  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3847  </p>  </p>
3848  </blockquote>  </blockquote><p>
3849                        
3850    </p>
3851  <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
3852                      <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.
3853  </p>  </p>
3854  <p>Possible Answers:  <p>Possible Answers:
3855  </p>  </p>
3856  <p></p>  <p>
3857                            </p>
3858  <blockquote class="text">  <blockquote class="text">
3859  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3860                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 3070  Intellectual Property and Copyright Stat Line 3862  Intellectual Property and Copyright Stat
3862                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3863                              the following categories are defined:                              the following categories are defined:
3864  </p>  </p>
3865  <p></p>  <p>
3866                                    </p>
3867  <blockquote class="text">  <blockquote class="text">
3868  <p>DESCRIPTION -  <p>DESCRIPTION -
3869                                          </p>                                          </p>
# Line 3078  Intellectual Property and Copyright Stat Line 3871  Intellectual Property and Copyright Stat
3871  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3872  </p>  </p>
3873  </blockquote>  </blockquote>
3874                                        
3875    
3876  <p>VERSION -  <p>VERSION -
3877                                          </p>                                          </p>
# Line 3085  Intellectual Property and Copyright Stat Line 3879  Intellectual Property and Copyright Stat
3879  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3880  </p>  </p>
3881  </blockquote>  </blockquote>
3882                                        
3883    
3884  </blockquote>  </blockquote>
3885                                
3886    
3887  </blockquote>  </blockquote><p>
3888                        
3889    </p>
3890  <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.
3891  </p>  </p>
3892  <p>Example:  <p>Example:
3893  </p>  </p>
3894  <p></p>  <p>
3895                            </p>
3896  <blockquote class="text">  <blockquote class="text">
3897  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3898  </p>  </p>
# Line 3104  Intellectual Property and Copyright Stat Line 3902  Intellectual Property and Copyright Stat
3902  </p>  </p>
3903  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3904  </p>  </p>
3905  </blockquote>  </blockquote><p>
3906                        
3907  <a name="rfc.section.5.4.10"></a><h4><a name="GET CHANNEL INFO">5.4.10</a>&nbsp;Getting sampler channel information</h4>  </p>
3908    <a name="GET CHANNEL INFO"></a><br /><hr />
3909    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3910    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3911    Getting sampler channel information</h3>
3912    
3913  <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
3914                      by sending the following command:                      by sending the following command:
3915  </p>  </p>
3916  <p></p>  <p>
3917                            </p>
3918  <blockquote class="text">  <blockquote class="text">
3919  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
3920  </p>  </p>
3921  </blockquote>  </blockquote><p>
3922                        
3923  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
3924    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
3925                        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>
3926                        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.
3927  </p>  </p>
3928  <p>Possible Answers:  <p>Possible Answers:
3929  </p>  </p>
3930  <p></p>  <p>
3931                            </p>
3932  <blockquote class="text">  <blockquote class="text">
3933  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3934                              Each answer line begins with the settings category name                              Each answer line begins with the settings category name
# Line 3129  Intellectual Property and Copyright Stat Line 3936  Intellectual Property and Copyright Stat
3936                              the info character string to that setting category. At the                              the info character string to that setting category. At the
3937                              moment the following categories are defined:                              moment the following categories are defined:
3938  </p>  </p>
3939  <p></p>  <p>
3940                                    </p>
3941  <blockquote class="text">  <blockquote class="text">
3942  <p>ENGINE_NAME -  <p>ENGINE_NAME -
3943                                          </p>                                          </p>
3944  <blockquote class="text">  <blockquote class="text">
3945  <p>name of the engine that is deployed on the sampler  <p>name of the engine that is associated with the sampler
3946                                              channel, "NONE" if there's no engine deployed yet for                                              channel, "NONE" if there's no engine associated yet for
3947                                              this sampler channel                                              this sampler channel
3948  </p>  </p>
3949  </blockquote>  </blockquote>
3950                                        
3951    
3952  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
3953                                          </p>                                          </p>
# Line 3149  Intellectual Property and Copyright Stat Line 3958  Intellectual Property and Copyright Stat
3958                                              connected to this sampler channel                                              connected to this sampler channel
3959  </p>  </p>
3960  </blockquote>  </blockquote>
3961                                        
3962    
3963  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
3964                                          </p>                                          </p>
# Line 3157  Intellectual Property and Copyright Stat Line 3967  Intellectual Property and Copyright Stat
3967                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
3968  </p>  </p>
3969  </blockquote>  </blockquote>
3970                                        
3971    
3972  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
3973                                          </p>                                          </p>
# Line 3170  Intellectual Property and Copyright Stat Line 3981  Intellectual Property and Copyright Stat
3981                                              output device                                              output device
3982  </p>  </p>
3983  </blockquote>  </blockquote>
3984                                        
3985    
3986  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
3987                                          </p>                                          </p>
# Line 3179  Intellectual Property and Copyright Stat Line 3991  Intellectual Property and Copyright Stat
3991                                              channel                                              channel
3992  </p>  </p>
3993  </blockquote>  </blockquote>
3994                                        
3995    
3996  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
3997                                          </p>                                          </p>
# Line 3186  Intellectual Property and Copyright Stat Line 3999  Intellectual Property and Copyright Stat
3999  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument
4000  </p>  </p>
4001  </blockquote>  </blockquote>
4002                                        
4003    
4004  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
4005                                          </p>                                          </p>
# Line 3193  Intellectual Property and Copyright Stat Line 4007  Intellectual Property and Copyright Stat
4007  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4008  </p>  </p>
4009  </blockquote>  </blockquote>
4010                                        
4011    
4012  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4013                                          </p>                                          </p>
# Line 3202  Intellectual Property and Copyright Stat Line 4017  Intellectual Property and Copyright Stat
4017                                              loaded.                                              loaded.
4018  </p>  </p>
4019  </blockquote>  </blockquote>
4020                                        
4021    
4022  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
4023                                          </p>                                          </p>
# Line 3212  Intellectual Property and Copyright Stat Line 4028  Intellectual Property and Copyright Stat
4028                                              connected to this sampler channel                                              connected to this sampler channel
4029  </p>  </p>
4030  </blockquote>  </blockquote>
4031                                        
4032    
4033  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4034                                          </p>                                          </p>
# Line 3219  Intellectual Property and Copyright Stat Line 4036  Intellectual Property and Copyright Stat
4036  <p>port number of the MIDI input device  <p>port number of the MIDI input device
4037  </p>  </p>
4038  </blockquote>  </blockquote>
4039                                        
4040    
4041  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
4042                                          </p>                                          </p>
# Line 3227  Intellectual Property and Copyright Stat Line 4045  Intellectual Property and Copyright Stat
4045                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
4046  </p>  </p>
4047  </blockquote>  </blockquote>
4048                                        
4049    
4050  <p>VOLUME -  <p>VOLUME -
4051                                          </p>                                          </p>
4052  <blockquote class="text">  <blockquote class="text">
4053  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4054                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4055                                              1.0 means amplification)                                              1.0 means amplification)
4056  </p>  </p>
4057  </blockquote>  </blockquote>
4058                                        
4059    
4060    <p>MUTE -
4061                                            </p>
4062    <blockquote class="text">
4063    <p>Determines whether the channel is muted, "true" if the
4064                                                channel is muted, "false" if the channel is not muted, and
4065                                                "MUTED_BY_SOLO" if the channel is muted because of the
4066                                                presence of a solo channel and will be unmuted when
4067                                                there are no solo channels left
4068    </p>
4069    </blockquote>
4070                                        
4071    
4072    <p>SOLO -
4073                                            </p>
4074    <blockquote class="text">
4075    <p>Determines whether this is a solo channel, "true" if
4076                                                the channel is a solo channel; "false" otherwise
4077    </p>
4078    </blockquote>
4079                                        
4080    
4081    <p>MIDI_INSTRUMENT_MAP -
4082                                            </p>
4083    <blockquote class="text">
4084    <p>Determines to which MIDI instrument map this sampler
4085                                                channel is assigned to. Read chapter
4086                                                <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>
4087                                                for a list of possible values.
4088    </p>
4089  </blockquote>  </blockquote>
4090                                        
4091    
4092  </blockquote>  </blockquote>
4093                                
4094    
4095    </blockquote><p>
4096                        
4097    </p>
4098  <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.
4099  </p>  </p>
4100  <p>Example:  <p>Example:
4101  </p>  </p>
4102  <p></p>  <p>
4103                            </p>
4104  <blockquote class="text">  <blockquote class="text">
4105  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4106  </p>  </p>
# Line 3273  Intellectual Property and Copyright Stat Line 4128  Intellectual Property and Copyright Stat
4128  </p>  </p>
4129  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4130  </p>  </p>
4131    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4132    </p>
4133    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4134    </p>
4135    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4136    </p>
4137    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4138    </p>
4139  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4140  </p>  </p>
4141  </blockquote>  </blockquote><p>
4142                        
4143  <a name="rfc.section.5.4.11"></a><h4><a name="GET CHANNEL VOICE_COUNT">5.4.11</a>&nbsp;Current number of active voices</h4>  </p>
4144    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4145    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4146    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4147    Current number of active voices</h3>
4148    
4149  <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
4150                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4151  </p>  </p>
4152  <p></p>  <p>
4153                            </p>
4154  <blockquote class="text">  <blockquote class="text">
4155  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4156  </p>  </p>
4157  </blockquote>  </blockquote><p>
4158                        
4159  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4160    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4161                        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>
4162                        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.
4163  </p>  </p>
4164  <p>Possible Answers:  <p>Possible Answers:
4165  </p>  </p>
4166  <p></p>  <p>
4167                            </p>
4168  <blockquote class="text">  <blockquote class="text">
4169  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4170                              voices on that channel.                              voices on that channel.
4171  </p>  </p>
4172  </blockquote>  </blockquote><p>
4173                        
4174    </p>
4175  <p>Example:  <p>Example:
4176  </p>  </p>
4177  <p></p>  <p>
4178                            </p>
4179  <blockquote class="text">  <blockquote class="text">
4180  <p>  <p>
4181  </p>  </p>
4182  </blockquote>  </blockquote><p>
4183                        
4184  <a name="rfc.section.5.4.12"></a><h4><a name="GET CHANNEL STREAM_COUNT">5.4.12</a>&nbsp;Current number of active disk streams</h4>  </p>
4185    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4186    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4187    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4188    Current number of active disk streams</h3>
4189    
4190  <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
4191                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4192  </p>  </p>
4193  <p></p>  <p>
4194                            </p>
4195  <blockquote class="text">  <blockquote class="text">
4196  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4197  </p>  </p>
4198  </blockquote>  </blockquote><p>
4199                        
4200  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in.  </p>
4201    <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4202                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4203                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4204  </p>  </p>
4205  <p>Possible Answers:  <p>Possible Answers:
4206  </p>  </p>
4207  <p></p>  <p>
4208                            </p>
4209  <blockquote class="text">  <blockquote class="text">
4210  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4211                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4212                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4213                              return "NA" for not available.                              return "NA" for not available.
4214  </p>  </p>
4215  </blockquote>  </blockquote><p>
4216                        
4217    </p>
4218  <p>Example:  <p>Example:
4219  </p>  </p>
4220  <p></p>  <p>
4221                            </p>
4222  <blockquote class="text">  <blockquote class="text">
4223  <p>  <p>
4224  </p>  </p>
4225  </blockquote>  </blockquote><p>
4226                        
4227  <a name="rfc.section.5.4.13"></a><h4><a name="GET CHANNEL BUFFER_FILL">5.4.13</a>&nbsp;Current fill state of disk stream buffers</h4>  </p>
4228    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4229    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4230    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4231    Current fill state of disk stream buffers</h3>
4232    
4233  <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
4234                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4235  </p>  </p>
4236  <p></p>  <p>
4237                            </p>
4238  <blockquote class="text">  <blockquote class="text">
4239  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4240  </p>  </p>
4241  </blockquote>  </blockquote><p>
4242                        
4243    </p>
4244  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4245  </p>  </p>
4246  <p></p>  <p>
4247                            </p>
4248  <blockquote class="text">  <blockquote class="text">
4249  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4250  </p>  </p>
4251  </blockquote>  </blockquote><p>
4252                        
4253    </p>
4254  <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
4255                      sampler channel number the front-end is interested in.                      sampler channel number the front-end is interested in
4256                        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>
4257                        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.
4258  </p>  </p>
4259  <p>Possible Answers:  <p>Possible Answers:
4260  </p>  </p>
4261  <p></p>  <p>
4262                            </p>
4263  <blockquote class="text">  <blockquote class="text">
4264  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4265                              string with the fill state of all disk stream buffers on that                              string with the fill state of all disk stream buffers on that
# Line 3376  Intellectual Property and Copyright Stat Line 4272  Intellectual Property and Copyright Stat
4272                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4273                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4274  </p>  </p>
4275  </blockquote>  </blockquote><p>
4276                        
4277    </p>
4278  <p>Examples:  <p>Examples:
4279  </p>  </p>
4280  <p></p>  <p>
4281                            </p>
4282  <blockquote class="text">  <blockquote class="text">
4283  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4284  </p>  </p>
4285  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
4286  </p>  </p>
4287  </blockquote>  </blockquote><p>
4288    
4289                            </p>
4290  <blockquote class="text">  <blockquote class="text">
4291  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4292  </p>  </p>
4293  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4294  </p>  </p>
4295  </blockquote>  </blockquote><p>
4296    
4297                            </p>
4298  <blockquote class="text">  <blockquote class="text">
4299  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4300  </p>  </p>
4301  <p>S: ""  <p>S: ""
4302  </p>  </p>
4303  </blockquote>  </blockquote><p>
4304                        
4305  <a name="rfc.section.5.4.14"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_DEVICE">5.4.14</a>&nbsp;Setting audio output device</h4>  </p>
4306    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4307    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4308    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4309    Setting audio output device</h3>
4310    
4311  <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
4312                      channel by sending the following command:                      channel by sending the following command:
4313  </p>  </p>
4314  <p></p>  <p>
4315                            </p>
4316  <blockquote class="text">  <blockquote class="text">
4317  <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;
4318  </p>  </p>
4319  </blockquote>  </blockquote><p>
4320                        
4321  <p>Where &lt;audio-device-id&gt; is the numerical ID of the audio output  </p>
4322                      device and &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4323                      number.                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4324                        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
4325                        &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4326                        <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>
4327                        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>
4328                        command.
4329  </p>  </p>
4330  <p>Possible Answers:  <p>Possible Answers:
4331  </p>  </p>
4332  <p></p>  <p>
4333                            </p>
4334  <blockquote class="text">  <blockquote class="text">
4335  <p>"OK" -  <p>"OK" -
4336                                  </p>                                  </p>
# Line 3425  Intellectual Property and Copyright Stat Line 4338  Intellectual Property and Copyright Stat
4338  <p>on success  <p>on success
4339  </p>  </p>
4340  </blockquote>  </blockquote>
4341                                
4342    
4343  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4344                                  </p>                                  </p>
# Line 3434  Intellectual Property and Copyright Stat Line 4348  Intellectual Property and Copyright Stat
4348                                      warning message                                      warning message
4349  </p>  </p>
4350  </blockquote>  </blockquote>
4351                                
4352    
4353  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4354                                  </p>                                  </p>
# Line 3441  Intellectual Property and Copyright Stat Line 4356  Intellectual Property and Copyright Stat
4356  <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
4357  </p>  </p>
4358  </blockquote>  </blockquote>
4359                                
4360    
4361  </blockquote>  </blockquote><p>
4362                        
4363    </p>
4364  <p>Examples:  <p>Examples:
4365  </p>  </p>
4366  <p></p>  <p>
4367                            </p>
4368  <blockquote class="text">  <blockquote class="text">
4369  <p>  <p>
4370  </p>  </p>
4371  </blockquote>  </blockquote><p>
4372                        
4373  <a name="rfc.section.5.4.15"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_TYP">5.4.15</a>&nbsp;Setting audio output type</h4>  </p>
4374    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4375    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4376    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4377    Setting audio output type</h3>
4378    
4379  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4380  </p>  </p>
4381  <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
4382                      channel by sending the following command:                      channel by sending the following command:
4383  </p>  </p>
4384  <p></p>  <p>
4385                            </p>
4386  <blockquote class="text">  <blockquote class="text">
4387  <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;
4388  </p>  </p>
4389  </blockquote>  </blockquote><p>
4390                        
4391    </p>
4392  <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
4393                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4394  </p>  </p>
4395  <p>Possible Answers:  <p>Possible Answers:
4396  </p>  </p>
4397  <p></p>  <p>
4398                            </p>
4399  <blockquote class="text">  <blockquote class="text">
4400  <p>"OK" -  <p>"OK" -
4401                                  </p>                                  </p>
# Line 3478  Intellectual Property and Copyright Stat Line 4403  Intellectual Property and Copyright Stat
4403  <p>on success  <p>on success
4404  </p>  </p>
4405  </blockquote>  </blockquote>
4406                                
4407    
4408  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4409                                  </p>                                  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 4413  Intellectual Property and Copyright Stat
4413                                      warning message                                      warning message
4414  </p>  </p>
4415  </blockquote>  </blockquote>
4416                                
4417    
4418  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4419                                  </p>                                  </p>
# Line 3494  Intellectual Property and Copyright Stat Line 4421  Intellectual Property and Copyright Stat
4421  <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
4422  </p>  </p>
4423  </blockquote>  </blockquote>
4424                                
4425    
4426  </blockquote>  </blockquote><p>
4427                        
4428    </p>
4429  <p>Examples:  <p>Examples:
4430  </p>  </p>
4431  <p></p>  <p>
4432                            </p>
4433  <blockquote class="text">  <blockquote class="text">
4434  <p>  <p>
4435  </p>  </p>
4436  </blockquote>  </blockquote><p>
4437                        
4438  <a name="rfc.section.5.4.16"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL">5.4.16</a>&nbsp;Setting audio output channel</h4>  </p>
4439    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4440    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4441    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4442    Setting audio output channel</h3>
4443    
4444  <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
4445                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4446  </p>  </p>
4447  <p></p>  <p>
4448                            </p>
4449  <blockquote class="text">  <blockquote class="text">
4450  <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;
4451  </p>  </p>
4452  </blockquote>  </blockquote><p>
4453                        
4454  <p>Where &lt;sampler-chan&gt; is the sampler channel number, &lt;audio-out&gt; is the  </p>
4455    <p>Where &lt;sampler-chan&gt; is the sampler channel number
4456                        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>
4457                        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
4458                      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
4459                      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
4460                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4461  </p>  </p>
4462  <p>Possible Answers:  <p>Possible Answers:
4463  </p>  </p>
4464  <p></p>  <p>
4465                            </p>
4466  <blockquote class="text">  <blockquote class="text">
4467  <p>"OK" -  <p>"OK" -
4468                                  </p>                                  </p>
# Line 3531  Intellectual Property and Copyright Stat Line 4470  Intellectual Property and Copyright Stat
4470  <p>on success  <p>on success
4471  </p>  </p>
4472  </blockquote>  </blockquote>
4473                                
4474    
4475  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4476                                  </p>                                  </p>
# Line 3540  Intellectual Property and Copyright Stat Line 4480  Intellectual Property and Copyright Stat
4480                                      warning message                                      warning message
4481  </p>  </p>
4482  </blockquote>  </blockquote>
4483                                
4484    
4485  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4486                                  </p>                                  </p>
# Line 3547  Intellectual Property and Copyright Stat Line 4488  Intellectual Property and Copyright Stat
4488  <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
4489  </p>  </p>
4490  </blockquote>  </blockquote>
4491                                
4492    
4493  </blockquote>  </blockquote><p>
4494                        
4495    </p>
4496  <p>Examples:  <p>Examples:
4497  </p>  </p>
4498  <p></p>  <p>
4499                            </p>
4500  <blockquote class="text">  <blockquote class="text">
4501  <p>  <p>
4502  </p>  </p>
4503  </blockquote>  </blockquote><p>
4504                        
4505  <a name="rfc.section.5.4.17"></a><h4><a name="SET CHANNEL MIDI_INPUT_DEVICE">5.4.17</a>&nbsp;Setting MIDI input device</h4>  </p>
4506    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4507    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4508    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4509    Setting MIDI input device</h3>
4510    
4511  <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
4512                      channel by sending the following command:                      channel by sending the following command:
4513  </p>  </p>
4514  <p></p>  <p>
4515                            </p>
4516  <blockquote class="text">  <blockquote class="text">
4517  <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;
4518  </p>  </p>
4519  </blockquote>  </blockquote><p>
4520                        
4521  <p>Where &lt;sampler-channel&gt; is the sampler channel number and &lt;midi-device-id&gt; is the  </p>
4522                      the numerical ID of the MIDI input device.  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4523                        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>
4524                        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
4525                        and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4526                        <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>
4527                        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.
4528  </p>  </p>
4529  <p>Possible Answers:  <p>Possible Answers:
4530  </p>  </p>
4531  <p></p>  <p>
4532                            </p>
4533  <blockquote class="text">  <blockquote class="text">
4534  <p>"OK" -  <p>"OK" -
4535                                  </p>                                  </p>
# Line 3582  Intellectual Property and Copyright Stat Line 4537  Intellectual Property and Copyright Stat
4537  <p>on success  <p>on success
4538  </p>  </p>
4539  </blockquote>  </blockquote>
4540                                
4541    
4542  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4543                                  </p>                                  </p>
# Line 3591  Intellectual Property and Copyright Stat Line 4547  Intellectual Property and Copyright Stat
4547                                      warning message                                      warning message
4548  </p>  </p>
4549  </blockquote>  </blockquote>
4550                                
4551    
4552  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4553                                  </p>                                  </p>
# Line 3598  Intellectual Property and Copyright Stat Line 4555  Intellectual Property and Copyright Stat
4555  <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
4556  </p>  </p>
4557  </blockquote>  </blockquote>
4558                                
4559    
4560  </blockquote>  </blockquote><p>
4561                        
4562    </p>
4563  <p>Examples:  <p>Examples:
4564  </p>  </p>
4565  <p></p>  <p>
4566                            </p>
4567  <blockquote class="text">  <blockquote class="text">
4568  <p>  <p>
4569  </p>  </p>
4570  </blockquote>  </blockquote><p>
4571                        
4572  <a name="rfc.section.5.4.18"></a><h4><a name="SET CHANNEL MIDI_INPUT_TYPE">5.4.18</a>&nbsp;Setting MIDI input type</h4>  </p>
4573    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4574    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4575    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4576    Setting MIDI input type</h3>
4577    
4578  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4579  </p>  </p>
4580  <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
4581                      channel by sending the following command:                      channel by sending the following command:
4582  </p>  </p>
4583  <p></p>  <p>
4584                            </p>
4585  <blockquote class="text">  <blockquote class="text">
4586  <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;
4587  </p>  </p>
4588  </blockquote>  </blockquote><p>
4589                        
4590    </p>
4591  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4592                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4593  </p>  </p>
4594  <p>Possible Answers:  <p>Possible Answers:
4595  </p>  </p>
4596  <p></p>  <p>
4597                            </p>
4598  <blockquote class="text">  <blockquote class="text">
4599  <p>"OK" -  <p>"OK" -
4600                                  </p>                                  </p>
# Line 3635  Intellectual Property and Copyright Stat Line 4602  Intellectual Property and Copyright Stat
4602  <p>on success  <p>on success
4603  </p>  </p>
4604  </blockquote>  </blockquote>
4605                                
4606    
4607  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4608                                  </p>                                  </p>
# Line 3644  Intellectual Property and Copyright Stat Line 4612  Intellectual Property and Copyright Stat
4612                                      warning message                                      warning message
4613  </p>  </p>
4614  </blockquote>  </blockquote>
4615                                
4616    
4617  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4618                                  </p>                                  </p>
# Line 3651  Intellectual Property and Copyright Stat Line 4620  Intellectual Property and Copyright Stat
4620  <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
4621  </p>  </p>
4622  </blockquote>  </blockquote>
4623                                
4624    
4625  </blockquote>  </blockquote><p>
4626                        
4627    </p>
4628  <p>Examples:  <p>Examples:
4629  </p>  </p>
4630  <p></p>  <p>
4631                            </p>
4632  <blockquote class="text">  <blockquote class="text">
4633  <p>  <p>
4634  </p>  </p>
4635  </blockquote>  </blockquote><p>
4636                        
4637  <a name="rfc.section.5.4.19"></a><h4><a name="SET CHANNEL MIDI_INPUT_PORT">5.4.19</a>&nbsp;Setting MIDI input port</h4>  </p>
4638    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4639    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4640    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4641    Setting MIDI input port</h3>
4642    
4643  <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
4644                      channel by sending the following command:                      channel by sending the following command:
4645  </p>  </p>
4646  <p></p>  <p>
4647                            </p>
4648  <blockquote class="text">  <blockquote class="text">
4649  <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;
4650  </p>  </p>
4651  </blockquote>  </blockquote><p>
4652                        
4653    </p>
4654  <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
4655                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4656                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4657  </p>  </p>
4658  <p>Possible Answers:  <p>Possible Answers:
4659  </p>  </p>
4660  <p></p>  <p>
4661                            </p>
4662  <blockquote class="text">  <blockquote class="text">
4663  <p>"OK" -  <p>"OK" -
4664                                  </p>                                  </p>
# Line 3687  Intellectual Property and Copyright Stat Line 4666  Intellectual Property and Copyright Stat
4666  <p>on success  <p>on success
4667  </p>  </p>
4668  </blockquote>  </blockquote>
4669                                
4670    
4671  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4672                                  </p>                                  </p>
# Line 3696  Intellectual Property and Copyright Stat Line 4676  Intellectual Property and Copyright Stat
4676                                      warning message                                      warning message
4677  </p>  </p>
4678  </blockquote>  </blockquote>
4679                                
4680    
4681  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4682                                  </p>                                  </p>
4683  <blockquote class="text">  <blockquote class="text">
4684  <p>in case it failed, providing an appropriate error code and error messag  <p>in case it failed, providing an appropriate error code and error message
4685  </p>  </p>
4686  </blockquote>  </blockquote>
4687                                
4688    
4689  </blockquote>  </blockquote><p>
4690                        
4691    </p>
4692  <p>Examples:  <p>Examples:
4693  </p>  </p>
4694  <p></p>  <p>
4695                            </p>
4696  <blockquote class="text">  <blockquote class="text">
4697  <p>  <p>
4698  </p>  </p>
4699  </blockquote>  </blockquote><p>
4700                        
4701  <a name="rfc.section.5.4.20"></a><h4><a name="SET CHANNEL MIDI_INPUT_CHANNEL">5.4.20</a>&nbsp;Setting MIDI input channel</h4>  </p>
4702    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4703    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4704    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4705    Setting MIDI input channel</h3>
4706    
4707  <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
4708                      listen to by sending the following command:                      listen to by sending the following command:
4709  </p>  </p>
4710  <p></p>  <p>
4711                            </p>
4712  <blockquote class="text">  <blockquote class="text">
4713  <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;
4714  </p>  </p>
4715  </blockquote>  </blockquote><p>
4716                        
4717    </p>
4718  <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
4719                      &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
4720                      channels.                      channels.
4721  </p>  </p>
4722  <p>Possible Answers:  <p>Possible Answers:
4723  </p>  </p>
4724  <p></p>  <p>
4725                            </p>
4726  <blockquote class="text">  <blockquote class="text">
4727  <p>"OK" -  <p>"OK" -
4728                                  </p>                                  </p>
# Line 3739  Intellectual Property and Copyright Stat Line 4730  Intellectual Property and Copyright Stat
4730  <p>on success  <p>on success
4731  </p>  </p>
4732  </blockquote>  </blockquote>
4733                                
4734    
4735  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4736                                  </p>                                  </p>
# Line 3748  Intellectual Property and Copyright Stat Line 4740  Intellectual Property and Copyright Stat
4740                                      warning message                                      warning message
4741  </p>  </p>
4742  </blockquote>  </blockquote>
4743                                
4744    
4745  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4746                                  </p>                                  </p>
# Line 3755  Intellectual Property and Copyright Stat Line 4748  Intellectual Property and Copyright Stat
4748  <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
4749  </p>  </p>
4750  </blockquote>  </blockquote>
4751                                
4752    
4753  </blockquote>  </blockquote><p>
4754                        
4755    </p>
4756  <p>Examples:  <p>Examples:
4757  </p>  </p>
4758  <p></p>  <p>
4759                            </p>
4760  <blockquote class="text">  <blockquote class="text">
4761  <p>  <p>
4762  </p>  </p>
4763  </blockquote>  </blockquote><p>
4764                        
4765  <a name="rfc.section.5.4.21"></a><h4><a name="SET CHANNEL VOLUME">5.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4766    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4767    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4768    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4769    Setting channel volume</h3>
4770    
4771  <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
4772                      the following command:                      the following command:
4773  </p>  </p>
4774  <p></p>  <p>
4775                            </p>
4776  <blockquote class="text">  <blockquote class="text">
4777  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4778  </p>  </p>
4779  </blockquote>  </blockquote><p>
4780                        
4781    </p>
4782  <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
4783                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4784                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler
# Line 3784  Intellectual Property and Copyright Stat Line 4786  Intellectual Property and Copyright Stat
4786  </p>  </p>
4787  <p>Possible Answers:  <p>Possible Answers:
4788  </p>  </p>
4789  <p></p>  <p>
4790                            </p>
4791  <blockquote class="text">  <blockquote class="text">
4792  <p>"OK" -  <p>"OK" -
4793                                  </p>                                  </p>
# Line 3792  Intellectual Property and Copyright Stat Line 4795  Intellectual Property and Copyright Stat
4795  <p>on success  <p>on success
4796  </p>  </p>
4797  </blockquote>  </blockquote>
4798                                
4799    
4800  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4801                                  </p>                                  </p>
# Line 3801  Intellectual Property and Copyright Stat Line 4805  Intellectual Property and Copyright Stat
4805                                      warning message                                      warning message
4806  </p>  </p>
4807  </blockquote>  </blockquote>
4808                                
4809    
4810    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4811                                    </p>
4812    <blockquote class="text">
4813    <p>in case it failed, providing an appropriate error code and error message
4814    </p>
4815    </blockquote>
4816                                
4817    
4818    </blockquote><p>
4819                        
4820    </p>
4821    <p>Examples:
4822    </p>
4823    <p>
4824                            </p>
4825    <blockquote class="text">
4826    <p>
4827    </p>
4828    </blockquote><p>
4829                        
4830    </p>
4831    <a name="SET CHANNEL MUTE"></a><br /><hr />
4832    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4833    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4834    Muting a sampler channel</h3>
4835    
4836    <p>The front-end can mute/unmute a specific sampler
4837                        channel by sending the following command:
4838    </p>
4839    <p>
4840                            </p>
4841    <blockquote class="text">
4842    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4843    </p>
4844    </blockquote><p>
4845                        
4846    </p>
4847    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4848                        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>
4849                        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
4850                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4851                        to unmute the channel.
4852    </p>
4853    <p>Possible Answers:
4854    </p>
4855    <p>
4856                            </p>
4857    <blockquote class="text">
4858    <p>"OK" -
4859                                    </p>
4860    <blockquote class="text">
4861    <p>on success
4862    </p>
4863    </blockquote>
4864                                
4865    
4866    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4867                                    </p>
4868    <blockquote class="text">
4869    <p>if the channel was muted/unmuted, but there are noteworthy
4870                                        issue(s) related, providing an appropriate warning code and
4871                                        warning message
4872    </p>
4873    </blockquote>
4874                                
4875    
4876  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4877                                  </p>                                  </p>
# Line 3808  Intellectual Property and Copyright Stat Line 4879  Intellectual Property and Copyright Stat
4879  <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
4880  </p>  </p>
4881  </blockquote>  </blockquote>
4882                                
4883    
4884    </blockquote><p>
4885                        
4886    </p>
4887    <p>Examples:
4888    </p>
4889    <p>
4890                            </p>
4891    <blockquote class="text">
4892    <p>
4893    </p>
4894    </blockquote><p>
4895                        
4896    </p>
4897    <a name="SET CHANNEL SOLO"></a><br /><hr />
4898    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4899    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4900    Soloing a sampler channel</h3>
4901    
4902    <p>The front-end can solo/unsolo a specific sampler channel
4903                        by sending the following command:
4904    </p>
4905    <p>
4906                            </p>
4907    <blockquote class="text">
4908    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4909    </p>
4910    </blockquote><p>
4911                        
4912    </p>
4913    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4914                        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>
4915                        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
4916                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4917                        to unsolo the channel.
4918    </p>
4919    <p>Possible Answers:
4920    </p>
4921    <p>
4922                            </p>
4923    <blockquote class="text">
4924    <p>"OK" -
4925                                    </p>
4926    <blockquote class="text">
4927    <p>on success
4928    </p>
4929    </blockquote>
4930                                
4931    
4932    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4933                                    </p>
4934    <blockquote class="text">
4935    <p>if the channel was soloed/unsoloed, but there are noteworthy
4936                                        issue(s) related, providing an appropriate warning code and
4937                                        warning message
4938    </p>
4939    </blockquote>
4940                                
4941    
4942    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4943                                    </p>
4944    <blockquote class="text">
4945    <p>in case it failed, providing an appropriate error code and error message
4946    </p>
4947  </blockquote>  </blockquote>
4948                                
4949    
4950    </blockquote><p>
4951                        
4952    </p>
4953  <p>Examples:  <p>Examples:
4954  </p>  </p>
4955  <p></p>  <p>
4956                            </p>
4957    <blockquote class="text">
4958    <p>
4959    </p>
4960    </blockquote><p>
4961                        
4962    </p>
4963    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4964    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4965    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4966    Assigning a MIDI instrument map to a sampler channel</h3>
4967    
4968    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
4969                        by sending the following command:
4970    </p>
4971    <p>
4972                            </p>
4973  <blockquote class="text">  <blockquote class="text">
4974    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
4975    </p>
4976    </blockquote><p>
4977                        
4978    </p>
4979    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4980                        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>
4981                        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
4982                        &lt;map&gt; can have the following possibilites:
4983    </p>
4984  <p>  <p>
4985                            </p>
4986    <blockquote class="text">
4987    <p>"NONE" -
4988                                    </p>
4989    <blockquote class="text">
4990    <p>This is the default setting. In this case
4991                                        the sampler channel is not assigned any MIDI
4992                                        instrument map and thus will ignore all MIDI
4993                                        program change messages.
4994    </p>
4995    </blockquote>
4996                                
4997    
4998    <p>"DEFAULT" -
4999                                    </p>
5000    <blockquote class="text">
5001    <p>The sampler channel will always use the
5002                                        default MIDI instrument map to handle MIDI
5003                                        program change messages.
5004  </p>  </p>
5005  </blockquote>  </blockquote>
5006                                
5007    
5008  <a name="rfc.section.5.4.22"></a><h4><a name="RESET CHANNEL">5.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>numeric ID -
5009                                    </p>
5010    <blockquote class="text">
5011    <p>You can assign a specific MIDI instrument map
5012                                        by replacing &lt;map&gt; with the respective numeric
5013                                        ID of the MIDI instrument map as returned by the
5014                                        <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>
5015                                        command. Once that map will be deleted, the sampler
5016                                        channel would fall back to "NONE".
5017    </p>
5018    </blockquote>
5019                                
5020    
5021  <p>The front-end can reset a particular sampler channel by sending the following command:  </blockquote><p>
5022                        
5023    </p>
5024    <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>
5025                        for details regarding MIDI instrument mapping.
5026    </p>
5027    <p>Possible Answers:
5028  </p>  </p>
5029  <p></p>  <p>
5030                            </p>
5031  <blockquote class="text">  <blockquote class="text">
5032  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>"OK" -
5033                                    </p>
5034    <blockquote class="text">
5035    <p>on success
5036    </p>
5037    </blockquote>
5038                                
5039    
5040    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5041                                    </p>
5042    <blockquote class="text">
5043    <p>in case it failed, providing an appropriate error code and error message
5044    </p>
5045    </blockquote>
5046                                
5047    
5048    </blockquote><p>
5049                        
5050    </p>
5051    <p>Examples:
5052    </p>
5053    <p>
5054                            </p>
5055    <blockquote class="text">
5056    <p>
5057    </p>
5058    </blockquote><p>
5059                        
5060    </p>
5061    <a name="CREATE FX_SEND"></a><br /><hr />
5062    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5063    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5064    Adding an effect send to a sampler channel</h3>
5065    
5066    <p>The front-end can create an additional effect send on a specific sampler channel
5067                        by sending the following command:
5068    </p>
5069    <p>
5070                            </p>
5071    <blockquote class="text">
5072    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5073    </p>
5074    </blockquote><p>
5075                        
5076    </p>
5077    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5078                        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>
5079                        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
5080                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5081                        is a number between 0..127 defining the MIDI controller which can alter the
5082                        effect send level and &lt;name&gt; is an optional argument defining a name
5083                        for the effect send entity. The name does not have to be unique.
5084    </p>
5085    <p>By default, that is as initial routing, the effect send's audio channels
5086                        are automatically routed to the last audio channels of the sampler channel's
5087                        audio output device, that way you can i.e. first increase the amount of audio
5088                        channels on the audio output device for having dedicated effect send output
5089                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5090                        be picked. You can alter the destination channels however with
5091                        <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>.
5092                        
5093    </p>
5094    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5095                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5096                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5097                        the voices and route the audio signal afterwards to the master outputs and effect send
5098                        outputs (along with their respective effect send levels). A sampler channel without effect
5099                        sends however can mix its voices directly into the audio output devices's audio buffers
5100                        and is thus faster.
5101                        
5102    </p>
5103    <p>Possible Answers:
5104    </p>
5105    <p>
5106                            </p>
5107    <blockquote class="text">
5108    <p>"OK[&lt;fx-send-id&gt;]" -
5109                                    </p>
5110    <blockquote class="text">
5111    <p>in case a new effect send could be added to the
5112                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5113                                        unique ID of the newly created effect send entity
5114    </p>
5115    </blockquote>
5116                                
5117    
5118    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5119                                    </p>
5120    <blockquote class="text">
5121    <p>when a new effect send could not be added, i.e.
5122                                        due to invalid parameters
5123    </p>
5124    </blockquote>
5125                                
5126    
5127    </blockquote><p>
5128                        
5129    </p>
5130    <p>Examples:
5131    </p>
5132    <p>
5133                            </p>
5134    <blockquote class="text">
5135    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5136    </p>
5137    <p>S: "OK[0]"
5138    </p>
5139    </blockquote><p>
5140                        
5141    </p>
5142    <p>
5143                            </p>
5144    <blockquote class="text">
5145    <p>C: "CREATE FX_SEND 0 93"
5146    </p>
5147    <p>S: "OK[1]"
5148    </p>
5149    </blockquote><p>
5150                        
5151    </p>
5152    <a name="DESTROY FX_SEND"></a><br /><hr />
5153    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5154    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5155    Removing an effect send from a sampler channel</h3>
5156    
5157    <p>The front-end can remove an existing effect send on a specific sampler channel
5158                        by sending the following command:
5159    </p>
5160    <p>
5161                            </p>
5162    <blockquote class="text">
5163    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5164    </p>
5165    </blockquote><p>
5166                        
5167    </p>
5168    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5169                        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>
5170                        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
5171                        sampler channel from which the effect send should be removed from and
5172                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5173                        <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>
5174                        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.
5175    </p>
5176    <p>Possible Answers:
5177    </p>
5178    <p>
5179                            </p>
5180    <blockquote class="text">
5181    <p>"OK" -
5182                                    </p>
5183    <blockquote class="text">
5184    <p>on success
5185    </p>
5186    </blockquote>
5187                                
5188    
5189    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5190                                    </p>
5191    <blockquote class="text">
5192    <p>in case it failed, providing an appropriate error code and
5193                                        error message
5194    </p>
5195    </blockquote>
5196                                
5197    
5198    </blockquote><p>
5199                        
5200    </p>
5201    <p>Example:
5202    </p>
5203    <p>
5204                            </p>
5205    <blockquote class="text">
5206    <p>C: "DESTROY FX_SEND 0 0"
5207    </p>
5208    <p>S: "OK"
5209    </p>
5210    </blockquote><p>
5211                        
5212    </p>
5213    <a name="GET FX_SENDS"></a><br /><hr />
5214    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5215    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5216    Getting amount of effect sends on a sampler channel</h3>
5217    
5218    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5219                        by sending the following command:
5220    </p>
5221    <p>
5222                            </p>
5223    <blockquote class="text">
5224    <p>GET FX_SENDS &lt;sampler-channel&gt;
5225    </p>
5226    </blockquote><p>
5227                        
5228    </p>
5229    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5230                        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>
5231                        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.
5232    </p>
5233    <p>Possible Answers:
5234    </p>
5235    <p>
5236                            </p>
5237    <blockquote class="text">
5238    <p>The sampler will answer by returning the number of effect
5239                                sends on the given sampler channel.
5240    </p>
5241    </blockquote><p>
5242                        
5243    </p>
5244    <p>Example:
5245    </p>
5246    <p>
5247                            </p>
5248    <blockquote class="text">
5249    <p>C: "GET FX_SENDS 0"
5250    </p>
5251    <p>S: "2"
5252    </p>
5253    </blockquote><p>
5254                        
5255    </p>
5256    <a name="LIST FX_SENDS"></a><br /><hr />
5257    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5258    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5259    Listing all effect sends on a sampler channel</h3>
5260    
5261    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5262                        by sending the following command:
5263    </p>
5264    <p>
5265                            </p>
5266    <blockquote class="text">
5267    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5268    </p>
5269    </blockquote><p>
5270                        
5271    </p>
5272    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5273                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5274                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
5275    </p>
5276    <p>Possible Answers:
5277    </p>
5278    <p>
5279                            </p>
5280    <blockquote class="text">
5281    <p>The sampler will answer by returning a comma separated list
5282                                with all effect sends' numerical IDs on the given sampler
5283                                channel.
5284    </p>
5285    </blockquote><p>
5286                        
5287    </p>
5288    <p>Examples:
5289    </p>
5290    <p>
5291                            </p>
5292    <blockquote class="text">
5293    <p>C: "LIST FX_SENDS 0"
5294    </p>
5295    <p>S: "0,1"
5296    </p>
5297    </blockquote><p>
5298                        
5299    </p>
5300    <p>
5301                            </p>
5302    <blockquote class="text">
5303    <p>C: "LIST FX_SENDS 1"
5304    </p>
5305    <p>S: ""
5306    </p>
5307    </blockquote><p>
5308                        
5309    </p>
5310    <a name="GET FX_SEND INFO"></a><br /><hr />
5311    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5312    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5313    Getting effect send information</h3>
5314    
5315    <p>The front-end can ask for the current settings of an effect send entity
5316                        by sending the following command:
5317    </p>
5318    <p>
5319                            </p>
5320    <blockquote class="text">
5321    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5322    </p>
5323    </blockquote><p>
5324                        
5325    </p>
5326    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5327                        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>
5328                        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
5329                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5330                        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>
5331                        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.
5332                      
5333    </p>
5334    <p>Possible Answers:
5335    </p>
5336    <p>
5337                            </p>
5338    <blockquote class="text">
5339    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5340                                Each answer line begins with the settings category name
5341                                followed by a colon and then a space character &lt;SP&gt; and finally
5342                                the info character string to that setting category. At the
5343                                moment the following categories are defined:
5344    </p>
5345    <p>
5346                                    </p>
5347    <blockquote class="text">
5348    <p>NAME -
5349                                            </p>
5350    <blockquote class="text">
5351    <p>name of the effect send entity
5352    </p>
5353    </blockquote>
5354                                        
5355    
5356    <p>MIDI_CONTROLLER -
5357                                            </p>
5358    <blockquote class="text">
5359    <p>a value between 0 and 127 reflecting the MIDI controller
5360                                                which is able to modify the effect send's send level
5361    </p>
5362    </blockquote>
5363                                        
5364    
5365    <p>LEVEL -
5366                                            </p>
5367    <blockquote class="text">
5368    <p>optionally dotted number reflecting the effect send's
5369                                                current send level (where a value &lt; 1.0 means attenuation
5370                                                and a value > 1.0 means amplification)
5371    </p>
5372    </blockquote>
5373                                        
5374    
5375    <p>AUDIO_OUTPUT_ROUTING -
5376                                            </p>
5377    <blockquote class="text">
5378    <p>comma separated list which reflects to which audio
5379                                                channel of the selected audio output device each
5380                                                effect send output channel is routed to, e.g. "0,3" would
5381                                                mean the effect send's output channel 0 is routed to channel
5382                                                0 of the audio output device and the effect send's output
5383                                                channel 1 is routed to the channel 3 of the audio
5384                                                output device (see
5385                                                <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>
5386                                                for details)
5387    </p>
5388    </blockquote>
5389                                        
5390    
5391    </blockquote>
5392                                
5393    
5394    </blockquote><p>
5395                        
5396    </p>
5397    <p>The mentioned fields above don't have to be in particular order.
5398    </p>
5399    <p>Example:
5400    </p>
5401    <p>
5402                            </p>
5403    <blockquote class="text">
5404    <p>C: "GET FX_SEND INFO 0 0"
5405    </p>
5406    <p>S: "NAME: Reverb Send"
5407    </p>
5408    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5409    </p>
5410    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5411    </p>
5412    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5413    </p>
5414    <p>&nbsp;&nbsp;&nbsp;"."
5415    </p>
5416    </blockquote><p>
5417                        
5418    </p>
5419    <a name="SET FX_SEND NAME"></a><br /><hr />
5420    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5421    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5422    Changing effect send's name</h3>
5423    
5424    <p>The front-end can alter the current name of an effect
5425                        send entity by sending the following command:
5426    </p>
5427    <p>
5428                            </p>
5429    <blockquote class="text">
5430    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5431    </p>
5432    </blockquote><p>
5433                        
5434    </p>
5435    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5436                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5437                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command,
5438                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5439                        as returned by the <a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
5440                        or <a class='info' href='#LIST FX_SENDS'>"LIST FX_SENDS"<span> (</span><span class='info'>Listing all effect sends on a sampler channel</span><span>)</span></a> command and
5441                        &lt;name&gt; is the new name of the effect send entity, which
5442                        does not have to be unique.
5443    </p>
5444    <p>Possible Answers:
5445    </p>
5446    <p>
5447                            </p>
5448    <blockquote class="text">
5449    <p>"OK" -
5450                                    </p>
5451    <blockquote class="text">
5452    <p>on success
5453    </p>
5454    </blockquote>
5455                                
5456    
5457    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5458                                    </p>
5459    <blockquote class="text">
5460    <p>in case it failed, providing an appropriate error code and error message
5461    </p>
5462    </blockquote>
5463                                
5464    
5465    </blockquote><p>
5466                        
5467    </p>
5468    <p>Example:
5469    </p>
5470    <p>
5471                            </p>
5472    <blockquote class="text">
5473    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5474    </p>
5475    <p>S: "OK"
5476    </p>
5477    </blockquote><p>
5478                        
5479    </p>
5480    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5481    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5482    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5483    Altering effect send's audio routing</h3>
5484    
5485    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5486                        sampler channel by sending the following command:
5487    </p>
5488    <p>
5489                            </p>
5490    <blockquote class="text">
5491    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5492    </p>
5493    </blockquote><p>
5494                        
5495    </p>
5496    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5497                        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>
5498                        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,
5499                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5500                        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>
5501                        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,
5502                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5503                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5504                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5505                        should be routed to.
5506    </p>
5507    <p>Note that effect sends can only route audio to the same audio output
5508                        device as assigned to the effect send's sampler channel. Also note that an
5509                        effect send entity does always have exactly as much audio channels as its
5510                        sampler channel. So if the sampler channel is stereo, the effect send does
5511                        have two audio channels as well. Also keep in mind that the amount of audio
5512                        channels on a sampler channel might be dependant not only to the deployed
5513                        sampler engine on the sampler channel, but also dependant to the instrument
5514                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5515                        send into a mono one by simply altering its audio routing appropriately.
5516    </p>
5517    <p>Possible Answers:
5518    </p>
5519    <p>
5520                            </p>
5521    <blockquote class="text">
5522    <p>"OK" -
5523                                    </p>
5524    <blockquote class="text">
5525    <p>on success
5526    </p>
5527    </blockquote>
5528                                
5529    
5530    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5531                                    </p>
5532    <blockquote class="text">
5533    <p>if audio output channel was set, but there are noteworthy
5534                                        issue(s) related, providing an appropriate warning code and
5535                                        warning message
5536    </p>
5537    </blockquote>
5538                                
5539    
5540    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5541                                    </p>
5542    <blockquote class="text">
5543    <p>in case it failed, providing an appropriate error code and error message
5544    </p>
5545    </blockquote>
5546                                
5547    
5548    </blockquote><p>
5549                        
5550    </p>
5551    <p>Example:
5552    </p>
5553    <p>
5554                            </p>
5555    <blockquote class="text">
5556    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5557    </p>
5558    <p>S: "OK"
5559    </p>
5560    </blockquote><p>
5561                        
5562    </p>
5563    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5564    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5565    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5566    Altering effect send's MIDI controller</h3>
5567    
5568    <p>The front-end can alter the MIDI controller of an effect
5569                        send entity by sending the following command:
5570    </p>
5571    <p>
5572                            </p>
5573    <blockquote class="text">
5574    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5575    </p>
5576    </blockquote><p>
5577                        
5578    </p>
5579    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5580                        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>
5581                        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,
5582                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5583                        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>
5584                        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
5585                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5586                        able to modify the effect send's send level.
5587    </p>
5588    <p>Possible Answers:
5589    </p>
5590    <p>
5591                            </p>
5592    <blockquote class="text">
5593    <p>"OK" -
5594                                    </p>
5595    <blockquote class="text">
5596    <p>on success
5597    </p>
5598    </blockquote>
5599                                
5600    
5601    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5602                                    </p>
5603    <blockquote class="text">
5604    <p>if MIDI controller was set, but there are noteworthy
5605                                        issue(s) related, providing an appropriate warning code and
5606                                        warning message
5607    </p>
5608    </blockquote>
5609                                
5610    
5611    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5612                                    </p>
5613    <blockquote class="text">
5614    <p>in case it failed, providing an appropriate error code and error message
5615    </p>
5616    </blockquote>
5617                                
5618    
5619    </blockquote><p>
5620                        
5621    </p>
5622    <p>Example:
5623    </p>
5624    <p>
5625                            </p>
5626    <blockquote class="text">
5627    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5628    </p>
5629    <p>S: "OK"
5630    </p>
5631    </blockquote><p>
5632                        
5633    </p>
5634    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5635    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5636    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5637    Altering effect send's send level</h3>
5638    
5639    <p>The front-end can alter the current send level of an effect
5640                        send entity by sending the following command:
5641    </p>
5642    <p>
5643                            </p>
5644    <blockquote class="text">
5645    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5646    </p>
5647    </blockquote><p>
5648                        
5649    </p>
5650    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5651                        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>
5652                        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,
5653                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5654                        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>
5655                        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
5656                        &lt;volume&gt; is an optionally dotted positive number (a value
5657                        smaller than 1.0 means attenuation, whereas a value greater than
5658                        1.0 means amplification) reflecting the new send level.
5659    </p>
5660    <p>Possible Answers:
5661    </p>
5662    <p>
5663                            </p>
5664    <blockquote class="text">
5665    <p>"OK" -
5666                                    </p>
5667    <blockquote class="text">
5668    <p>on success
5669    </p>
5670    </blockquote>
5671                                
5672    
5673    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5674                                    </p>
5675    <blockquote class="text">
5676    <p>if new send level was set, but there are noteworthy
5677                                        issue(s) related, providing an appropriate warning code and
5678                                        warning message
5679  </p>  </p>
5680  </blockquote>  </blockquote>
5681                                
5682    
5683    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5684                                    </p>
5685    <blockquote class="text">
5686    <p>in case it failed, providing an appropriate error code and error message
5687    </p>
5688    </blockquote>
5689                                
5690    
5691    </blockquote><p>
5692                        
5693    </p>
5694    <p>Example:
5695    </p>
5696    <p>
5697                            </p>
5698    <blockquote class="text">
5699    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5700    </p>
5701    <p>S: "OK"
5702    </p>
5703    </blockquote><p>
5704                        
5705    </p>
5706    <a name="RESET CHANNEL"></a><br /><hr />
5707    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5708    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5709    Resetting a sampler channel</h3>
5710    
5711    <p>The front-end can reset a particular sampler channel by sending the following command:
5712    </p>
5713    <p>
5714                            </p>
5715    <blockquote class="text">
5716    <p>RESET CHANNEL &lt;sampler-channel&gt;
5717    </p>
5718    </blockquote><p>
5719                        
5720    </p>
5721  <p>  <p>
5722                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
5723                      This will cause the engine on that sampler channel, its voices and                      This will cause the engine on that sampler channel, its voices and
# Line 3837  Intellectual Property and Copyright Stat Line 5726  Intellectual Property and Copyright Stat
5726  </p>  </p>
5727  <p>Possible Answers:  <p>Possible Answers:
5728  </p>  </p>
5729  <p></p>  <p>
5730                            </p>
5731  <blockquote class="text">  <blockquote class="text">
5732  <p>"OK" -  <p>"OK" -
5733                                  </p>                                  </p>
# Line 3845  Intellectual Property and Copyright Stat Line 5735  Intellectual Property and Copyright Stat
5735  <p>on success  <p>on success
5736  </p>  </p>
5737  </blockquote>  </blockquote>
5738                                
5739    
5740  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5741                                  </p>                                  </p>
# Line 3854  Intellectual Property and Copyright Stat Line 5745  Intellectual Property and Copyright Stat
5745                                      message                                      message
5746  </p>  </p>
5747  </blockquote>  </blockquote>
5748                                
5749    
5750  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5751                                  </p>                                  </p>
# Line 3862  Intellectual Property and Copyright Stat Line 5754  Intellectual Property and Copyright Stat
5754                                      error message                                      error message
5755  </p>  </p>
5756  </blockquote>  </blockquote>
5757                                
5758    
5759  </blockquote>  </blockquote><p>
5760                        
5761    </p>
5762  <p>Examples:  <p>Examples:
5763  </p>  </p>
5764  <p></p>  <p>
5765                            </p>
5766  <blockquote class="text">  <blockquote class="text">
5767  <p>  <p>
5768  </p>  </p>
5769  </blockquote>  </blockquote><p>
5770                        
5771  <a name="rfc.section.5.5"></a><h4><a name="anchor13">5.5</a>&nbsp;Controlling connection</h4>  </p>
5772    <a name="anchor12"></a><br /><hr />
5773    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5774    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5775    Controlling connection</h3>
5776    
5777  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5778  </p>  </p>
5779  <a name="rfc.section.5.5.1"></a><h4><a name="SUBSCRIBE">5.5.1</a>&nbsp;Register front-end for receiving event messages</h4>  <a name="SUBSCRIBE"></a><br /><hr />
5780    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5781    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5782    Register front-end for receiving event messages</h3>
5783    
5784  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5785                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
5786  </p>  </p>
5787  <p></p>  <p>
5788                            </p>
5789  <blockquote class="text">  <blockquote class="text">
5790  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
5791  </p>  </p>
5792  </blockquote>  </blockquote><p>
5793                        
5794    </p>
5795  <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
5796                      client wants to subscribe to.                      client wants to subscribe to.
5797  </p>  </p>
5798  <p>Possible Answers:  <p>Possible Answers:
5799  </p>  </p>
5800  <p></p>  <p>
5801                            </p>
5802  <blockquote class="text">  <blockquote class="text">
5803  <p>"OK" -  <p>"OK" -
5804                                  </p>                                  </p>
# Line 3901  Intellectual Property and Copyright Stat Line 5806  Intellectual Property and Copyright Stat
5806  <p>on success  <p>on success
5807  </p>  </p>
5808  </blockquote>  </blockquote>
5809                                
5810    
5811  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5812                                  </p>                                  </p>
# Line 3910  Intellectual Property and Copyright Stat Line 5816  Intellectual Property and Copyright Stat
5816                                      warning message                                      warning message
5817  </p>  </p>
5818  </blockquote>  </blockquote>
5819                                
5820    
5821  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5822                                  </p>                                  </p>
# Line 3918  Intellectual Property and Copyright Stat Line 5825  Intellectual Property and Copyright Stat
5825                                      error message                                      error message
5826  </p>  </p>
5827  </blockquote>  </blockquote>
5828                                
5829    
5830  </blockquote>  </blockquote><p>
5831                        
5832    </p>
5833  <p>Examples:  <p>Examples:
5834  </p>  </p>
5835  <p></p>  <p>
5836                            </p>
5837  <blockquote class="text">  <blockquote class="text">
5838  <p>  <p>
5839  </p>  </p>
5840  </blockquote>  </blockquote><p>
5841                        
5842  <a name="rfc.section.5.5.2"></a><h4><a name="UNSUBSCRIBE">5.5.2</a>&nbsp;Unregister front-end for not receiving event messages</h4>  </p>
5843    <a name="UNSUBSCRIBE"></a><br /><hr />
5844    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5845    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5846    Unregister front-end for not receiving event messages</h3>
5847    
5848  <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
5849                      messages anymore by sending the following command:                      messages anymore by sending the following command:
5850  </p>  </p>
5851  <p></p>  <p>
5852                            </p>
5853  <blockquote class="text">  <blockquote class="text">
5854  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
5855  </p>  </p>
5856  </blockquote>  </blockquote><p>
5857                        
5858    </p>
5859  <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
5860                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
5861  </p>  </p>
5862  <p>Possible Answers:  <p>Possible Answers:
5863  </p>  </p>
5864  <p></p>  <p>
5865                            </p>
5866  <blockquote class="text">  <blockquote class="text">
5867  <p>"OK" -  <p>"OK" -
5868                                  </p>                                  </p>
# Line 3953  Intellectual Property and Copyright Stat Line 5870  Intellectual Property and Copyright Stat
5870  <p>on success  <p>on success
5871  </p>  </p>
5872  </blockquote>  </blockquote>
5873                                
5874    
5875  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5876                                  </p>                                  </p>
# Line 3962  Intellectual Property and Copyright Stat Line 5880  Intellectual Property and Copyright Stat
5880                                      warning message                                      warning message
5881  </p>  </p>
5882  </blockquote>  </blockquote>
5883                                
5884    
5885  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5886                                  </p>                                  </p>
# Line 3970  Intellectual Property and Copyright Stat Line 5889  Intellectual Property and Copyright Stat
5889                                      error message                                      error message
5890  </p>  </p>
5891  </blockquote>  </blockquote>
5892                                
5893    
5894  </blockquote>  </blockquote><p>
5895                        
5896    </p>
5897  <p>Examples:  <p>Examples:
5898  </p>  </p>
5899  <p></p>  <p>
5900                            </p>
5901  <blockquote class="text">  <blockquote class="text">
5902  <p>  <p>
5903  </p>  </p>
5904  </blockquote>  </blockquote><p>
5905                        
5906  <a name="rfc.section.5.5.3"></a><h4><a name="SET ECHO">5.5.3</a>&nbsp;Enable or disable echo of commands</h4>  </p>
5907    <a name="SET ECHO"></a><br /><hr />
5908    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5909    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
5910    Enable or disable echo of commands</h3>
5911    
5912  <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:
5913  </p>  </p>
5914  <p></p>  <p>
5915                            </p>
5916  <blockquote class="text">  <blockquote class="text">
5917  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
5918  </p>  </p>
5919  </blockquote>  </blockquote><p>
5920                        
5921    </p>
5922  <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
5923                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
5924                      commands send to LinuxSampler will be immediately send back and                      commands send to LinuxSampler will be immediately send back and
# Line 4001  Intellectual Property and Copyright Stat Line 5929  Intellectual Property and Copyright Stat
5929  </p>  </p>
5930  <p>Possible Answers:  <p>Possible Answers:
5931  </p>  </p>
5932  <p></p>  <p>
5933                            </p>
5934  <blockquote class="text">  <blockquote class="text">
5935  <p>"OK" -  <p>"OK" -
5936                                  </p>                                  </p>
# Line 4009  Intellectual Property and Copyright Stat Line 5938  Intellectual Property and Copyright Stat
5938  <p>usually  <p>usually
5939  </p>  </p>
5940  </blockquote>  </blockquote>
5941                                
5942    
5943  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5944                                  </p>                                  </p>
# Line 4016  Intellectual Property and Copyright Stat Line 5946  Intellectual Property and Copyright Stat
5946  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
5947  </p>  </p>
5948  </blockquote>  </blockquote>
5949                                
5950    
5951  </blockquote>  </blockquote><p>
5952                        
5953    </p>
5954  <p>Examples:  <p>Examples:
5955  </p>  </p>
5956  <p></p>  <p>
5957                            </p>
5958  <blockquote class="text">  <blockquote class="text">
5959  <p>  <p>
5960  </p>  </p>
5961  </blockquote>  </blockquote><p>
5962                        
5963  <a name="rfc.section.5.5.4"></a><h4><a name="QUIT">5.5.4</a>&nbsp;Close client connection</h4>  </p>
5964    <a name="QUIT"></a><br /><hr />
5965    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5966    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
5967    Close client connection</h3>
5968    
5969  <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:
5970  </p>  </p>
5971  <p></p>  <p>
5972                            </p>
5973  <blockquote class="text">  <blockquote class="text">
5974  <p>QUIT  <p>QUIT
5975  </p>  </p>
5976  </blockquote>  </blockquote><p>
5977                        
5978    </p>
5979  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
5980                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
5981  </p>  </p>
5982  <a name="rfc.section.5.6"></a><h4><a name="anchor14">5.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
5983    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5984    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
5985    Global commands</h3>
5986    
5987  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
5988  </p>  </p>
5989  <a name="rfc.section.5.6.1"></a><h4><a name="RESET">5.6.1</a>&nbsp;Reset sampler</h4>  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
5990    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5991    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
5992    Current number of active voices</h3>
5993    
5994    <p>The front-end can ask for the current number of active voices on
5995                        the sampler by sending the following command:
5996    </p>
5997    <p>
5998                            </p>
5999    <blockquote class="text">
6000    <p>GET TOTAL_VOICE_COUNT
6001    </p>
6002    </blockquote><p>
6003                        
6004    </p>
6005    <p>Possible Answers:
6006    </p>
6007    <p>
6008                            </p>
6009    <blockquote class="text">
6010    <p>LinuxSampler will answer by returning the number of all active
6011                                voices on the sampler.
6012    </p>
6013    </blockquote><p>
6014                        
6015    </p>
6016    <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6017    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6018    <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6019    Maximum amount of active voices</h3>
6020    
6021    <p>The front-end can ask for the maximum number of active voices
6022                        by sending the following command:
6023    </p>
6024    <p>
6025                            </p>
6026    <blockquote class="text">
6027    <p>GET TOTAL_VOICE_COUNT_MAX
6028    </p>
6029    </blockquote><p>
6030                        
6031    </p>
6032    <p>Possible Answers:
6033    </p>
6034    <p>
6035                            </p>
6036    <blockquote class="text">
6037    <p>LinuxSampler will answer by returning the maximum number
6038                                of active voices.
6039    </p>
6040    </blockquote><p>
6041                        
6042    </p>
6043    <a name="RESET"></a><br /><hr />
6044    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6045    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6046    Reset sampler</h3>
6047    
6048  <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:
6049  </p>  </p>
6050  <p></p>  <p>
6051                            </p>
6052  <blockquote class="text">  <blockquote class="text">
6053  <p>RESET  <p>RESET
6054  </p>  </p>
6055    </blockquote><p>
6056                        
6057    </p>
6058    <p>Possible Answers:
6059    </p>
6060    <p>
6061                            </p>
6062    <blockquote class="text">
6063    <p>"OK" -
6064                                    </p>
6065    <blockquote class="text">
6066    <p>always
6067    </p>
6068    </blockquote>
6069                                
6070    
6071    </blockquote><p>
6072                        
6073    </p>
6074    <p>Examples:
6075    </p>
6076    <p>
6077                            </p>
6078    <blockquote class="text">
6079    <p>
6080    </p>
6081    </blockquote><p>
6082                        
6083    </p>
6084    <a name="GET SERVER INFO"></a><br /><hr />
6085    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6086    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6087    General sampler informations</h3>
6088    
6089    <p>The client can ask for general informations about the LinuxSampler
6090                           instance by sending the following command:
6091    </p>
6092    <p>
6093                            </p>
6094    <blockquote class="text">
6095    <p>GET SERVER INFO
6096    </p>
6097    </blockquote><p>
6098                        
6099    </p>
6100    <p>Possible Answers:
6101    </p>
6102    <p>
6103                            </p>
6104    <blockquote class="text">
6105    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6106                                   Each answer line begins with the information category name
6107                                   followed by a colon and then a space character &lt;SP&gt; and finally
6108                                   the info character string to that information category. At the
6109                                   moment the following categories are defined:
6110                                
6111    </p>
6112    <p>
6113                                    </p>
6114    <blockquote class="text">
6115    <p>DESCRIPTION -
6116                                            </p>
6117    <blockquote class="text">
6118    <p>arbitrary textual description about the sampler
6119    </p>
6120    </blockquote>
6121                                        
6122    
6123    <p>VERSION -
6124                                            </p>
6125    <blockquote class="text">
6126    <p>version of the sampler
6127    </p>
6128    </blockquote>
6129                                        
6130    
6131    <p>PROTOCOL_VERSION -
6132                                            </p>
6133    <blockquote class="text">
6134    <p>version of the LSCP specification the sampler
6135                                                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)
6136    </p>
6137    </blockquote>
6138                                        
6139    
6140    <p>INSTRUMENTS_DB_SUPPORT -
6141                                            </p>
6142    <blockquote class="text">
6143    <p>either yes or no, specifies whether the
6144                                                sampler is build with instruments database support.
6145    </p>
6146    </blockquote>
6147                                        
6148    
6149    </blockquote>
6150                                
6151    
6152    </blockquote><p>
6153                        
6154    </p>
6155    <p>The mentioned fields above don't have to be in particular order.
6156                        Other fields might be added in future.
6157    </p>
6158    <a name="GET VOLUME"></a><br /><hr />
6159    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6160    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6161    Getting global volume attenuation</h3>
6162    
6163    <p>The client can ask for the current global sampler-wide volume
6164                        attenuation by sending the following command:
6165    </p>
6166    <p>
6167                            </p>
6168    <blockquote class="text">
6169    <p>GET VOLUME
6170    </p>
6171    </blockquote><p>
6172                        
6173    </p>
6174    <p>Possible Answers:
6175    </p>
6176    <p>
6177                            </p>
6178    <blockquote class="text">
6179    <p>The sampler will always answer by returning the optional
6180                                dotted floating point coefficient, reflecting the current
6181                                global volume attenuation.
6182                                
6183    </p>
6184    </blockquote><p>
6185                        
6186    </p>
6187    <p>Note: it is up to the respective sampler engine whether to obey
6188                        that global volume parameter or not, but in general all engines SHOULD
6189                        use this parameter.
6190    </p>
6191    <a name="SET VOLUME"></a><br /><hr />
6192    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6193    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6194    Setting global volume attenuation</h3>
6195    
6196    <p>The client can alter the current global sampler-wide volume
6197                        attenuation by sending the following command:
6198    </p>
6199    <p>
6200                            </p>
6201    <blockquote class="text">
6202    <p>SET VOLUME &lt;volume&gt;
6203    </p>
6204    </blockquote><p>
6205                        
6206    </p>
6207    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6208                       floating point value, reflecting the new global volume parameter.
6209                       This value might usually be in the range between 0.0 and 1.0, that
6210                       is for attenuating the overall volume.
6211    </p>
6212    <p>Possible Answers:
6213    </p>
6214    <p>
6215                            </p>
6216    <blockquote class="text">
6217    <p>"OK" -
6218                                    </p>
6219    <blockquote class="text">
6220    <p>on success
6221    </p>
6222    </blockquote>
6223                                
6224    
6225    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6226                                    </p>
6227    <blockquote class="text">
6228    <p>if the global volume was set, but there are noteworthy
6229                                        issue(s) related, providing an appropriate warning code and
6230                                        warning message
6231    </p>
6232    </blockquote>
6233                                
6234    
6235    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6236                                    </p>
6237    <blockquote class="text">
6238    <p>in case it failed, providing an appropriate error code and error message
6239    </p>
6240    </blockquote>
6241                                
6242    
6243    </blockquote><p>
6244                        
6245    </p>
6246    <a name="MIDI Instrument Mapping"></a><br /><hr />
6247    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6248    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6249    MIDI Instrument Mapping</h3>
6250    
6251    <p>The MIDI protocol provides a way to switch between instruments
6252                    by sending so called MIDI bank select and MIDI program change
6253                    messages which are essentially just numbers. The following commands
6254                    allow to actually map arbitrary MIDI bank select / program change
6255                    numbers with real instruments.
6256    </p>
6257    <p>The sampler allows to manage an arbitrary amount of MIDI
6258                    instrument maps which define which instrument to load on
6259                    which MIDI program change message.
6260    </p>
6261    <p>By default, that is when the sampler is launched, there is no
6262                    map, thus the sampler will simply ignore all program change
6263                    messages. The front-end has to explicitly create at least one
6264                    map, add entries to the map and tell the respective sampler
6265                    channel(s) which MIDI instrument map to use, so the sampler
6266                    knows how to react on a given program change message on the
6267                    respective sampler channel, that is by switching to the
6268                    respectively defined engine type and loading the respective
6269                    instrument. See command
6270                    <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>
6271                    for how to assign a MIDI instrument map to a sampler channel.
6272    </p>
6273    <p>Also note per MIDI specification a bank select message does not
6274                    cause to switch to another instrument. Instead when receiving a
6275                    bank select message the bank value will be stored and a subsequent
6276                    program change message (which may occur at any time) will finally
6277                    cause the sampler to switch to the respective instrument as
6278                    reflected by the current MIDI instrument map.
6279    </p>
6280    <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />
6281    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6282    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6283    Create a new MIDI instrument map</h3>
6284    
6285    <p>The front-end can add a new MIDI instrument map by sending
6286                        the following command:
6287    </p>
6288    <p>
6289                            </p>
6290    <blockquote class="text">
6291    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6292    </p>
6293    </blockquote><p>
6294                        
6295    </p>
6296    <p>Where &lt;name&gt; is an optional argument allowing to
6297                        assign a custom name to the new map. MIDI instrument Map
6298                        names do not have to be unique.
6299    </p>
6300    <p>Possible Answers:
6301    </p>
6302    <p>
6303                            </p>
6304    <blockquote class="text">
6305    <p>"OK[&lt;map&gt;]" -
6306                                    </p>
6307    <blockquote class="text">
6308    <p>in case a new MIDI instrument map could
6309                                        be added, where &lt;map&gt; reflects the
6310                                        unique ID of the newly created MIDI
6311                                        instrument map
6312    </p>
6313    </blockquote>
6314                                
6315    
6316    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6317                                    </p>
6318    <blockquote class="text">
6319    <p>when a new map could not be created, which
6320                                        might never occur in practice
6321    </p>
6322    </blockquote>
6323                                
6324    
6325    </blockquote><p>
6326                        
6327    </p>
6328    <p>Examples:
6329    </p>
6330    <p>
6331                            </p>
6332    <blockquote class="text">
6333    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6334    </p>
6335    <p>S: "OK[0]"
6336    </p>
6337    </blockquote><p>
6338                        
6339    </p>
6340    <p>
6341                            </p>
6342    <blockquote class="text">
6343    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6344    </p>
6345    <p>S: "OK[1]"
6346    </p>
6347    </blockquote><p>
6348                        
6349    </p>
6350    <p>
6351                            </p>
6352    <blockquote class="text">
6353    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6354    </p>
6355    <p>S: "OK[5]"
6356    </p>
6357    </blockquote><p>
6358                        
6359    </p>
6360    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6361    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6362    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6363    Delete one particular or all MIDI instrument maps</h3>
6364    
6365    <p>The front-end can delete a particular MIDI instrument map
6366                        by sending the following command:
6367    </p>
6368    <p>
6369                            </p>
6370    <blockquote class="text">
6371    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6372    </p>
6373    </blockquote><p>
6374                        
6375    </p>
6376    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6377                        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>
6378                        command.
6379    </p>
6380    <p>The front-end can delete all MIDI instrument maps by
6381                        sending the following command:
6382    </p>
6383    <p>
6384                            </p>
6385    <blockquote class="text">
6386    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6387    </p>
6388    </blockquote><p>
6389                        
6390    </p>
6391    <p>Possible Answers:
6392    </p>
6393    <p>
6394                            </p>
6395    <blockquote class="text">
6396    <p>"OK" -
6397                                    </p>
6398    <blockquote class="text">
6399    <p>in case the map(s) could be deleted
6400    </p>
6401    </blockquote>
6402                                
6403    
6404    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6405                                    </p>
6406    <blockquote class="text">
6407    <p>when the given map does not exist
6408    </p>
6409    </blockquote>
6410                                
6411    
6412    </blockquote><p>
6413                        
6414    </p>
6415    <p>Examples:
6416    </p>
6417    <p>
6418                            </p>
6419    <blockquote class="text">
6420    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6421    </p>
6422    <p>S: "OK"
6423    </p>
6424    </blockquote><p>
6425                        
6426    </p>
6427    <p>
6428                            </p>
6429    <blockquote class="text">
6430    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6431    </p>
6432    <p>S: "OK"
6433    </p>
6434    </blockquote><p>
6435                        
6436    </p>
6437    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6438    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6439    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6440    Get amount of existing MIDI instrument maps</h3>
6441    
6442    <p>The front-end can retrieve the current amount of MIDI
6443                        instrument maps by sending the following command:
6444    </p>
6445    <p>
6446                            </p>
6447    <blockquote class="text">
6448    <p>GET MIDI_INSTRUMENT_MAPS
6449    </p>
6450    </blockquote><p>
6451                        
6452    </p>
6453    <p>Possible Answers:
6454    </p>
6455    <p>
6456                            </p>
6457    <blockquote class="text">
6458    <p>The sampler will answer by returning the current
6459                                number of MIDI instrument maps.
6460    </p>
6461    </blockquote><p>
6462                        
6463    </p>
6464    <p>Example:
6465    </p>
6466    <p>
6467                            </p>
6468    <blockquote class="text">
6469    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6470    </p>
6471    <p>S: "2"
6472    </p>
6473    </blockquote><p>
6474                        
6475    </p>
6476    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6477    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6478    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6479    Getting all created MIDI instrument maps</h3>
6480    
6481    <p>The number of MIDI instrument maps can change on runtime. To get the
6482                        current list of MIDI instrument maps, the front-end can send the
6483                        following command:
6484    </p>
6485    <p>
6486                            </p>
6487    <blockquote class="text">
6488    <p>LIST MIDI_INSTRUMENT_MAPS
6489    </p>
6490    </blockquote><p>
6491                        
6492    </p>
6493    <p>Possible Answers:
6494    </p>
6495    <p>
6496                            </p>
6497    <blockquote class="text">
6498    <p>The sampler will answer by returning a comma separated list
6499                                with all MIDI instrument maps' numerical IDs.
6500    </p>
6501    </blockquote><p>
6502                        
6503    </p>
6504    <p>Example:
6505    </p>
6506    <p>
6507                            </p>
6508    <blockquote class="text">
6509    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6510    </p>
6511    <p>S: "0,1,5,12"
6512    </p>
6513    </blockquote><p>
6514                        
6515    </p>
6516    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6517    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6518    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6519    Getting MIDI instrument map information</h3>
6520    
6521    <p>The front-end can ask for the current settings of a MIDI
6522                        instrument map by sending the following command:
6523    </p>
6524    <p>
6525                            </p>
6526    <blockquote class="text">
6527    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6528    </p>
6529    </blockquote><p>
6530                        
6531    </p>
6532    <p>Where &lt;map&gt; is the numerical ID of the map the
6533                        front-end is interested in as returned by the
6534                        <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>
6535                        command.
6536    </p>
6537    <p>Possible Answers:
6538    </p>
6539    <p>
6540                            </p>
6541    <blockquote class="text">
6542    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6543                                Each answer line begins with the settings category name
6544                                followed by a colon and then a space character &lt;SP&gt; and finally
6545                                the info character string to that setting category. At the
6546                                moment the following categories are defined:
6547    </p>
6548    <p>
6549                                    </p>
6550    <blockquote class="text">
6551    <p>NAME -
6552                                            </p>
6553    <blockquote class="text">
6554    <p>custom name of the given map,
6555                                                which does not have to be unique
6556    </p>
6557    </blockquote>
6558                                        
6559    
6560    <p>DEFAULT -
6561                                            </p>
6562    <blockquote class="text">
6563    <p>either true or false,
6564                                                defines whether this map is the default map
6565    </p>
6566    </blockquote>
6567                                        
6568    
6569    </blockquote>
6570                                
6571    
6572    </blockquote><p>
6573                        
6574    </p>
6575    <p>The mentioned fields above don't have to be in particular order.
6576    </p>
6577    <p>Example:
6578    </p>
6579    <p>
6580                            </p>
6581    <blockquote class="text">
6582    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6583    </p>
6584    <p>S: "NAME: Standard Map"
6585    </p>
6586    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6587    </p>
6588    <p>&nbsp;&nbsp;&nbsp;"."
6589    </p>
6590    </blockquote><p>
6591                        
6592    </p>
6593    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6594    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6595    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6596    Renaming a MIDI instrument map</h3>
6597    
6598    <p>The front-end can alter the custom name of a MIDI
6599                        instrument map by sending the following command:
6600    </p>
6601    <p>
6602                            </p>
6603    <blockquote class="text">
6604    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6605    </p>
6606    </blockquote><p>
6607                        
6608    </p>
6609    <p>Where &lt;map&gt; is the numerical ID of the map and
6610                        &lt;name&gt; the new custom name of the map, which does not
6611                        have to be unique.
6612    </p>
6613    <p>Possible Answers:
6614    </p>
6615    <p>
6616                            </p>
6617    <blockquote class="text">
6618    <p>"OK" -
6619                                    </p>
6620    <blockquote class="text">
6621    <p>on success
6622    </p>
6623    </blockquote>
6624                                
6625    
6626    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6627                                    </p>
6628    <blockquote class="text">
6629    <p>in case the given map does not exist
6630    </p>
6631    </blockquote>
6632                                
6633    
6634    </blockquote><p>
6635                        
6636    </p>
6637    <p>Example:
6638    </p>
6639    <p>
6640                            </p>
6641    <blockquote class="text">
6642    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6643    </p>
6644    <p>S: "OK"
6645    </p>
6646    </blockquote><p>
6647                        
6648    </p>
6649    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6650    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6651    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6652    Create or replace a MIDI instrument map entry</h3>
6653    
6654    <p>The front-end can create a new or replace an existing entry
6655                        in a sampler's MIDI instrument map by sending the following
6656                        command:
6657    </p>
6658    <p>
6659                            </p>
6660    <blockquote class="text">
6661    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6662                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6663                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6664                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6665    </p>
6666    </blockquote><p>
6667                        
6668    </p>
6669    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6670                        &lt;midi_bank&gt; is an integer value between
6671                        0..16383 reflecting the MIDI bank select index,
6672                        &lt;midi_prog&gt; an
6673                        integer value between 0..127 reflecting the MIDI program change
6674                        index, &lt;engine_name&gt; a sampler engine name as returned by
6675                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6676                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6677                        of the instrument's file to be deployed (encapsulated into apostrophes,
6678                        supporting escape sequences as described in chapter
6679                        "<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>"),
6680                        &lt;instrument_index&gt; the index (integer value) of the instrument
6681                        within the given file, &lt;volume_value&gt; reflects the master
6682                        volume of the instrument as optionally dotted number (where a
6683                        value &lt; 1.0 means attenuation and a value > 1.0 means
6684                        amplification). This parameter easily allows to adjust the
6685                        volume of all intruments within a custom instrument map
6686                        without having to adjust their instrument files. The
6687                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6688                        time of the instrument, that is when the instrument should
6689                        be loaded, when freed and has exactly the following
6690                        possibilities:
6691    </p>
6692    <p>
6693                            </p>
6694    <blockquote class="text">
6695    <p>"ON_DEMAND" -
6696                                    </p>
6697    <blockquote class="text">
6698    <p>The instrument will be loaded when needed,
6699                                        that is when demanded by at least one sampler
6700                                        channel. It will immediately be freed from memory
6701                                        when not needed by any sampler channel anymore.
6702    </p>
6703    </blockquote>
6704                                
6705    
6706    <p>"ON_DEMAND_HOLD" -
6707                                    </p>
6708    <blockquote class="text">
6709    <p>The instrument will be loaded when needed,
6710                                        that is when demanded by at least one sampler
6711                                        channel. It will be kept in memory even when
6712                                        not needed by any sampler channel anymore.
6713                                        Instruments with this mode are only freed
6714                                        when the sampler is reset or all mapping
6715                                        entries with this mode (and respective
6716                                        instrument) are explicitly changed to
6717                                        "ON_DEMAND" and no sampler channel is using
6718                                        the instrument anymore.
6719    </p>
6720    </blockquote>
6721                                
6722    
6723    <p>"PERSISTENT" -
6724                                    </p>
6725    <blockquote class="text">
6726    <p>The instrument will immediately be loaded
6727                                        into memory when this mapping
6728                                        command is sent and the instrument is kept all
6729                                        the time. Instruments with this mode are
6730                                        only freed when the sampler is reset or all
6731                                        mapping entries with this mode (and
6732                                        respective instrument) are explicitly
6733                                        changed to "ON_DEMAND" and no sampler
6734                                        channel is using the instrument anymore.
6735    </p>
6736    </blockquote>
6737                                
6738    
6739    <p>not supplied -
6740                                    </p>
6741    <blockquote class="text">
6742    <p>In case there is no &lt;instr_load_mode&gt;
6743                                        argument given, it will be up to the
6744                                        InstrumentManager to decide which mode to use.
6745                                        Usually it will use "ON_DEMAND" if an entry
6746                                        for the given instrument does not exist in
6747                                        the InstrumentManager's list yet, otherwise
6748                                        if an entry already exists, it will simply
6749                                        stick with the mode currently reflected by
6750                                        the already existing entry, that is it will
6751                                        not change the mode.
6752    </p>
6753    </blockquote>
6754                                
6755    
6756    </blockquote><p>
6757                        
6758    </p>
6759    <p>
6760                        The &lt;instr_load_mode&gt; argument thus allows to define an
6761                        appropriate strategy (low memory consumption vs. fast
6762                        instrument switching) for each instrument individually. Note, the
6763                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6764                        "PERSISTENT" have to be supported by the respective sampler engine
6765                        (which is technically the case when the engine provides an
6766                        InstrumentManager for its format). If this is not the case the
6767                        argument will automatically fall back to the default value
6768                        "ON_DEMAND". Also the load mode of one instrument may
6769                        automatically change the laod mode of other instrument(s), i.e.
6770                        because the instruments are part of the same file and the
6771                        engine does not allow a way to manage load modes for them
6772                        individually. Due to this, in case the frontend shows the
6773                        load modes of entries, the frontend should retrieve the actual
6774                        mode by i.e. sending
6775                        <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>
6776                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to
6777                        set a custom name (encapsulated into apostrophes) for the mapping
6778                        entry, useful for frontends for displaying an appropriate name for
6779                        mapped instruments (using
6780                        <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>).
6781                        
6782    </p>
6783    <p>
6784                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6785                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6786                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6787                        immediately, that is to let the sampler establish the mapping in the
6788                        background. So this argument might be especially useful for mappings with
6789                        a "PERSISTENT" type, because these have to load the respective instruments
6790                        immediately and might thus block for a very long time. It is recommended
6791                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6792                        because it has the following drawbacks: as "NON_MODAL" instructions return
6793                        immediately, they may not necessarily return an error i.e. when the given
6794                        instrument file turns out to be corrupt, beside that subsequent commands
6795                        in a LSCP instruction sequence might fail, because mandatory mappings are
6796                        not yet completed.
6797                        
6798    </p>
6799    <p>Possible Answers:
6800    </p>
6801    <p>
6802                            </p>
6803    <blockquote class="text">
6804    <p>"OK" -
6805                                    </p>
6806    <blockquote class="text">
6807    <p>usually
6808    </p>
6809  </blockquote>  </blockquote>
6810                                
6811    
6812    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6813                                    </p>
6814    <blockquote class="text">
6815    <p>when the given map or engine does not exist or a value
6816                                        is out of range
6817    </p>
6818    </blockquote>
6819                                
6820    
6821    </blockquote><p>
6822                        
6823    </p>
6824    <p>Examples:
6825    </p>
6826    <p>
6827                            </p>
6828    <blockquote class="text">
6829    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6830    </p>
6831    <p>S: "OK"
6832    </p>
6833    </blockquote><p>
6834                        
6835    </p>
6836    <p>
6837                            </p>
6838    <blockquote class="text">
6839    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6840    </p>
6841    <p>S: "OK"
6842    </p>
6843    </blockquote><p>
6844                        
6845    </p>
6846    <p>
6847                            </p>
6848    <blockquote class="text">
6849    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6850    </p>
6851    <p>S: "OK"
6852    </p>
6853    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6854    </p>
6855    <p>S: "OK"
6856    </p>
6857    </blockquote><p>
6858                        
6859    </p>
6860    <p>
6861                            </p>
6862    <blockquote class="text">
6863    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6864    </p>
6865    <p>S: "OK"
6866    </p>
6867    </blockquote><p>
6868                        
6869    </p>
6870    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6871    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6872    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6873    Getting ammount of MIDI instrument map entries</h3>
6874    
6875    <p>The front-end can query the amount of currently existing
6876                        entries in a MIDI instrument map by sending the following
6877                        command:
6878    </p>
6879    <p>
6880                            </p>
6881    <blockquote class="text">
6882    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6883    </p>
6884    </blockquote><p>
6885                        
6886    </p>
6887    <p>The front-end can query the amount of currently existing
6888                        entries in all MIDI instrument maps by sending the following
6889                        command:
6890    </p>
6891    <p>
6892                            </p>
6893    <blockquote class="text">
6894    <p>GET MIDI_INSTRUMENTS ALL
6895    </p>
6896    </blockquote><p>
6897                        
6898    </p>
6899    <p>Possible Answers:
6900    </p>
6901    <p>
6902                            </p>
6903    <blockquote class="text">
6904    <p>The sampler will answer by sending the current number of
6905                                entries in the MIDI instrument map(s).
6906    </p>
6907    </blockquote><p>
6908                        
6909    </p>
6910    <p>Example:
6911    </p>
6912    <p>
6913                            </p>
6914    <blockquote class="text">
6915    <p>C: "GET MIDI_INSTRUMENTS 0"
6916    </p>
6917    <p>S: "234"
6918    </p>
6919    </blockquote><p>
6920                        
6921    </p>
6922    <p>
6923                            </p>
6924    <blockquote class="text">
6925    <p>C: "GET MIDI_INSTRUMENTS ALL"
6926    </p>
6927    <p>S: "954"
6928    </p>
6929    </blockquote><p>
6930                        
6931    </p>
6932    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
6933    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6934    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
6935    Getting indeces of all entries of a MIDI instrument map</h3>
6936    
6937    <p>The front-end can query a list of all currently existing
6938                        entries in a certain MIDI instrument map by sending the following
6939                        command:
6940    </p>
6941    <p>
6942                            </p>
6943    <blockquote class="text">
6944    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
6945    </p>
6946    </blockquote><p>
6947                        
6948    </p>
6949    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
6950    </p>
6951    <p>The front-end can query a list of all currently existing
6952                        entries of all MIDI instrument maps by sending the following
6953                        command:
6954    </p>
6955    <p>
6956                            </p>
6957    <blockquote class="text">
6958    <p>LIST MIDI_INSTRUMENTS ALL
6959    </p>
6960    </blockquote><p>
6961                        
6962    </p>
6963    <p>Possible Answers:
6964    </p>
6965    <p>
6966                            </p>
6967    <blockquote class="text">
6968    <p>The sampler will answer by sending a comma separated
6969                                list of map ID - MIDI bank - MIDI program triples, where
6970                                each triple is encapsulated into curly braces. The
6971                                list is returned in one single line. Each triple
6972                                just reflects the key of the respective map entry,
6973                                thus subsequent
6974                                <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>
6975                                command(s) are necessary to retrieve detailed informations
6976                                about each entry.
6977    </p>
6978    </blockquote><p>
6979                        
6980    </p>
6981    <p>Example:
6982    </p>
6983    <p>
6984                            </p>
6985    <blockquote class="text">
6986    <p>C: "LIST MIDI_INSTRUMENTS 0"
6987    </p>
6988    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
6989    </p>
6990    </blockquote><p>
6991                        
6992    </p>
6993    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
6994    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6995    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
6996    Remove an entry from the MIDI instrument map</h3>
6997    
6998    <p>The front-end can delete an entry from a MIDI instrument
6999                        map by sending the following command:
7000    </p>
7001    <p>
7002                            </p>
7003    <blockquote class="text">
7004    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7005    </p>
7006    </blockquote><p>
7007                        
7008    </p>
7009    <p>
7010                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7011                        &lt;midi_bank&gt; is an integer value between 0..16383
7012                        reflecting the MIDI bank value and
7013                        &lt;midi_prog&gt; an integer value between
7014                        0..127 reflecting the MIDI program value of the map's entrie's key
7015                        index triple.
7016                        
7017    </p>
7018  <p>Possible Answers:  <p>Possible Answers:
7019  </p>  </p>
7020  <p></p>  <p>
7021                            </p>
7022    <blockquote class="text">
7023    <p>"OK" -
7024                                    </p>
7025    <blockquote class="text">
7026    <p>usually
7027    </p>
7028    </blockquote>
7029                                
7030    
7031    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7032                                    </p>
7033    <blockquote class="text">
7034    <p>when index out of bounds
7035    </p>
7036    </blockquote>
7037                                
7038    
7039    </blockquote><p>
7040                        
7041    </p>
7042    <p>Example:
7043    </p>
7044    <p>
7045                            </p>
7046    <blockquote class="text">
7047    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7048    </p>
7049    <p>S: "OK"
7050    </p>
7051    </blockquote><p>
7052                        
7053    </p>
7054    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7055    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7056    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7057    Get current settings of MIDI instrument map entry</h3>
7058    
7059    <p>The front-end can retrieve the current settings of a certain
7060                        instrument map entry by sending the following command:
7061    </p>
7062    <p>
7063                            </p>
7064    <blockquote class="text">
7065    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7066    </p>
7067    </blockquote><p>
7068                        
7069    </p>
7070    <p>
7071                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7072                        &lt;midi_bank&gt; is an integer value between 0..16383
7073                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7074                        and &lt;midi_prog&gt; an integer value between
7075                        0..127 reflecting the MIDI program value of the map's entrie's key
7076                        index triple.
7077                        
7078    </p>
7079    <p>Possible Answers:
7080    </p>
7081    <p>
7082                            </p>
7083    <blockquote class="text">
7084    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7085                                separated list. Each answer line begins with the
7086                                information category name followed by a colon and then
7087                                a space character &lt;SP&gt; and finally the info
7088                                character string to that info category. At the moment
7089                                the following categories are defined:
7090    </p>
7091    <p>"NAME" -
7092                                    </p>
7093    <blockquote class="text">
7094    <p>Name for this MIDI instrument map entry (if defined).
7095                                        This name shall be used by frontends for displaying a
7096                                        name for this mapped instrument. It can be set and
7097                                        changed with the
7098                                        <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>
7099                                        command and does not have to be unique.
7100    </p>
7101    </blockquote>
7102                                
7103    
7104    <p>"ENGINE_NAME" -
7105                                    </p>
7106    <blockquote class="text">
7107    <p>Name of the engine to be deployed for this
7108                                        instrument.
7109    </p>
7110    </blockquote>
7111                                
7112    
7113    <p>"INSTRUMENT_FILE" -
7114                                    </p>
7115    <blockquote class="text">
7116    <p>File name of the instrument.
7117    </p>
7118    </blockquote>
7119                                
7120    
7121    <p>"INSTRUMENT_NR" -
7122                                    </p>
7123    <blockquote class="text">
7124    <p>Index of the instrument within the file.
7125    </p>
7126    </blockquote>
7127                                
7128    
7129    <p>"INSTRUMENT_NAME" -
7130                                    </p>
7131    <blockquote class="text">
7132    <p>Name of the loaded instrument as reflected by its file.
7133                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7134                                        cannot be changed.
7135    </p>
7136    </blockquote>
7137                                
7138    
7139    <p>"LOAD_MODE" -
7140                                    </p>
7141    <blockquote class="text">
7142    <p>Life time of instrument
7143                                        (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).
7144    </p>
7145    </blockquote>
7146                                
7147    
7148    <p>"VOLUME" -
7149                                    </p>
7150    <blockquote class="text">
7151    <p>master volume of the instrument as optionally
7152                                        dotted number (where a value &lt; 1.0 means attenuation
7153                                        and a value > 1.0 means amplification)
7154    </p>
7155    </blockquote>
7156                                
7157    
7158    <p>The mentioned fields above don't have to be in particular order.
7159    </p>
7160    </blockquote><p>
7161                        
7162    </p>
7163    <p>Example:
7164    </p>
7165    <p>
7166                            </p>
7167    <blockquote class="text">
7168    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7169    </p>
7170    <p>S: "NAME: Drums for Foo Song"
7171    </p>
7172    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7173    </p>
7174    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7175    </p>
7176    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7177    </p>
7178    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7179    </p>
7180    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7181    </p>
7182    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7183    </p>
7184    <p>&nbsp;&nbsp;&nbsp;"."
7185    </p>
7186    </blockquote><p>
7187                        
7188    </p>
7189    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7190    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7191    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7192    Clear MIDI instrument map</h3>
7193    
7194    <p>The front-end can clear a whole MIDI instrument map, that
7195                        is delete all its entries by sending the following command:
7196    </p>
7197    <p>
7198                            </p>
7199    <blockquote class="text">
7200    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7201    </p>
7202    </blockquote><p>
7203                        
7204    </p>
7205    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7206    </p>
7207    <p>The front-end can clear all MIDI instrument maps, that
7208                        is delete all entries of all maps by sending the following
7209                        command:
7210    </p>
7211    <p>
7212                            </p>
7213    <blockquote class="text">
7214    <p>CLEAR MIDI_INSTRUMENTS ALL
7215    </p>
7216    </blockquote><p>
7217                        
7218    </p>
7219    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7220                        maps, only their entries, thus the map's settings like
7221                        custom name will be preservevd.
7222    </p>
7223    <p>Possible Answers:
7224    </p>
7225    <p>
7226                            </p>
7227  <blockquote class="text">  <blockquote class="text">
7228  <p>"OK" -  <p>"OK" -
7229                                  </p>                                  </p>
# Line 4064  Intellectual Property and Copyright Stat Line 7231  Intellectual Property and Copyright Stat
7231  <p>always  <p>always
7232  </p>  </p>
7233  </blockquote>  </blockquote>
7234                                
7235    
7236    </blockquote><p>
7237                        
7238    </p>
7239    <p>Examples:
7240    </p>
7241    <p>
7242                           </p>
7243    <blockquote class="text">
7244    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7245    </p>
7246    <p>S: "OK"
7247    </p>
7248    </blockquote><p>
7249                        
7250    </p>
7251    <p>
7252                           </p>
7253    <blockquote class="text">
7254    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7255    </p>
7256    <p>S: "OK"
7257    </p>
7258    </blockquote><p>
7259                        
7260    </p>
7261    <a name="Managing Instruments Database"></a><br /><hr />
7262    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7263    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7264    Managing Instruments Database</h3>
7265    
7266    <p>The following commands describe how to use and manage
7267                    the instruments database.
7268    </p>
7269    <p>Notice:
7270    </p>
7271    <p>
7272                            </p>
7273    <blockquote class="text">
7274    <p>All command arguments representing a path or
7275                                instrument/directory name support escape sequences as described in chapter
7276                                "<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>".
7277                                
7278    </p>
7279    <p>All occurrences of a forward slash in instrument and directory
7280                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7281                                
7282    </p>
7283    </blockquote><p>
7284                        
7285    </p>
7286    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7287    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7288    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7289    Creating a new instrument directory</h3>
7290    
7291    <p>The front-end can add a new instrument directory to the
7292                        instruments database by sending the following command:
7293    </p>
7294    <p>
7295                            </p>
7296    <blockquote class="text">
7297    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7298    </p>
7299    </blockquote><p>
7300                        
7301    </p>
7302    <p>Where &lt;dir&gt; is the absolute path name of the directory
7303                        to be created (encapsulated into apostrophes).
7304    </p>
7305    <p>Possible Answers:
7306    </p>
7307    <p>
7308                            </p>
7309    <blockquote class="text">
7310    <p>"OK" -
7311                                    </p>
7312    <blockquote class="text">
7313    <p>on success
7314    </p>
7315    </blockquote>
7316                                
7317    
7318    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7319                                    </p>
7320    <blockquote class="text">
7321    <p>when the directory could not be created, which
7322                                        can happen if the directory already exists or the
7323                                        name contains not allowed symbols
7324    </p>
7325    </blockquote>
7326                                
7327    
7328    </blockquote><p>
7329                        
7330    </p>
7331    <p>Examples:
7332    </p>
7333    <p>
7334                            </p>
7335    <blockquote class="text">
7336    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7337    </p>
7338    <p>S: "OK"
7339    </p>
7340    </blockquote><p>
7341                        
7342    </p>
7343    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7344    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7345    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7346    Deleting an instrument directory</h3>
7347    
7348    <p>The front-end can delete a particular instrument directory
7349                        from the instruments database by sending the following command:
7350    </p>
7351    <p>
7352                            </p>
7353    <blockquote class="text">
7354    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7355    </p>
7356    </blockquote><p>
7357                        
7358    </p>
7359    <p>Where &lt;dir&gt; is the absolute path name of the directory
7360                        to delete. The optional FORCE argument can be used to
7361                        force the deletion of a non-empty directory and all its content.
7362    </p>
7363    <p>Possible Answers:
7364    </p>
7365    <p>
7366                            </p>
7367    <blockquote class="text">
7368    <p>"OK" -
7369                                    </p>
7370    <blockquote class="text">
7371    <p>if the directory is deleted successfully
7372    </p>
7373    </blockquote>
7374                                
7375    
7376    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7377                                    </p>
7378    <blockquote class="text">
7379    <p>if the given directory does not exist, or
7380                                        if trying to delete a non-empty directory,
7381                                        without using the FORCE argument.
7382    </p>
7383    </blockquote>
7384                                
7385    
7386    </blockquote><p>
7387                        
7388    </p>
7389    <p>Examples:
7390    </p>
7391    <p>
7392                            </p>
7393    <blockquote class="text">
7394    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7395    </p>
7396    <p>S: "OK"
7397    </p>
7398    </blockquote><p>
7399                        
7400    </p>
7401    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7402    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7403    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7404    Getting amount of instrument directories</h3>
7405    
7406    <p>The front-end can retrieve the current amount of
7407                        directories in a specific directory by sending the following command:
7408    </p>
7409    <p>
7410                            </p>
7411    <blockquote class="text">
7412    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7413    </p>
7414    </blockquote><p>
7415                        
7416    </p>
7417    <p>Where &lt;dir&gt; should be replaced by the absolute path
7418                        name of the directory. If RECURSIVE is specified, the number of
7419                        all directories, including those located in subdirectories of the
7420                        specified directory, will be returned.
7421    </p>
7422    <p>Possible Answers:
7423    </p>
7424    <p>
7425                            </p>
7426    <blockquote class="text">
7427    <p>The current number of instrument directories
7428                                in the specified directory.
7429    </p>
7430    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7431                                    </p>
7432    <blockquote class="text">
7433    <p>if the given directory does not exist.
7434    </p>
7435    </blockquote>
7436                                
7437    
7438    </blockquote><p>
7439                        
7440    </p>
7441    <p>Example:
7442    </p>
7443    <p>
7444                            </p>
7445    <blockquote class="text">
7446    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7447    </p>
7448    <p>S: "2"
7449    </p>
7450    </blockquote><p>
7451                        
7452    </p>
7453    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7454    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7455    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7456    Listing all directories in specific directory</h3>
7457    
7458    <p>The front-end can retrieve the current list of directories
7459                        in specific directory by sending the following command:
7460    </p>
7461    <p>
7462                            </p>
7463    <blockquote class="text">
7464    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7465    </p>
7466    </blockquote><p>
7467                        
7468    </p>
7469    <p>Where &lt;dir&gt; should be replaced by the absolute path
7470                        name of the directory. If RECURSIVE is specified, the absolute path names
7471                        of all directories, including those located in subdirectories of the
7472                        specified directory, will be returned.
7473    </p>
7474    <p>Possible Answers:
7475    </p>
7476    <p>
7477                            </p>
7478    <blockquote class="text">
7479    <p>A comma separated list of all instrument directories
7480                                (encapsulated into apostrophes) in the specified directory.
7481    </p>
7482    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7483                                    </p>
7484    <blockquote class="text">
7485    <p>if the given directory does not exist.
7486    </p>
7487    </blockquote>
7488                                
7489    
7490    </blockquote><p>
7491                        
7492    </p>
7493    <p>Example:
7494    </p>
7495    <p>
7496                            </p>
7497    <blockquote class="text">
7498    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7499    </p>
7500    <p>S: "'Piano Collection','Percussion Collection'"
7501    </p>
7502    </blockquote><p>
7503                        
7504    </p>
7505    <p>
7506                            </p>
7507    <blockquote class="text">
7508    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7509    </p>
7510    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7511    </p>
7512    </blockquote><p>
7513                        
7514    </p>
7515    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7516    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7517    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7518    Getting instrument directory information</h3>
7519    
7520    <p>The front-end can ask for the current settings of an
7521                        instrument directory by sending the following command:
7522    </p>
7523    <p>
7524                            </p>
7525    <blockquote class="text">
7526    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7527    </p>
7528    </blockquote><p>
7529                        
7530    </p>
7531    <p>Where &lt;dir&gt; should be replaced by the absolute path
7532                        name of the directory the front-end is interested in.
7533    </p>
7534    <p>Possible Answers:
7535    </p>
7536    <p>
7537                            </p>
7538    <blockquote class="text">
7539    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7540                                Each answer line begins with the settings category name
7541                                followed by a colon and then a space character &lt;SP&gt; and finally
7542                                the info character string to that setting category. At the
7543                                moment the following categories are defined:
7544    </p>
7545    <p>
7546                                    </p>
7547    <blockquote class="text">
7548    <p>DESCRIPTION -
7549                                            </p>
7550    <blockquote class="text">
7551    <p>A brief description of the directory content.
7552                                                Note that the character string may contain
7553                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7554    </p>
7555    </blockquote>
7556                                        
7557    
7558    <p>CREATED -
7559                                            </p>
7560    <blockquote class="text">
7561    <p>The creation date and time of the directory,
7562                                                represented in "YYYY-MM-DD HH:MM:SS" format
7563    </p>
7564    </blockquote>
7565                                        
7566    
7567    <p>MODIFIED -
7568                                            </p>
7569    <blockquote class="text">
7570    <p>The date and time of the last modification of the
7571                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7572    </p>
7573    </blockquote>
7574                                        
7575    
7576    </blockquote>
7577                                
7578    
7579    </blockquote><p>
7580                        
7581    </p>
7582    <p>The mentioned fields above don't have to be in particular order.
7583    </p>
7584    <p>Example:
7585    </p>
7586    <p>
7587                            </p>
7588    <blockquote class="text">
7589    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7590    </p>
7591    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7592    </p>
7593    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7594    </p>
7595    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7596    </p>
7597    <p>&nbsp;&nbsp;&nbsp;"."
7598    </p>
7599    </blockquote><p>
7600                        
7601    </p>
7602    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7603    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7604    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7605    Renaming an instrument directory</h3>
7606    
7607    <p>The front-end can alter the name of a specific
7608                        instrument directory by sending the following command:
7609    </p>
7610    <p>
7611                            </p>
7612    <blockquote class="text">
7613    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7614    </p>
7615    </blockquote><p>
7616                        
7617    </p>
7618    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7619                        &lt;name&gt; is the new name for that directory.
7620    </p>
7621    <p>Possible Answers:
7622    </p>
7623    <p>
7624                            </p>
7625    <blockquote class="text">
7626    <p>"OK" -
7627                                    </p>
7628    <blockquote class="text">
7629    <p>on success
7630    </p>
7631    </blockquote>
7632                                
7633    
7634    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7635                                    </p>
7636    <blockquote class="text">
7637    <p>in case the given directory does not exists,
7638                                        or if a directory with name equal to the new
7639                                        name already exists.
7640    </p>
7641    </blockquote>
7642                                
7643    
7644    </blockquote><p>
7645                        
7646    </p>
7647    <p>Example:
7648    </p>
7649    <p>
7650                            </p>
7651    <blockquote class="text">
7652    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7653    </p>
7654    <p>S: "OK"
7655    </p>
7656    </blockquote><p>
7657                        
7658    </p>
7659    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7660    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7661    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7662    Moving an instrument directory</h3>
7663    
7664    <p>The front-end can move a specific
7665                        instrument directory by sending the following command:
7666    </p>
7667    <p>
7668                            </p>
7669    <blockquote class="text">
7670    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7671    </p>
7672    </blockquote><p>
7673                        
7674    </p>
7675    <p>Where &lt;dir&gt; is the absolute path name of the directory
7676                        to move and &lt;dst&gt; is the location where the directory will
7677                        be moved to.
7678    </p>
7679    <p>Possible Answers:
7680    </p>
7681    <p>
7682                            </p>
7683    <blockquote class="text">
7684    <p>"OK" -
7685                                    </p>
7686    <blockquote class="text">
7687    <p>on success
7688    </p>
7689    </blockquote>
7690                                
7691    
7692    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7693                                    </p>
7694    <blockquote class="text">
7695    <p>in case a given directory does not exists,
7696                                        or if a directory with name equal to the name
7697                                        of the specified directory already exists in
7698                                        the destination directory. Error is also thrown
7699                                        when trying to move a directory to a subdirectory
7700                                        of itself.
7701    </p>
7702    </blockquote>
7703                                
7704    
7705    </blockquote><p>
7706                        
7707    </p>
7708    <p>Example:
7709    </p>
7710    <p>
7711                            </p>
7712    <blockquote class="text">
7713    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7714    </p>
7715    <p>S: "OK"
7716    </p>
7717    </blockquote><p>
7718                        
7719    </p>
7720    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7721    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7722    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7723    Copying instrument directories</h3>
7724    
7725    <p>The front-end can copy a specific
7726                        instrument directory by sending the following command:
7727    </p>
7728    <p>
7729                            </p>
7730    <blockquote class="text">
7731    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7732    </p>
7733    </blockquote><p>
7734                        
7735    </p>
7736    <p>Where &lt;dir&gt; is the absolute path name of the directory
7737                        to copy and &lt;dst&gt; is the location where the directory will
7738                        be copied to.
7739    </p>
7740    <p>Possible Answers:
7741    </p>
7742    <p>
7743                            </p>
7744    <blockquote class="text">
7745    <p>"OK" -
7746                                    </p>
7747    <blockquote class="text">
7748    <p>on success
7749    </p>
7750    </blockquote>
7751                                
7752    
7753    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7754                                    </p>
7755    <blockquote class="text">
7756    <p>in case a given directory does not exists,
7757                                        or if a directory with name equal to the name
7758                                        of the specified directory already exists in
7759                                        the destination directory. Error is also thrown
7760                                        when trying to copy a directory to a subdirectory
7761                                        of itself.
7762    </p>
7763    </blockquote>
7764                                
7765    
7766    </blockquote><p>
7767                        
7768    </p>
7769    <p>Example:
7770    </p>
7771    <p>
7772                            </p>
7773    <blockquote class="text">
7774    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7775    </p>
7776    <p>S: "OK"
7777    </p>
7778    </blockquote><p>
7779                        
7780    </p>
7781    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7782    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7783    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7784    Changing the description of directory</h3>
7785    
7786    <p>The front-end can alter the description of a specific
7787                        instrument directory by sending the following command:
7788    </p>
7789    <p>
7790                            </p>
7791    <blockquote class="text">
7792    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7793    </p>
7794    </blockquote><p>
7795                        
7796    </p>
7797    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7798                        &lt;desc&gt; is the new description for the directory
7799                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7800                        "<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>").
7801    </p>
7802    <p>Possible Answers:
7803    </p>
7804    <p>
7805                            </p>
7806    <blockquote class="text">
7807    <p>"OK" -
7808                                    </p>
7809    <blockquote class="text">
7810    <p>on success
7811    </p>
7812    </blockquote>
7813                                
7814    
7815    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7816                                    </p>
7817    <blockquote class="text">
7818    <p>in case the given directory does not exists.
7819    </p>
7820    </blockquote>
7821                                
7822    
7823    </blockquote><p>
7824                        
7825    </p>
7826    <p>Example:
7827    </p>
7828    <p>
7829                            </p>
7830    <blockquote class="text">
7831    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7832    </p>
7833    <p>S: "OK"
7834    </p>
7835    </blockquote><p>
7836                        
7837    </p>
7838    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7839    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7840    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7841    Finding directories</h3>
7842    
7843    <p>The front-end can search for directories
7844                        in specific directory by sending the following command:
7845    </p>
7846    <p>
7847                            </p>
7848    <blockquote class="text">
7849    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7850    </p>
7851    </blockquote><p>
7852                        
7853    </p>
7854    <p>Where &lt;dir&gt; should be replaced by the absolute path
7855                        name of the directory to search in. If NON_RECURSIVE is specified, the
7856                        directories located in subdirectories of the specified directory will not
7857                        be searched. &lt;criteria-list&gt; is a list of search criterias
7858                        in form of "key1=val1 key2=val2 ...". The following criterias are
7859                        allowed:
7860    </p>
7861    <p>
7862                          
7863    <p>NAME='&lt;search-string&gt;'
7864                              </p>
7865    <blockquote class="text">
7866    <p>Restricts the search to directories, which names
7867                                  satisfy the supplied search string (encapsulated into apostrophes,
7868                                  supporting escape sequences as described in chapter
7869                                  "<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>").
7870    </p>
7871    </blockquote><p>
7872                          
7873    </p>
7874    
7875                          
7876    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7877                              </p>
7878    <blockquote class="text">
7879    <p>Restricts the search to directories, which creation
7880                                  date satisfies the specified period, where &lt;date-after&gt;
7881                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7882                                  If &lt;date-after&gt; is omitted the search is restricted to
7883                                  directories created before &lt;date-before&gt;. If
7884                                  &lt;date-before&gt; is omitted, the search is restricted
7885                                  to directories created after &lt;date-after&gt;.
7886    </p>
7887    </blockquote><p>
7888                          
7889    </p>
7890    
7891                          
7892    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7893                              </p>
7894    <blockquote class="text">
7895    <p>Restricts the search to directories, which
7896                                  date of last modification satisfies the specified period, where
7897                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7898                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7899                                  directories, which are last modified before &lt;date-before&gt;. If
7900                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7901                                  which are last modified after &lt;date-after&gt;.
7902    </p>
7903    </blockquote><p>
7904                          
7905    </p>
7906    
7907                          
7908    <p>DESCRIPTION='&lt;search-string&gt;'
7909                              </p>
7910    <blockquote class="text">
7911    <p>Restricts the search to directories with description
7912                                  that satisfies the supplied search string
7913                                  (encapsulated into apostrophes, supporting escape
7914                                  sequences as described in chapter
7915                                  "<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>").
7916    </p>
7917    </blockquote><p>
7918                          
7919    </p>
7920                        
7921    
7922    <p>Where &lt;search-string&gt; is either a regular expression, or a
7923                        word list separated with spaces for OR search and with '+' for AND search.
7924    </p>
7925    <p>Possible Answers:
7926    </p>
7927    <p>
7928                            </p>
7929    <blockquote class="text">
7930    <p>A comma separated list with the absolute path names (encapsulated into
7931                                apostrophes) of all directories in the specified directory that satisfy
7932                                the supplied search criterias.
7933    </p>
7934    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7935                                    </p>
7936    <blockquote class="text">
7937    <p>if the given directory does not exist.
7938    </p>
7939    </blockquote>
7940                                
7941    
7942    </blockquote><p>
7943                        
7944    </p>
7945    <p>Example:
7946    </p>
7947    <p>
7948                            </p>
7949    <blockquote class="text">
7950    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7951    </p>
7952    <p>S: "'/Piano Collection'"
7953    </p>
7954    </blockquote><p>
7955                        
7956    </p>
7957    <p>
7958                            </p>
7959    <blockquote class="text">
7960    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7961    </p>
7962    <p>S: "'/Piano Collection','/Percussions'"
7963    </p>
7964    </blockquote><p>
7965                        
7966    </p>
7967    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7968    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7969    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7970    Adding instruments to the instruments database</h3>
7971    
7972    <p>The front-end can add one or more instruments
7973                        to the instruments database by sending the following command:
7974    </p>
7975    <p>
7976                            </p>
7977    <blockquote class="text">
7978    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7979    </p>
7980    </blockquote><p>
7981                        
7982    </p>
7983    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7984                        (encapsulated into apostrophes) in the instruments database in which
7985                        only the new instruments (that are not already in the database) will
7986                        be added, &lt;file_path&gt; is the absolute path name of a file or
7987                        directory in the file system (encapsulated into apostrophes). In case
7988                        an instrument file is supplied, only the instruments in the specified
7989                        file will be added to the instruments database. If the optional
7990                        &lt;instr_index&gt; (the index of the instrument within the given file)
7991                        is supplied too, then only the specified instrument will be added.
7992                        In case a directory is supplied, the instruments in that directory
7993                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7994                        when a directory is provided as &lt;file_path&gt; and specifies how the
7995                        scanning will be done and has exactly the following possibilities:
7996    </p>
7997    <p>
7998                            </p>
7999    <blockquote class="text">
8000    <p>"RECURSIVE" -
8001                                    </p>
8002    <blockquote class="text">
8003    <p>All instruments will be processed, including those
8004                                        in the subdirectories, and the respective subdirectory
8005                                        tree structure will be recreated in the instruments
8006                                        database
8007    </p>
8008    </blockquote>
8009                                
8010    
8011    <p>"NON_RECURSIVE" -
8012                                    </p>
8013    <blockquote class="text">
8014    <p>Only the instruments in the specified directory
8015                                        will be added, the instruments in the subdirectories
8016                                        will not be processed.
8017    </p>
8018    </blockquote>
8019                                
8020    
8021    <p>"FLAT" -
8022                                    </p>
8023    <blockquote class="text">
8024    <p>All instruments will be processed, including those
8025                                        in the subdirectories, but the respective subdirectory
8026                                        structure will not be recreated in the instruments
8027                                        database. All instruments will be added directly in
8028                                        the specified database directory.
8029    </p>
8030    </blockquote>
8031                                
8032    
8033    </blockquote><p>
8034                        
8035    </p>
8036    <p>The difference between regular and NON_MODAL versions of the command
8037                        is that the regular command returns when the scanning is finished
8038                        while NON_MODAL version returns immediately and a background process is launched.
8039                        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>
8040                        command can be used to monitor the scanning progress.
8041    </p>
8042    <p>Possible Answers:
8043    </p>
8044    <p>
8045                            </p>
8046    <blockquote class="text">
8047    <p>"OK" -
8048                                    </p>
8049    <blockquote class="text">
8050    <p>on success when NON_MODAL is not supplied
8051    </p>
8052    </blockquote>
8053                                
8054    
8055    <p>"OK[&lt;job-id&gt;]" -
8056                                    </p>
8057    <blockquote class="text">
8058    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8059                                        is a numerical ID used to obtain status information about the job progress.
8060                                        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>
8061                                        
8062    </p>
8063    </blockquote>
8064                                
8065    
8066    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8067                                    </p>
8068    <blockquote class="text">
8069    <p>if an invalid path is specified.
8070    </p>
8071    </blockquote>
8072                                
8073    
8074    </blockquote><p>
8075                        
8076    </p>
8077    <p>Examples:
8078    </p>
8079    <p>
8080                            </p>
8081    <blockquote class="text">
8082    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8083    </p>
8084    <p>S: "OK"
8085    </p>
8086    </blockquote><p>
8087                        
8088    </p>
8089    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8090    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8091    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8092    Removing an instrument</h3>
8093    
8094    <p>The front-end can remove a particular instrument
8095                        from the instruments database by sending the following command:
8096    </p>
8097    <p>
8098                            </p>
8099    <blockquote class="text">
8100    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8101    </p>
8102    </blockquote><p>
8103                        
8104    </p>
8105    <p>Where &lt;instr_path&gt; is the absolute path name
8106                        (in the instruments database) of the instrument to remove.
8107    </p>
8108    <p>Possible Answers:
8109    </p>
8110    <p>
8111                            </p>
8112    <blockquote class="text">
8113    <p>"OK" -
8114                                    </p>
8115    <blockquote class="text">
8116    <p>if the instrument is removed successfully
8117    </p>
8118    </blockquote>
8119                                
8120    
8121    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8122                                    </p>
8123    <blockquote class="text">
8124    <p>if the given path does not exist or
8125                                        is a directory.
8126    </p>
8127  </blockquote>  </blockquote>
8128                                
8129    
8130    </blockquote><p>
8131                        
8132    </p>
8133  <p>Examples:  <p>Examples:
8134  </p>  </p>
8135  <p></p>  <p>
8136                            </p>
8137    <blockquote class="text">
8138    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8139    </p>
8140    <p>S: "OK"
8141    </p>
8142    </blockquote><p>
8143                        
8144    </p>
8145    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8146    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8147    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8148    Getting amount of instruments</h3>
8149    
8150    <p>The front-end can retrieve the current amount of
8151                        instruments in a specific directory by sending the following command:
8152    </p>
8153    <p>
8154                            </p>
8155    <blockquote class="text">
8156    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8157    </p>
8158    </blockquote><p>
8159                        
8160    </p>
8161    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8162                        of the directory. If RECURSIVE is specified, the number of all
8163                        instruments, including those located in subdirectories of the
8164                        specified directory, will be returned.
8165    </p>
8166    <p>Possible Answers:
8167    </p>
8168    <p>
8169                            </p>
8170    <blockquote class="text">
8171    <p>The current number of instruments
8172                                in the specified directory.
8173    </p>
8174    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8175                                    </p>
8176    <blockquote class="text">
8177    <p>if the given directory does not exist.
8178    </p>
8179    </blockquote>
8180                                
8181    
8182    </blockquote><p>
8183                        
8184    </p>
8185    <p>Example:
8186    </p>
8187    <p>
8188                            </p>
8189    <blockquote class="text">
8190    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8191    </p>
8192    <p>S: "2"
8193    </p>
8194    </blockquote><p>
8195                        
8196    </p>
8197    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8198    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8199    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8200    Listing all instruments in specific directory</h3>
8201    
8202    <p>The front-end can retrieve the current list of instruments
8203                        in specific directory by sending the following command:
8204    </p>
8205    <p>
8206                            </p>
8207    <blockquote class="text">
8208    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8209    </p>
8210    </blockquote><p>
8211                        
8212    </p>
8213    <p>Where &lt;dir&gt; should be replaced by the absolute path
8214                        name of the directory. If RECURSIVE is specified, the absolute path
8215                        names of all instruments, including those located in subdirectories
8216                        of the specified directory, will be returned.
8217    </p>
8218    <p>Possible Answers:
8219    </p>
8220    <p>
8221                            </p>
8222    <blockquote class="text">
8223    <p>A comma separated list of all instruments
8224                                (encapsulated into apostrophes) in the specified directory.
8225    </p>
8226    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8227                                    </p>
8228    <blockquote class="text">
8229    <p>if the given directory does not exist.
8230    </p>
8231    </blockquote>
8232                                
8233    
8234    </blockquote><p>
8235                        
8236    </p>
8237    <p>Example:
8238    </p>
8239    <p>
8240                            </p>
8241    <blockquote class="text">
8242    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8243    </p>
8244    <p>S: "'Bosendorfer 290','Steinway D'"
8245    </p>
8246    </blockquote><p>
8247                        
8248    </p>
8249    <p>
8250                            </p>
8251    <blockquote class="text">
8252    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8253    </p>
8254    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8255    </p>
8256    </blockquote><p>
8257                        
8258    </p>
8259    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8260    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8261    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8262    Getting instrument information</h3>
8263    
8264    <p>The front-end can ask for the current settings of an
8265                        instrument by sending the following command:
8266    </p>
8267    <p>
8268                            </p>
8269    <blockquote class="text">
8270    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8271    </p>
8272    </blockquote><p>
8273                        
8274    </p>
8275    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8276                        name of the instrument the front-end is interested in.
8277    </p>
8278    <p>Possible Answers:
8279    </p>
8280    <p>
8281                            </p>
8282    <blockquote class="text">
8283    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8284                                Each answer line begins with the settings category name
8285                                followed by a colon and then a space character &lt;SP&gt; and finally
8286                                the info character string to that setting category. At the
8287                                moment the following categories are defined:
8288    </p>
8289    <p>
8290                                    </p>
8291    <blockquote class="text">
8292    <p>INSTRUMENT_FILE -
8293                                            </p>
8294    <blockquote class="text">
8295    <p>File name of the instrument.
8296                                                Note that the character string may contain
8297                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8298    </p>
8299    </blockquote>
8300                                        
8301    
8302    <p>INSTRUMENT_NR -
8303                                            </p>
8304    <blockquote class="text">
8305    <p>Index of the instrument within the file.
8306    </p>
8307    </blockquote>
8308                                        
8309    
8310    <p>FORMAT_FAMILY -
8311                                            </p>
8312    <blockquote class="text">
8313    <p>The format family of the instrument.
8314    </p>
8315    </blockquote>
8316                                        
8317    
8318    <p>FORMAT_VERSION -
8319                                            </p>
8320    <blockquote class="text">
8321    <p>The format version of the instrument.
8322    </p>
8323    </blockquote>
8324                                        
8325    
8326    <p>SIZE -
8327                                            </p>
8328    <blockquote class="text">
8329    <p>The size of the instrument in bytes.
8330    </p>
8331    </blockquote>
8332                                        
8333    
8334    <p>CREATED -
8335                                            </p>
8336    <blockquote class="text">
8337    <p>The date and time when the instrument is added
8338                                                in the instruments database, represented in
8339                                               "YYYY-MM-DD HH:MM:SS" format
8340    </p>
8341    </blockquote>
8342                                        
8343    
8344    <p>MODIFIED -
8345                                            </p>
8346    <blockquote class="text">
8347    <p>The date and time of the last modification of the
8348                                                instrument's database settings, represented in
8349                                                "YYYY-MM-DD HH:MM:SS" format
8350    </p>
8351    </blockquote>
8352                                        
8353    
8354    <p>DESCRIPTION -
8355                                            </p>
8356    <blockquote class="text">
8357    <p>A brief description of the instrument.
8358                                                Note that the character string may contain
8359                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8360    </p>
8361    </blockquote>
8362                                        
8363    
8364    <p>IS_DRUM -
8365                                            </p>
8366    <blockquote class="text">
8367    <p>either true or false, determines whether the
8368                                                instrument is a drumkit or a chromatic instrument
8369    </p>
8370    </blockquote>
8371                                        
8372    
8373    <p>PRODUCT -
8374                                            </p>
8375    <blockquote class="text">
8376    <p>The product title of the instrument.
8377                                                Note that the character string may contain
8378                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8379    </p>
8380    </blockquote>
8381                                        
8382    
8383    <p>ARTISTS -
8384                                            </p>
8385    <blockquote class="text">
8386    <p>Lists the artist names.
8387                                                Note that the character string may contain
8388                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8389    </p>
8390    </blockquote>
8391                                        
8392    
8393    <p>KEYWORDS -
8394                                            </p>
8395    <blockquote class="text">
8396    <p>Provides a list of keywords that refer to the instrument.
8397                                                Keywords are separated with semicolon and blank.
8398                                                Note that the character string may contain
8399                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8400    </p>
8401    </blockquote>
8402                                        
8403    
8404    </blockquote>
8405                                
8406    
8407    </blockquote><p>
8408                        
8409    </p>
8410    <p>The mentioned fields above don't have to be in particular order.
8411    </p>
8412    <p>Example:
8413    </p>
8414    <p>
8415                            </p>
8416    <blockquote class="text">
8417    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8418    </p>
8419    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8420    </p>
8421    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8422    </p>
8423    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8424    </p>
8425    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8426    </p>
8427    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8428    </p>
8429    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8430    </p>
8431    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8432    </p>
8433    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8434    </p>
8435    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8436    </p>
8437    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8438    </p>
8439    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8440    </p>
8441    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8442    </p>
8443    <p>&nbsp;&nbsp;&nbsp;"."
8444    </p>
8445    </blockquote><p>
8446                        
8447    </p>
8448    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8449    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8450    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8451    Renaming an instrument</h3>
8452    
8453    <p>The front-end can alter the name of a specific
8454                        instrument by sending the following command:
8455    </p>
8456    <p>
8457                            </p>
8458    <blockquote class="text">
8459    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8460    </p>
8461    </blockquote><p>
8462                        
8463    </p>
8464    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8465                        &lt;name&gt; is the new name for that instrument.
8466    </p>
8467    <p>Possible Answers:
8468    </p>
8469    <p>
8470                            </p>
8471    <blockquote class="text">
8472    <p>"OK" -
8473                                    </p>
8474    <blockquote class="text">
8475    <p>on success
8476    </p>
8477    </blockquote>
8478                                
8479    
8480    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8481                                    </p>
8482    <blockquote class="text">
8483    <p>in case the given instrument does not exists,
8484                                        or if an instrument with name equal to the new
8485                                        name already exists.
8486    </p>
8487    </blockquote>
8488                                
8489    
8490    </blockquote><p>
8491                        
8492    </p>
8493    <p>Example:
8494    </p>
8495    <p>
8496                            </p>
8497    <blockquote class="text">
8498    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8499    </p>
8500    <p>S: "OK"
8501    </p>
8502    </blockquote><p>
8503                        
8504    </p>
8505    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8506    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8507    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8508    Moving an instrument</h3>
8509    
8510    <p>The front-end can move a specific instrument to another directory by
8511                        sending the following command:
8512    </p>
8513    <p>
8514                            </p>
8515    <blockquote class="text">
8516    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8517    </p>
8518    </blockquote><p>
8519                        
8520    </p>
8521    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8522                        to move and &lt;dst&gt; is the directory where the instrument will
8523                        be moved to.
8524    </p>
8525    <p>Possible Answers:
8526    </p>
8527    <p>
8528                            </p>
8529    <blockquote class="text">
8530    <p>"OK" -
8531                                    </p>
8532    <blockquote class="text">
8533    <p>on success
8534    </p>
8535    </blockquote>
8536                                
8537    
8538    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8539                                    </p>
8540    <blockquote class="text">
8541    <p>in case the given instrument does not exists,
8542                                        or if an instrument with name equal to the name of the
8543                                        specified instrument already exists in the destination
8544                                        directory.
8545    </p>
8546    </blockquote>
8547                                
8548    
8549    </blockquote><p>
8550                        
8551    </p>
8552    <p>Example:
8553    </p>
8554    <p>
8555                            </p>
8556    <blockquote class="text">
8557    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8558    </p>
8559    <p>S: "OK"
8560    </p>
8561    </blockquote><p>
8562                        
8563    </p>
8564    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8565    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8566    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8567    Copying instruments</h3>
8568    
8569    <p>The front-end can copy a specific instrument to another directory by
8570                        sending the following command:
8571    </p>
8572    <p>
8573                            </p>
8574    <blockquote class="text">
8575    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8576    </p>
8577    </blockquote><p>
8578                        
8579    </p>
8580    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8581                        to copy and &lt;dst&gt; is the directory where the instrument will
8582                        be copied to.
8583    </p>
8584    <p>Possible Answers:
8585    </p>
8586    <p>
8587                            </p>
8588    <blockquote class="text">
8589    <p>"OK" -
8590                                    </p>
8591    <blockquote class="text">
8592    <p>on success
8593    </p>
8594    </blockquote>
8595                                
8596    
8597    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8598                                    </p>
8599    <blockquote class="text">
8600    <p>in case the given instrument does not exists,
8601                                        or if an instrument with name equal to the name of the
8602                                        specified instrument already exists in the destination
8603                                        directory.
8604    </p>
8605    </blockquote>
8606                                
8607    
8608    </blockquote><p>
8609                        
8610    </p>
8611    <p>Example:
8612    </p>
8613    <p>
8614                            </p>
8615    <blockquote class="text">
8616    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8617    </p>
8618    <p>S: "OK"
8619    </p>
8620    </blockquote><p>
8621                        
8622    </p>
8623    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8624    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8625    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8626    Changing the description of instrument</h3>
8627    
8628    <p>The front-end can alter the description of a specific
8629                        instrument by sending the following command:
8630    </p>
8631    <p>
8632                            </p>
8633  <blockquote class="text">  <blockquote class="text">
8634    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8635    </p>
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8640                        &lt;desc&gt; is the new description for the instrument
8641                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8642                        "<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>").
8643    </p>
8644    <p>Possible Answers:
8645    </p>
8646  <p>  <p>
8647                            </p>
8648    <blockquote class="text">
8649    <p>"OK" -
8650                                    </p>
8651    <blockquote class="text">
8652    <p>on success
8653    </p>
8654    </blockquote>
8655                                
8656    
8657    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8658                                    </p>
8659    <blockquote class="text">
8660    <p>in case the given instrument does not exists.
8661  </p>  </p>
8662  </blockquote>  </blockquote>
8663                                
8664    
8665    </blockquote><p>
8666                        
8667    </p>
8668    <p>Example:
8669    </p>
8670    <p>
8671                            </p>
8672    <blockquote class="text">
8673    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8674    </p>
8675    <p>S: "OK"
8676    </p>
8677    </blockquote><p>
8678                        
8679    </p>
8680    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8681    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8682    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8683    Finding instruments</h3>
8684    
8685    <p>The front-end can search for instruments
8686                        in specific directory by sending the following command:
8687    </p>
8688    <p>
8689                            </p>
8690    <blockquote class="text">
8691    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8692    </p>
8693    </blockquote><p>
8694                        
8695    </p>
8696    <p>Where &lt;dir&gt; should be replaced by the absolute path
8697                        name of the directory to search in. If NON_RECURSIVE is specified, the
8698                        directories located in subdirectories of the specified directory will not
8699                        be searched. &lt;criteria-list&gt; is a list of search criterias
8700                        in form of "key1=val1 key2=val2 ...". The following criterias are
8701                        allowed:
8702    </p>
8703    <p>
8704                          
8705    <p>NAME='&lt;search-string&gt;'
8706                              </p>
8707    <blockquote class="text">
8708    <p>Restricts the search to instruments, which names
8709                                  satisfy the supplied search string (encapsulated into apostrophes,
8710                                  supporting escape sequences as described in chapter
8711                                  "<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>").
8712    </p>
8713    </blockquote><p>
8714                          
8715    </p>
8716    
8717                          
8718    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8719                              </p>
8720    <blockquote class="text">
8721    <p>Restricts the search to instruments, which
8722                                  size is in the specified range. If &lt;min&gt; is omitted,
8723                                  the search results are restricted to instruments with size less then
8724                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8725                                  search is restricted to instruments with size greater then
8726                                  or equal to &lt;min&gt;.
8727    </p>
8728    </blockquote><p>
8729                          
8730    </p>
8731    
8732                          
8733    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8734                              </p>
8735    <blockquote class="text">
8736    <p>Restricts the search to instruments, which creation
8737                                  date satisfies the specified period, where &lt;date-after&gt;
8738                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8739                                  If &lt;date-after&gt; is omitted the search is restricted to
8740                                  instruments created before &lt;date-before&gt;. If
8741                                  &lt;date-before&gt; is omitted, the search is restricted
8742                                  to instruments created after &lt;date-after&gt;.
8743    </p>
8744    </blockquote><p>
8745                          
8746    </p>
8747    
8748                          
8749    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8750                              </p>
8751    <blockquote class="text">
8752    <p>Restricts the search to instruments, which
8753                                  date of last modification satisfies the specified period, where
8754                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8755                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8756                                  instruments, which are last modified before &lt;date-before&gt;. If
8757                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8758                                  which are last modified after &lt;date-after&gt;.
8759    </p>
8760    </blockquote><p>
8761                          
8762    </p>
8763    
8764                          
8765    <p>DESCRIPTION='&lt;search-string&gt;'
8766                              </p>
8767    <blockquote class="text">
8768    <p>Restricts the search to instruments with description
8769                                  that satisfies the supplied search string (encapsulated into apostrophes,
8770                                  supporting escape sequences as described in chapter
8771                                  "<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>").
8772    </p>
8773    </blockquote><p>
8774                          
8775    </p>
8776    
8777                          
8778    <p>PRODUCT='&lt;search-string&gt;'
8779                              </p>
8780    <blockquote class="text">
8781    <p>Restricts the search to instruments with product info
8782                                  that satisfies the supplied search string (encapsulated into apostrophes,
8783                                  supporting escape sequences as described in chapter
8784                                  "<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>").
8785    </p>
8786    </blockquote><p>
8787                          
8788    </p>
8789    
8790                          
8791    <p>ARTISTS='&lt;search-string&gt;'
8792                              </p>
8793    <blockquote class="text">
8794    <p>Restricts the search to instruments with artists info
8795                                  that satisfies the supplied search string (encapsulated into apostrophes,
8796                                  supporting escape sequences as described in chapter
8797                                  "<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>").
8798    </p>
8799    </blockquote><p>
8800                          
8801    </p>
8802    
8803                          
8804    <p>KEYWORDS='&lt;search-string&gt;'
8805                              </p>
8806    <blockquote class="text">
8807    <p>Restricts the search to instruments with keyword list
8808                                  that satisfies the supplied search string (encapsulated into apostrophes,
8809                                  supporting escape sequences as described in chapter
8810                                  "<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>").
8811    </p>
8812    </blockquote><p>
8813                          
8814    </p>
8815    
8816                          
8817    <p>IS_DRUM=true | false
8818                              </p>
8819    <blockquote class="text">
8820    <p>Either true or false. Restricts the search to
8821                                  drum kits or chromatic instruments.
8822    </p>
8823    </blockquote><p>
8824                          
8825    </p>
8826    
8827                          
8828    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8829                              </p>
8830    <blockquote class="text">
8831    <p>Restricts the search to instruments of the supplied format families,
8832                                  where &lt;format-list&gt; is a comma separated list of format families.
8833    </p>
8834    </blockquote><p>
8835                          
8836    </p>
8837                        
8838    
8839    <p>Where &lt;search-string&gt; is either a regular expression, or a
8840                        word list separated with spaces for OR search and with '+' for AND search.
8841    </p>
8842    <p>Possible Answers:
8843    </p>
8844    <p>
8845                            </p>
8846    <blockquote class="text">
8847    <p>A comma separated list with the absolute path names (encapsulated into
8848                                apostrophes) of all instruments in the specified directory that satisfy
8849                                the supplied search criterias.
8850    </p>
8851    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8852                                    </p>
8853    <blockquote class="text">
8854    <p>if the given directory does not exist.
8855    </p>
8856    </blockquote>
8857                                
8858    
8859    </blockquote><p>
8860                        
8861    </p>
8862    <p>Example:
8863    </p>
8864    <p>
8865                            </p>
8866    <blockquote class="text">
8867    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8868    </p>
8869    <p>S: "'/Piano Collection/Bosendorfer 290'"
8870    </p>
8871    </blockquote><p>
8872                        
8873    </p>
8874    <p>
8875                            </p>
8876    <blockquote class="text">
8877    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8878    </p>
8879    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8880    </p>
8881    </blockquote><p>
8882                        
8883    </p>
8884    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8885    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8886    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8887    Getting job status information</h3>
8888    
8889    <p>The front-end can ask for the current status of a
8890                        particular database instruments job by sending the following command:
8891    </p>
8892    <p>
8893                            </p>
8894    <blockquote class="text">
8895    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8896    </p>
8897    </blockquote><p>
8898                        
8899    </p>
8900    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8901                        of the job the front-end is interested in.
8902    </p>
8903    <p>Possible Answers:
8904    </p>
8905    <p>
8906                            </p>
8907    <blockquote class="text">
8908    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8909                                Each answer line begins with the settings category name
8910                                followed by a colon and then a space character &lt;SP&gt; and finally
8911                                the info character string to that setting category. At the
8912                                moment the following categories are defined:
8913    </p>
8914    <p>
8915                                    </p>
8916    <blockquote class="text">
8917    <p>FILES_TOTAL -
8918                                            </p>
8919    <blockquote class="text">
8920    <p>The total number of files scheduled for scanning
8921    </p>
8922    </blockquote>
8923                                        
8924    
8925    <p>FILES_SCANNED -
8926                                            </p>
8927    <blockquote class="text">
8928    <p>The current number of scanned files
8929    </p>
8930    </blockquote>
8931                                        
8932    
8933    <p>SCANNING -
8934                                            </p>
8935    <blockquote class="text">
8936    <p>The absolute path name of the file which is currently
8937                                                being scanned
8938    </p>
8939    </blockquote>
8940                                        
8941    
8942    <p>STATUS -
8943                                            </p>
8944    <blockquote class="text">
8945    <p>An integer value between 0 and 100 indicating the
8946                                                scanning progress percentage of the file which is
8947                                                currently being scanned
8948    </p>
8949    </blockquote>
8950                                        
8951    
8952    </blockquote>
8953                                
8954    
8955    </blockquote><p>
8956                        
8957    </p>
8958    <p>The mentioned fields above don't have to be in particular order.
8959    </p>
8960    <p>Example:
8961    </p>
8962    <p>
8963                            </p>
8964    <blockquote class="text">
8965    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8966    </p>
8967    <p>S: "FILES_TOTAL: 12"
8968    </p>
8969    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8970    </p>
8971    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8972    </p>
8973    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8974    </p>
8975    <p>&nbsp;&nbsp;&nbsp;"."
8976    </p>
8977    </blockquote><p>
8978                        
8979    </p>
8980    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
8981    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8982    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
8983    Formatting the instruments database</h3>
8984    
8985    <p>The front-end can remove all instruments and directories and re-create
8986                        the instruments database structure (e.g., in case of a database corruption)
8987                        by sending the following command:
8988    </p>
8989    <p>
8990                            </p>
8991    <blockquote class="text">
8992    <p>FORMAT INSTRUMENTS_DB
8993    </p>
8994    </blockquote><p>
8995                        
8996    </p>
8997    <p>Possible Answers:
8998    </p>
8999    <p>
9000                            </p>
9001    <blockquote class="text">
9002    <p>"OK" -
9003                                    </p>
9004    <blockquote class="text">
9005    <p>on success
9006    </p>
9007    </blockquote>
9008                                
9009    
9010    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9011                                    </p>
9012    <blockquote class="text">
9013    <p>If the formatting of the instruments database
9014                                        failed.
9015    </p>
9016    </blockquote>
9017                                
9018    
9019    </blockquote><p>
9020                        
9021    </p>
9022    <a name="editing_instruments"></a><br /><hr />
9023    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9024    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9025    Editing Instruments</h3>
9026    
9027    <p>The sampler allows to edit instruments while playing with the
9028                    sampler by spawning an external (3rd party) instrument editor
9029                    application for a given instrument. The 3rd party instrument
9030                    editor applications have to place a respective plugin DLL file
9031                    into the sampler's plugins directory. The sampler will
9032                    automatically try to load all plugin DLLs in that directory on
9033                    startup and only on startup!
9034    </p>
9035    <p>At the moment there is only one command for this feature set,
9036                    but this will most probably change in future.
9037    </p>
9038    <a name="EDIT INSTRUMENT"></a><br /><hr />
9039    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9040    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9041    Opening an appropriate instrument editor application</h3>
9042    
9043    <p>The front-end can request to open an appropriate instrument
9044                        editor application by sending the following command:
9045    </p>
9046    <p>
9047                            </p>
9048    <blockquote class="text">
9049    <p>EDIT INSTRUMENT &lt;sampler-channel&gt;
9050    </p>
9051    </blockquote><p>
9052                        
9053    </p>
9054    <p>Where &lt;sampler-channel&gt; should be replaced by the
9055                        number of the sampler channel as given by the
9056                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9057                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9058                        command.
9059    </p>
9060    <p>The sampler will try to ask all registered instrument
9061                        editors (or to be more specific: their sampler plugins)
9062                        whether they are capable to handle the instrument on the
9063                        given sampler channel. The sampler will simply use the first
9064                        instrument editor application which replied with a positive
9065                        answer and spawn that instrument editor application within
9066                        the sampler's process and provide that application access
9067                        to the instrument's data structures, so both applications
9068                        can share and access the same instruments data at the same
9069                        time, thus allowing to immediately hear changes with the
9070                        sampler made by the instrument editor.
9071    </p>
9072    <p>Note: consequently instrument editors are always spawned
9073                        locally on the same machine where the sampler is running
9074                        on!
9075    </p>
9076    <p>Possible Answers:
9077    </p>
9078    <p>
9079                            </p>
9080    <blockquote class="text">
9081    <p>"OK" -
9082                                    </p>
9083    <blockquote class="text">
9084    <p>when an appropriate instrument editor was
9085                                        launched
9086    </p>
9087    </blockquote>
9088                                
9089    
9090    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9091                                    </p>
9092    <blockquote class="text">
9093    <p>when an appropriate instrument editor was
9094                                        launched, but there are noteworthy issues
9095    </p>
9096    </blockquote>
9097                                
9098    
9099    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9100                                    </p>
9101    <blockquote class="text">
9102    <p>when an appropriate instrument editor
9103                                        could not be launched
9104    </p>
9105    </blockquote>
9106                                
9107    
9108    </blockquote><p>
9109                        
9110    </p>
9111    <p>Examples:
9112    </p>
9113    <p>
9114                            </p>
9115    <blockquote class="text">
9116    <p>C: "EDIT INSTRUMENT 0"
9117    </p>
9118    <p>S: "OK"
9119    </p>
9120    </blockquote><p>
9121                        
9122    </p>
9123  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9124  <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>
9125  <a name="rfc.section.6"></a><h3>6.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9126    Command Syntax</h3>
9127    
9128    <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>
9129                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>)
9130                where applicable.
9131                
9132    </p>
9133    <p>input =
9134            </p>
9135    <blockquote class="text">
9136    <p>line LF
9137                    
9138    </p>
9139    <p>/ line CR LF
9140                    
9141    </p>
9142    </blockquote><p>
9143    
9144    </p>
9145    <p>line =
9146            </p>
9147    <blockquote class="text">
9148    <p>/* epsilon (empty line ignored) */
9149                    
9150    </p>
9151    <p>/ comment
9152                    
9153    </p>
9154    <p>/ command
9155                    
9156    </p>
9157    <p>/ error
9158                    
9159    </p>
9160    </blockquote><p>
9161    
9162    </p>
9163    <p>comment =
9164            </p>
9165    <blockquote class="text">
9166    <p>'#'
9167                    
9168    </p>
9169    <p>/ comment '#'
9170                    
9171    </p>
9172    <p>/ comment SP
9173                    
9174    </p>
9175    <p>/ comment number
9176                    
9177    </p>
9178    <p>/ comment string
9179                    
9180    </p>
9181    </blockquote><p>
9182    
9183    </p>
9184    <p>command =
9185            </p>
9186    <blockquote class="text">
9187    <p>ADD SP add_instruction
9188                    
9189    </p>
9190    <p>/ MAP SP map_instruction
9191                    
9192    </p>
9193    <p>/ UNMAP SP unmap_instruction
9194                    
9195    </p>
9196    <p>/ GET SP get_instruction
9197                    
9198    </p>
9199    <p>/ CREATE SP create_instruction
9200                    
9201    </p>
9202    <p>/ DESTROY SP destroy_instruction
9203                    
9204    </p>
9205    <p>/ LIST SP list_instruction
9206                    
9207    </p>
9208    <p>/ LOAD SP load_instruction
9209                    
9210    </p>
9211    <p>/ REMOVE SP remove_instruction
9212                    
9213    </p>
9214    <p>/ SET SP set_instruction
9215                    
9216    </p>
9217    <p>/ SUBSCRIBE SP subscribe_event
9218                    
9219    </p>
9220    <p>/ UNSUBSCRIBE SP unsubscribe_event
9221                    
9222    </p>
9223    <p>/ RESET SP reset_instruction
9224                    
9225    </p>
9226    <p>/ CLEAR SP clear_instruction
9227                    
9228    </p>
9229    <p>/ FIND SP find_instruction
9230                    
9231    </p>
9232    <p>/ MOVE SP move_instruction
9233                    
9234    </p>
9235    <p>/ COPY SP copy_instruction
9236                    
9237    </p>
9238    <p>/ EDIT SP edit_instruction
9239                    
9240    </p>
9241    <p>/ FORMAT SP format_instruction
9242                    
9243    </p>
9244    <p>/ RESET
9245                    
9246    </p>
9247    <p>/ QUIT
9248                    
9249    </p>
9250    </blockquote><p>
9251    
9252    </p>
9253    <p>add_instruction =
9254            </p>
9255    <blockquote class="text">
9256    <p>CHANNEL
9257                    
9258    </p>
9259    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9260                    
9261    </p>
9262    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9263                    
9264    </p>
9265    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9266                    
9267    </p>
9268    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9269                    
9270    </p>
9271    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9272                    
9273    </p>
9274    <p>/ DB_INSTRUMENTS SP db_path SP filename
9275                    
9276    </p>
9277    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9278                    
9279    </p>
9280    <p>/ MIDI_INSTRUMENT_MAP
9281                    
9282    </p>
9283    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9284                    
9285    </p>
9286    </blockquote><p>
9287    
9288    </p>
9289    <p>subscribe_event =
9290            </p>
9291    <blockquote class="text">
9292    <p>AUDIO_OUTPUT_DEVICE_COUNT
9293                    
9294    </p>
9295    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9296                    
9297    </p>
9298    <p>/ MIDI_INPUT_DEVICE_COUNT
9299                    
9300    </p>
9301    <p>/ MIDI_INPUT_DEVICE_INFO
9302                    
9303    </p>
9304    <p>/ CHANNEL_COUNT
9305                    
9306    </p>
9307    <p>/ VOICE_COUNT
9308                    
9309    </p>
9310    <p>/ STREAM_COUNT
9311                    
9312    </p>
9313    <p>/ BUFFER_FILL
9314                    
9315    </p>
9316    <p>/ CHANNEL_INFO
9317                    
9318    </p>
9319    <p>/ FX_SEND_COUNT
9320                    
9321    </p>
9322    <p>/ FX_SEND_INFO
9323                    
9324    </p>
9325    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9326                    
9327    </p>
9328    <p>/ MIDI_INSTRUMENT_MAP_INFO
9329                    
9330    </p>
9331    <p>/ MIDI_INSTRUMENT_COUNT
9332                    
9333    </p>
9334    <p>/ MIDI_INSTRUMENT_INFO
9335                    
9336    </p>
9337    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9338                    
9339    </p>
9340    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9341                    
9342    </p>
9343    <p>/ DB_INSTRUMENT_COUNT
9344                    
9345    </p>
9346    <p>/ DB_INSTRUMENT_INFO
9347                    
9348    </p>
9349    <p>/ DB_INSTRUMENTS_JOB_INFO
9350                    
9351    </p>
9352    <p>/ MISCELLANEOUS
9353                    
9354    </p>
9355    <p>/ TOTAL_VOICE_COUNT
9356                    
9357    </p>
9358    <p>/ GLOBAL_INFO
9359                    
9360    </p>
9361    </blockquote><p>
9362    
9363    </p>
9364    <p>unsubscribe_event =
9365            </p>
9366    <blockquote class="text">
9367    <p>AUDIO_OUTPUT_DEVICE_COUNT
9368                    
9369    </p>
9370    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9371                    
9372    </p>
9373    <p>/ MIDI_INPUT_DEVICE_COUNT
9374                    
9375    </p>
9376    <p>/ MIDI_INPUT_DEVICE_INFO
9377                    
9378    </p>
9379    <p>/ CHANNEL_COUNT
9380                    
9381    </p>
9382    <p>/ VOICE_COUNT
9383                    
9384    </p>
9385    <p>/ STREAM_COUNT
9386                    
9387    </p>
9388    <p>/ BUFFER_FILL
9389                    
9390    </p>
9391    <p>/ CHANNEL_INFO
9392                    
9393    </p>
9394    <p>/ FX_SEND_COUNT
9395                    
9396    </p>
9397    <p>/ FX_SEND_INFO
9398                    
9399    </p>
9400    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9401                    
9402    </p>
9403    <p>/ MIDI_INSTRUMENT_MAP_INFO
9404                    
9405    </p>
9406    <p>/ MIDI_INSTRUMENT_COUNT
9407                    
9408    </p>
9409    <p>/ MIDI_INSTRUMENT_INFO
9410                    
9411    </p>
9412    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9413                    
9414    </p>
9415    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9416                    
9417    </p>
9418    <p>/ DB_INSTRUMENT_COUNT
9419                    
9420    </p>
9421    <p>/ DB_INSTRUMENT_INFO
9422                    
9423    </p>
9424    <p>/ DB_INSTRUMENTS_JOB_INFO
9425                    
9426    </p>
9427    <p>/ MISCELLANEOUS
9428                    
9429    </p>
9430    <p>/ TOTAL_VOICE_COUNT
9431                    
9432    </p>
9433    <p>/ GLOBAL_INFO
9434                    
9435    </p>
9436    </blockquote><p>
9437    
9438    </p>
9439    <p>map_instruction =
9440            </p>
9441    <blockquote class="text">
9442    <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
9443                    
9444    </p>
9445    <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
9446                    
9447    </p>
9448    <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
9449                    
9450    </p>
9451    <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
9452                    
9453    </p>
9454    </blockquote><p>
9455    
9456    </p>
9457    <p>unmap_instruction =
9458            </p>
9459    <blockquote class="text">
9460    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9461                    
9462    </p>
9463    </blockquote><p>
9464    
9465    </p>
9466    <p>remove_instruction =
9467            </p>
9468    <blockquote class="text">
9469    <p>CHANNEL SP sampler_channel
9470                    
9471    </p>
9472    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9473                    
9474    </p>
9475    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9476                    
9477    </p>
9478    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9479                    
9480    </p>
9481    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9482                    
9483    </p>
9484    <p>/ DB_INSTRUMENT SP db_path
9485                    
9486    </p>
9487    </blockquote><p>
9488    
9489    </p>
9490    <p>get_instruction =
9491            </p>
9492    <blockquote class="text">
9493    <p>AVAILABLE_ENGINES
9494                    
9495    </p>
9496    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
9497                    
9498    </p>
9499    <p>/ MIDI_INPUT_DRIVER SP INFO SP string
9500                    
9501    </p>
9502    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string
9503                    
9504    </p>
9505    <p>/ MIDI_INPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
9506                    
9507    </p>
9508    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9509                    
9510    </p>
9511    <p>/ AUDIO_OUTPUT_DRIVER SP INFO SP string
9512                    
9513    </p>
9514    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string
9515                    
9516    </p>
9517    <p>/ AUDIO_OUTPUT_DRIVER_PARAMETER SP INFO SP string SP string SP key_val_list
9518                    
9519    </p>
9520    <p>/ AUDIO_OUTPUT_DEVICES
9521                    
9522    </p>
9523    <p>/ MIDI_INPUT_DEVICES
9524                    
9525    </p>
9526    <p>/ AUDIO_OUTPUT_DEVICE SP INFO SP number
9527                    
9528    </p>
9529    <p>/ MIDI_INPUT_DEVICE SP INFO SP number
9530                    
9531    </p>
9532    <p>/ MIDI_INPUT_PORT SP INFO SP number SP number
9533                    
9534    </p>
9535    <p>/ MIDI_INPUT_PORT_PARAMETER SP INFO SP number SP number SP string
9536                    
9537    </p>
9538    <p>/ AUDIO_OUTPUT_CHANNEL SP INFO SP number SP number
9539                    
9540    </p>
9541    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP INFO SP number SP number SP string
9542                    
9543    </p>
9544    <p>/ CHANNELS
9545                    
9546    </p>
9547    <p>/ CHANNEL SP INFO SP sampler_channel
9548                    
9549    </p>
9550    <p>/ CHANNEL SP BUFFER_FILL SP buffer_size_type SP sampler_channel
9551                    
9552    </p>
9553    <p>/ CHANNEL SP STREAM_COUNT SP sampler_channel
9554                    
9555    </p>
9556    <p>/ CHANNEL SP VOICE_COUNT SP sampler_channel
9557                    
9558    </p>
9559    <p>/ ENGINE SP INFO SP engine_name
9560                    
9561    </p>
9562    <p>/ SERVER SP INFO
9563                    
9564    </p>
9565    <p>/ TOTAL_VOICE_COUNT
9566                    
9567    </p>
9568    <p>/ TOTAL_VOICE_COUNT_MAX
9569                    
9570    </p>
9571    <p>/ MIDI_INSTRUMENTS SP midi_map
9572                    
9573    </p>
9574    <p>/ MIDI_INSTRUMENTS SP ALL
9575                    
9576    </p>
9577    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9578                    
9579    </p>
9580    <p>/ MIDI_INSTRUMENT_MAPS
9581                    
9582    </p>
9583    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9584                    
9585    </p>
9586    <p>/ FX_SENDS SP sampler_channel
9587                    
9588    </p>
9589    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9590                    
9591    </p>
9592    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9593                    
9594    </p>
9595    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9596                    
9597    </p>
9598    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9599                    
9600    </p>
9601    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9602                    
9603    </p>
9604    <p>/ DB_INSTRUMENTS SP db_path
9605                    
9606    </p>
9607    <p>/ DB_INSTRUMENT SP INFO SP db_path
9608                    
9609    </p>
9610    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9611                    
9612    </p>
9613    <p>/ VOLUME
9614                    
9615    </p>
9616    </blockquote><p>
9617    
9618    </p>
9619    <p>set_instruction =
9620            </p>
9621    <blockquote class="text">
9622    <p>AUDIO_OUTPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9623                    
9624    </p>
9625    <p>/ AUDIO_OUTPUT_CHANNEL_PARAMETER SP number SP number SP string '=' param_val_list
9626                    
9627    </p>
9628    <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9629                    
9630    </p>
9631    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9632                    
9633    </p>
9634    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9635                    
9636    </p>
9637    <p>/ CHANNEL SP set_chan_instruction
9638                    
9639    </p>
9640    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9641                    
9642    </p>
9643    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9644                    
9645    </p>
9646    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9647                    
9648    </p>
9649    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9650                    
9651    </p>
9652    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9653                    
9654    </p>
9655    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
9656                    
9657    </p>
9658    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
9659                    
9660    </p>
9661    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
9662                    
9663    </p>
9664    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
9665                    
9666    </p>
9667    <p>/ ECHO SP boolean
9668                    
9669    </p>
9670    <p>/ VOLUME SP volume_value
9671                    
9672    </p>
9673    </blockquote><p>
9674    
9675    </p>
9676    <p>create_instruction =
9677            </p>
9678    <blockquote class="text">
9679    <p>AUDIO_OUTPUT_DEVICE SP string SP key_val_list
9680                    
9681    </p>
9682    <p>/ AUDIO_OUTPUT_DEVICE SP string
9683                    
9684    </p>
9685    <p>/ MIDI_INPUT_DEVICE SP string SP key_val_list
9686                    
9687    </p>
9688    <p>/ MIDI_INPUT_DEVICE SP string
9689                    
9690    </p>
9691    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
9692                    
9693    </p>
9694    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
9695                    
9696    </p>
9697    </blockquote><p>
9698    
9699    </p>
9700    <p>reset_instruction =
9701            </p>
9702    <blockquote class="text">
9703    <p>CHANNEL SP sampler_channel
9704                    
9705    </p>
9706    </blockquote><p>
9707    
9708    </p>
9709    <p>clear_instruction =
9710            </p>
9711    <blockquote class="text">
9712    <p>MIDI_INSTRUMENTS SP midi_map
9713                    
9714    </p>
9715    <p>/ MIDI_INSTRUMENTS SP ALL
9716                    
9717    </p>
9718    </blockquote><p>
9719    
9720    </p>
9721    <p>find_instruction =
9722            </p>
9723    <blockquote class="text">
9724    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
9725                    
9726    </p>
9727    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
9728                    
9729    </p>
9730    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
9731                    
9732    </p>
9733    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
9734                    
9735    </p>
9736    </blockquote><p>
9737    
9738    </p>
9739    <p>move_instruction =
9740            </p>
9741    <blockquote class="text">
9742    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9743                    
9744    </p>
9745    <p>/ DB_INSTRUMENT SP db_path SP db_path
9746                    
9747    </p>
9748    </blockquote><p>
9749    
9750    </p>
9751    <p>copy_instruction =
9752            </p>
9753    <blockquote class="text">
9754    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9755                    
9756    </p>
9757    <p>/ DB_INSTRUMENT SP db_path SP db_path
9758                    
9759    </p>
9760    </blockquote><p>
9761    
9762    </p>
9763    <p>destroy_instruction =
9764            </p>
9765    <blockquote class="text">
9766    <p>AUDIO_OUTPUT_DEVICE SP number
9767                    
9768    </p>
9769    <p>/ MIDI_INPUT_DEVICE SP number
9770                    
9771    </p>
9772    <p>/ FX_SEND SP sampler_channel SP fx_send_id
9773                    
9774    </p>
9775    </blockquote><p>
9776    
9777    </p>
9778    <p>load_instruction =
9779            </p>
9780    <blockquote class="text">
9781    <p>INSTRUMENT SP load_instr_args
9782                    
9783    </p>
9784    <p>/ ENGINE SP load_engine_args
9785                    
9786    </p>
9787    </blockquote><p>
9788    
9789    </p>
9790    <p>set_chan_instruction =
9791            </p>
9792    <blockquote class="text">
9793    <p>AUDIO_OUTPUT_DEVICE SP sampler_channel SP device_index
9794                    
9795    </p>
9796    <p>/ AUDIO_OUTPUT_CHANNEL SP sampler_channel SP audio_channel_index SP audio_channel_index
9797                    
9798    </p>
9799    <p>/ AUDIO_OUTPUT_TYPE SP sampler_channel SP audio_output_type_name
9800                    
9801    </p>
9802    <p>/ MIDI_INPUT SP sampler_channel SP device_index SP midi_input_port_index SP midi_input_channel_index
9803                    
9804    </p>
9805    <p>/ MIDI_INPUT_DEVICE SP sampler_channel SP device_index
9806                    
9807    </p>
9808    <p>/ MIDI_INPUT_PORT SP sampler_channel SP midi_input_port_index
9809                    
9810    </p>
9811    <p>/ MIDI_INPUT_CHANNEL SP sampler_channel SP midi_input_channel_index
9812                    
9813    </p>
9814    <p>/ MIDI_INPUT_TYPE SP sampler_channel SP midi_input_type_name
9815                    
9816    </p>
9817    <p>/ VOLUME SP sampler_channel SP volume_value
9818                    
9819    </p>
9820    <p>/ MUTE SP sampler_channel SP boolean
9821                    
9822    </p>
9823    <p>/ SOLO SP sampler_channel SP boolean
9824                    
9825    </p>
9826    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
9827                    
9828    </p>
9829    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
9830                    
9831    </p>
9832    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
9833                    
9834    </p>
9835    </blockquote><p>
9836    
9837    </p>
9838    <p>edit_instruction =
9839            </p>
9840    <blockquote class="text">
9841    <p>INSTRUMENT SP sampler_channel
9842                    
9843    </p>
9844    </blockquote><p>
9845    
9846    </p>
9847    <p>format_instruction =
9848            </p>
9849    <blockquote class="text">
9850    <p>INSTRUMENTS_DB
9851                    
9852    </p>
9853    </blockquote><p>
9854    
9855    </p>
9856    <p>modal_arg =
9857            </p>
9858    <blockquote class="text">
9859    <p>/* epsilon (empty argument) */
9860                    
9861    </p>
9862    <p>/ NON_MODAL SP
9863                    
9864    </p>
9865    </blockquote><p>
9866    
9867    </p>
9868    <p>key_val_list =
9869            </p>
9870    <blockquote class="text">
9871    <p>string '=' param_val_list
9872                    
9873    </p>
9874    <p>/ key_val_list SP string '=' param_val_list
9875                    
9876    </p>
9877    </blockquote><p>
9878    
9879    </p>
9880    <p>buffer_size_type =
9881            </p>
9882    <blockquote class="text">
9883    <p>BYTES
9884                    
9885    </p>
9886    <p>/ PERCENTAGE
9887                    
9888    </p>
9889    </blockquote><p>
9890    
9891  <p>TODO: will soon automatically included from src/network/lscp.y,  </p>
9892              meanwhile have a look at that file to get the exact definition of  <p>list_instruction =
9893              the command syntax.          </p>
9894    <blockquote class="text">
9895    <p>AUDIO_OUTPUT_DEVICES
9896                    
9897    </p>
9898    <p>/ MIDI_INPUT_DEVICES
9899                    
9900    </p>
9901    <p>/ CHANNELS
9902                    
9903    </p>
9904    <p>/ AVAILABLE_ENGINES
9905                    
9906    </p>
9907    <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
9908                    
9909    </p>
9910    <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9911                    
9912    </p>
9913    <p>/ MIDI_INSTRUMENTS SP midi_map
9914                    
9915    </p>
9916    <p>/ MIDI_INSTRUMENTS SP ALL
9917                    
9918    </p>
9919    <p>/ MIDI_INSTRUMENT_MAPS
9920                    
9921    </p>
9922    <p>/ FX_SENDS SP sampler_channel
9923                    
9924    </p>
9925    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9926                    
9927    </p>
9928    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9929                    
9930    </p>
9931    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9932                    
9933    </p>
9934    <p>/ DB_INSTRUMENTS SP db_path
9935                    
9936    </p>
9937    </blockquote><p>
9938    
9939    </p>
9940    <p>load_instr_args =
9941            </p>
9942    <blockquote class="text">
9943    <p>filename SP instrument_index SP sampler_channel
9944                    
9945    </p>
9946    <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
9947                    
9948    </p>
9949    </blockquote><p>
9950    
9951    </p>
9952    <p>load_engine_args =
9953            </p>
9954    <blockquote class="text">
9955    <p>engine_name SP sampler_channel
9956                    
9957    </p>
9958    </blockquote><p>
9959    
9960    </p>
9961    <p>instr_load_mode =
9962            </p>
9963    <blockquote class="text">
9964    <p>ON_DEMAND
9965                    
9966    </p>
9967    <p>/ ON_DEMAND_HOLD
9968                    
9969    </p>
9970    <p>/ PERSISTENT
9971                    
9972    </p>
9973    </blockquote><p>
9974    
9975    </p>
9976    <p>device_index =
9977            </p>
9978    <blockquote class="text">
9979    <p>number
9980                    
9981    </p>
9982    </blockquote><p>
9983    
9984    </p>
9985    <p>audio_channel_index =
9986            </p>
9987    <blockquote class="text">
9988    <p>number
9989                    
9990    </p>
9991    </blockquote><p>
9992    
9993    </p>
9994    <p>audio_output_type_name =
9995            </p>
9996    <blockquote class="text">
9997    <p>string
9998                    
9999    </p>
10000    </blockquote><p>
10001    
10002    </p>
10003    <p>midi_input_port_index =
10004            </p>
10005    <blockquote class="text">
10006    <p>number
10007                    
10008    </p>
10009    </blockquote><p>
10010    
10011    </p>
10012    <p>midi_input_channel_index =
10013            </p>
10014    <blockquote class="text">
10015    <p>number
10016                    
10017    </p>
10018    <p>/ ALL
10019                    
10020    </p>
10021    </blockquote><p>
10022    
10023    </p>
10024    <p>midi_input_type_name =
10025            </p>
10026    <blockquote class="text">
10027    <p>string
10028                    
10029    </p>
10030    </blockquote><p>
10031    
10032    </p>
10033    <p>midi_map =
10034            </p>
10035    <blockquote class="text">
10036    <p>number
10037                    
10038    </p>
10039    </blockquote><p>
10040    
10041    </p>
10042    <p>midi_bank =
10043            </p>
10044    <blockquote class="text">
10045    <p>number
10046                    
10047    </p>
10048    </blockquote><p>
10049    
10050    </p>
10051    <p>midi_prog =
10052            </p>
10053    <blockquote class="text">
10054    <p>number
10055                    
10056    </p>
10057    </blockquote><p>
10058    
10059    </p>
10060    <p>midi_ctrl =
10061            </p>
10062    <blockquote class="text">
10063    <p>number
10064                    
10065    </p>
10066    </blockquote><p>
10067    
10068    </p>
10069    <p>volume_value =
10070            </p>
10071    <blockquote class="text">
10072    <p>dotnum
10073                    
10074    </p>
10075    <p>/ number
10076                    
10077    </p>
10078    </blockquote><p>
10079    
10080    </p>
10081    <p>sampler_channel =
10082            </p>
10083    <blockquote class="text">
10084    <p>number
10085                    
10086    </p>
10087    </blockquote><p>
10088    
10089    </p>
10090    <p>instrument_index =
10091            </p>
10092    <blockquote class="text">
10093    <p>number
10094                    
10095    </p>
10096    </blockquote><p>
10097    
10098    </p>
10099    <p>fx_send_id =
10100            </p>
10101    <blockquote class="text">
10102    <p>number
10103                    
10104    </p>
10105    </blockquote><p>
10106    
10107    </p>
10108    <p>engine_name =
10109            </p>
10110    <blockquote class="text">
10111    <p>string
10112                    
10113    </p>
10114    </blockquote><p>
10115    
10116    </p>
10117    <p>filename =
10118            </p>
10119    <blockquote class="text">
10120    <p>path
10121                    
10122    </p>
10123    </blockquote><p>
10124    
10125    </p>
10126    <p>db_path =
10127            </p>
10128    <blockquote class="text">
10129    <p>path
10130                    
10131    </p>
10132    </blockquote><p>
10133    
10134    </p>
10135    <p>map_name =
10136            </p>
10137    <blockquote class="text">
10138    <p>stringval
10139                    
10140    </p>
10141    </blockquote><p>
10142    
10143    </p>
10144    <p>entry_name =
10145            </p>
10146    <blockquote class="text">
10147    <p>stringval
10148                    
10149    </p>
10150    </blockquote><p>
10151    
10152    </p>
10153    <p>fx_send_name =
10154            </p>
10155    <blockquote class="text">
10156    <p>stringval
10157                    
10158    </p>
10159    </blockquote><p>
10160    
10161    </p>
10162    <p>param_val_list =
10163            </p>
10164    <blockquote class="text">
10165    <p>param_val
10166                    
10167    </p>
10168    <p>/ param_val_list','param_val
10169                    
10170    </p>
10171    </blockquote><p>
10172    
10173    </p>
10174    <p>param_val =
10175            </p>
10176    <blockquote class="text">
10177    <p>string
10178                    
10179    </p>
10180    <p>/ stringval
10181                    
10182    </p>
10183    <p>/ number
10184                    
10185    </p>
10186    <p>/ dotnum
10187                    
10188    </p>
10189    </blockquote><p>
10190    
10191    </p>
10192    <p>query_val_list =
10193            </p>
10194    <blockquote class="text">
10195    <p>string '=' query_val
10196                    
10197    </p>
10198    <p>/ query_val_list SP string '=' query_val
10199                    
10200    </p>
10201    </blockquote><p>
10202    
10203    </p>
10204    <p>query_val =
10205            </p>
10206    <blockquote class="text">
10207    <p>textval_escaped
10208                    
10209    </p>
10210    <p>/ stringval_escaped
10211                    
10212    </p>
10213    </blockquote><p>
10214    
10215    </p>
10216    <p>scan_mode =
10217            </p>
10218    <blockquote class="text">
10219    <p>RECURSIVE
10220                    
10221    </p>
10222    <p>/ NON_RECURSIVE
10223                    
10224    </p>
10225    <p>/ FLAT
10226                    
10227    </p>
10228    </blockquote><p>
10229    
10230    </p>
10231    <a name="character_set"></a><br /><hr />
10232    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10233    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10234    Character Set and Escape Sequences</h3>
10235    
10236    <p>Older versions of this protocol up to and including v1.1 only
10237                    supported the standard ASCII character set (ASCII code 0 - 127)
10238                    <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
10239                    however support the Extended ASCII character set (ASCII code
10240                    0 - 255). The same group of younger protocols also support
10241                    escape sequences, but only for certain, explicitly declared
10242                    parts of the protocol. The supported escape sequences are
10243                    defined as follows:
10244    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10245    <col align="left"><col align="left">
10246    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10247    <tr>
10248    <td align="left">\n</td>
10249    <td align="left">new line</td>
10250    </tr>
10251    <tr>
10252    <td align="left">\r</td>
10253    <td align="left">carriage return</td>
10254    </tr>
10255    <tr>
10256    <td align="left">\f</td>
10257    <td align="left">form feed</td>
10258    </tr>
10259    <tr>
10260    <td align="left">\t</td>
10261    <td align="left">horizontal tab</td>
10262    </tr>
10263    <tr>
10264    <td align="left">\v</td>
10265    <td align="left">vertical tab</td>
10266    </tr>
10267    <tr>
10268    <td align="left">\'</td>
10269    <td align="left">apostrophe</td>
10270    </tr>
10271    <tr>
10272    <td align="left">\"</td>
10273    <td align="left">quotation mark</td>
10274    </tr>
10275    <tr>
10276    <td align="left">\\</td>
10277    <td align="left">backslash</td>
10278    </tr>
10279    <tr>
10280    <td align="left">\OOO</td>
10281    <td align="left">three digit octal ASCII code of the character</td>
10282    </tr>
10283    <tr>
10284    <td align="left">\xHH</td>
10285    <td align="left">two digit hex ASCII code of the character</td>
10286    </tr>
10287    </table>
10288    
10289    <p>Notice: due to the transition of certain parts of the
10290                    protocol which now support escape sequences, a slight backward
10291                    incompatibility to protocols version v1.1 and younger has been
10292                    introduced. The only difference is that in parts of the protocol
10293                    where escape characters are now supported, a backslash characters
10294                    MUST be escaped as well (that is as double backslash), whereas
10295                    in the old versions a single backslash was sufficient.
10296  </p>  </p>
10297  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10298  <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>
10299  <a name="rfc.section.7"></a><h3>7.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10300    Events</h3>
10301    
10302  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10303  </p>  </p>
10304  <a name="rfc.section.7.1"></a><h4><a name="SUBSCRIBE CHANNEL">7.1</a>&nbsp;Number of sampler channels changed</h4>  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10305    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10306    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
10307    Number of audio output devices changed</h3>
10308    
10309  <p>Client may want to be notified when the total number of channels on the  <p>Client may want to be notified when the total number of audio output devices on the
10310                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
10311  </p>  </p>
10312  <p></p>  <p>
10313                        </p>
10314  <blockquote class="text">  <blockquote class="text">
10315  <p>SUBSCRIBE CHANNELS  <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10316  </p>  </p>
10317  </blockquote>  </blockquote><p>
10318                    
10319    </p>
10320    <p>Server will start sending the following notification messages:
10321    </p>
10322    <p>
10323                        </p>
10324    <blockquote class="text">
10325    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10326    </p>
10327    </blockquote><p>
10328                    
10329    </p>
10330    <p>where &lt;devices&gt; will be replaced by the new number
10331                    of audio output devices.
10332    </p>
10333    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10334    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10335    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10336    Audio output device's settings changed</h3>
10337    
10338    <p>Client may want to be notified when changes were made to audio output devices on the
10339                    back-end by issuing the following command:
10340    </p>
10341    <p>
10342                        </p>
10343    <blockquote class="text">
10344    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10345    </p>
10346    </blockquote><p>
10347                    
10348    </p>
10349  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10350  </p>  </p>
10351  <p></p>  <p>
10352                        </p>
10353  <blockquote class="text">  <blockquote class="text">
10354  <p>"NOTIFY:CHANNELS:&lt;channels&gt;"  <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10355  </p>  </p>
10356  </blockquote>  </blockquote><p>
10357                    
10358    </p>
10359    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10360                    which settings has been changed. The front-end will have to send
10361                    the respective command to actually get the audio output device info. Because these messages
10362                    will be triggered by LSCP commands issued by other clients rather than real
10363                    time events happening on the server, it is believed that an empty notification
10364                    message is sufficient here.
10365    </p>
10366    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10367    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10368    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10369    Number of MIDI input devices changed</h3>
10370    
10371    <p>Client may want to be notified when the total number of MIDI input devices on the
10372                    back-end changes by issuing the following command:
10373    </p>
10374    <p>
10375                        </p>
10376    <blockquote class="text">
10377    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10378    </p>
10379    </blockquote><p>
10380                    
10381    </p>
10382    <p>Server will start sending the following notification messages:
10383    </p>
10384    <p>
10385                        </p>
10386    <blockquote class="text">
10387    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10388    </p>
10389    </blockquote><p>
10390                    
10391    </p>
10392    <p>where &lt;devices&gt; will be replaced by the new number
10393                    of MIDI input devices.
10394    </p>
10395    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10396    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10397    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10398    MIDI input device's settings changed</h3>
10399    
10400    <p>Client may want to be notified when changes were made to MIDI input devices on the
10401                    back-end by issuing the following command:
10402    </p>
10403    <p>
10404                        </p>
10405    <blockquote class="text">
10406    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10407    </p>
10408    </blockquote><p>
10409                    
10410    </p>
10411    <p>Server will start sending the following notification messages:
10412    </p>
10413    <p>
10414                        </p>
10415    <blockquote class="text">
10416    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10417    </p>
10418    </blockquote><p>
10419                    
10420    </p>
10421    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10422                    which settings has been changed. The front-end will have to send
10423                    the respective command to actually get the MIDI input device info. Because these messages
10424                    will be triggered by LSCP commands issued by other clients rather than real
10425                    time events happening on the server, it is believed that an empty notification
10426                    message is sufficient here.
10427    </p>
10428    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10429    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10430    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10431    Number of sampler channels changed</h3>
10432    
10433    <p>Client may want to be notified when the total number of channels on the
10434                    back-end changes by issuing the following command:
10435    </p>
10436    <p>
10437                        </p>
10438    <blockquote class="text">
10439    <p>SUBSCRIBE CHANNEL_COUNT
10440    </p>
10441    </blockquote><p>
10442                    
10443    </p>
10444    <p>Server will start sending the following notification messages:
10445    </p>
10446    <p>
10447                        </p>
10448    <blockquote class="text">
10449    <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
10450    </p>
10451    </blockquote><p>
10452                    
10453    </p>
10454  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
10455                  of sampler channels.                  of sampler channels.
10456  </p>  </p>
10457  <a name="rfc.section.7.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">7.2</a>&nbsp;Number of active voices changed</h4>  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10458    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10459    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10460    Number of active voices changed</h3>
10461    
10462  <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
10463                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
10464  </p>  </p>
10465  <p></p>  <p>
10466                        </p>
10467  <blockquote class="text">  <blockquote class="text">
10468  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
10469  </p>  </p>
10470  </blockquote>  </blockquote><p>
10471                    
10472    </p>
10473  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10474  </p>  </p>
10475  <p></p>  <p>
10476                        </p>
10477  <blockquote class="text">  <blockquote class="text">
10478  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10479    </p>
10480    </blockquote><p>
10481                    
10482  </p>  </p>
 </blockquote>  
   
10483  <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
10484                  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
10485                  active voices on that channel.                  active voices on that channel.
10486  </p>  </p>
10487  <a name="rfc.section.7.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">7.3</a>&nbsp;Number of active disk streams changed</h4>  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10488    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10489    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10490    Number of active disk streams changed</h3>
10491    
10492  <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
10493                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
10494  </p>  </p>
10495  <p></p>  <p>
10496                        </p>
10497  <blockquote class="text">  <blockquote class="text">
10498  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
10499  </p>  </p>
10500  </blockquote>  </blockquote><p>
10501                    
10502    </p>
10503  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10504  </p>  </p>
10505  <p></p>  <p>
10506                        </p>
10507  <blockquote class="text">  <blockquote class="text">
10508  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
10509  </p>  </p>
10510  </blockquote>  </blockquote><p>
10511                    
10512    </p>
10513  <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
10514                  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
10515                  active disk streams on that channel.                  active disk streams on that channel.
10516  </p>  </p>
10517  <a name="rfc.section.7.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">7.4</a>&nbsp;Disk stream buffer fill state changed</h4>  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10518    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10519    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
10520    Disk stream buffer fill state changed</h3>
10521    
10522  <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
10523                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
10524  </p>  </p>
10525  <p></p>  <p>
10526                        </p>
10527  <blockquote class="text">  <blockquote class="text">
10528  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
10529  </p>  </p>
10530  </blockquote>  </blockquote><p>
10531                    
10532    </p>
10533  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10534  </p>  </p>
10535  <p></p>  <p>
10536                        </p>
10537  <blockquote class="text">  <blockquote class="text">
10538  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
10539  </p>  </p>
10540  </blockquote>  </blockquote><p>
10541                    
10542    </p>
10543  <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
10544                  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
10545                  buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section 5.4.13<span>Current fill state of disk stream buffers</span></a>                  buffer fill data for this channel as described in <a class='info' href='#GET CHANNEL BUFFER_FILL'>Section&nbsp;6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a>
10546                  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.
10547  </p>  </p>
10548  <a name="rfc.section.7.5"></a><h4><a name="SUBSCRIBE INFO">7.5</a>&nbsp;Channel information changed</h4>  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
10549    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10550    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
10551    Channel information changed</h3>
10552    
10553  <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
10554                  back-end changes by issuing the following command:                  back-end by issuing the following command:
10555  </p>  </p>
10556  <p></p>  <p>
10557                        </p>
10558  <blockquote class="text">  <blockquote class="text">
10559  <p>SUBSCRIBE INFO  <p>SUBSCRIBE CHANNEL_INFO
10560    </p>
10561    </blockquote><p>
10562                    
10563  </p>  </p>
 </blockquote>  
   
10564  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
10565  </p>  </p>
10566  <p></p>  <p>
10567                        </p>
10568  <blockquote class="text">  <blockquote class="text">
10569  <p>"NOTIFY:INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
10570    </p>
10571    </blockquote><p>
10572                    
10573  </p>  </p>
 </blockquote>  
   
10574  <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
10575                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
10576                  the respective command to actually get the channel info. Because these messages                  the respective command to actually get the channel info. Because these messages
# Line 4207  Intellectual Property and Copyright Stat Line 10578  Intellectual Property and Copyright Stat
10578                  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
10579                  message is sufficient here.                  message is sufficient here.
10580  </p>  </p>
10581  <a name="rfc.section.7.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">7.6</a>&nbsp;Miscellaneous and debugging events</h4>  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10582    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10583    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10584    Number of effect sends changed</h3>
10585    
10586    <p>Client may want to be notified when the number of effect sends on
10587                    a particular sampler channel is changed by issuing the following command:
10588    </p>
10589    <p>
10590                        </p>
10591    <blockquote class="text">
10592    <p>SUBSCRIBE FX_SEND_COUNT
10593    </p>
10594    </blockquote><p>
10595                    
10596    </p>
10597    <p>Server will start sending the following notification messages:
10598    </p>
10599    <p>
10600                        </p>
10601    <blockquote class="text">
10602    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10603    </p>
10604    </blockquote><p>
10605                    
10606    </p>
10607    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10608                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10609                    be replaced by the new number of effect sends on that channel.
10610    </p>
10611    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10612    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10613    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10614    Effect send information changed</h3>
10615    
10616    <p>Client may want to be notified when changes were made to effect sends on a
10617                    a particular sampler channel by issuing the following command:
10618    </p>
10619    <p>
10620                        </p>
10621    <blockquote class="text">
10622    <p>SUBSCRIBE FX_SEND_INFO
10623    </p>
10624    </blockquote><p>
10625                    
10626    </p>
10627    <p>Server will start sending the following notification messages:
10628    </p>
10629    <p>
10630                        </p>
10631    <blockquote class="text">
10632    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10633    </p>
10634    </blockquote><p>
10635                    
10636    </p>
10637    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10638                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10639                    be replaced by the numerical ID of the changed effect send.
10640    </p>
10641    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10642    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10643    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
10644    Total number of active voices changed</h3>
10645    
10646    <p>Client may want to be notified when the total number of voices on the
10647                    back-end changes by issuing the following command:
10648    </p>
10649    <p>
10650                        </p>
10651    <blockquote class="text">
10652    <p>SUBSCRIBE TOTAL_VOICE_COUNT
10653    </p>
10654    </blockquote><p>
10655                    
10656    </p>
10657    <p>Server will start sending the following notification messages:
10658    </p>
10659    <p>
10660                        </p>
10661    <blockquote class="text">
10662    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10663    </p>
10664    </blockquote><p>
10665                    
10666    </p>
10667    <p>where &lt;voices&gt; will be replaced by the new number of
10668                    all currently active voices.
10669    </p>
10670    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10671    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10672    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10673    Number of MIDI instrument maps changed</h3>
10674    
10675    <p>Client may want to be notified when the number of MIDI instrument maps on the
10676                    back-end changes by issuing the following command:
10677    </p>
10678    <p>
10679                        </p>
10680    <blockquote class="text">
10681    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
10682    </p>
10683    </blockquote><p>
10684                    
10685    </p>
10686    <p>Server will start sending the following notification messages:
10687    </p>
10688    <p>
10689                        </p>
10690    <blockquote class="text">
10691    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
10692    </p>
10693    </blockquote><p>
10694                    
10695    </p>
10696    <p>where &lt;maps&gt; will be replaced by the new number
10697                    of MIDI instrument maps.
10698    </p>
10699    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10700    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10701    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10702    MIDI instrument map information changed</h3>
10703    
10704    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
10705                    back-end by issuing the following command:
10706    </p>
10707    <p>
10708                        </p>
10709    <blockquote class="text">
10710    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
10711    </p>
10712    </blockquote><p>
10713                    
10714    </p>
10715    <p>Server will start sending the following notification messages:
10716    </p>
10717    <p>
10718                        </p>
10719    <blockquote class="text">
10720    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
10721    </p>
10722    </blockquote><p>
10723                    
10724    </p>
10725    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10726                    for which information changes occurred. The front-end will have to send
10727                    the respective command to actually get the MIDI instrument map info. Because these messages
10728                    will be triggered by LSCP commands issued by other clients rather than real
10729                    time events happening on the server, it is believed that an empty notification
10730                    message is sufficient here.
10731    </p>
10732    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10733    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10734    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10735    Number of MIDI instruments changed</h3>
10736    
10737    <p>Client may want to be notified when the number of MIDI instrument maps on the
10738                    back-end changes by issuing the following command:
10739    </p>
10740    <p>
10741                        </p>
10742    <blockquote class="text">
10743    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
10744    </p>
10745    </blockquote><p>
10746                    
10747    </p>
10748    <p>Server will start sending the following notification messages:
10749    </p>
10750    <p>
10751                        </p>
10752    <blockquote class="text">
10753    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
10754    </p>
10755    </blockquote><p>
10756                    
10757    </p>
10758    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
10759                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
10760                    the new number of MIDI instruments in the specified map.
10761    </p>
10762    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10763    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10764    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10765    MIDI instrument information changed</h3>
10766    
10767    <p>Client may want to be notified when changes were made to MIDI instruments on the
10768                    back-end by issuing the following command:
10769    </p>
10770    <p>
10771                        </p>
10772    <blockquote class="text">
10773    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
10774    </p>
10775    </blockquote><p>
10776                    
10777    </p>
10778    <p>Server will start sending the following notification messages:
10779    </p>
10780    <p>
10781                        </p>
10782    <blockquote class="text">
10783    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
10784    </p>
10785    </blockquote><p>
10786                    
10787    </p>
10788    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10789                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
10790                    the location of the changed MIDI instrument in the map. The front-end will have to send
10791                    the respective command to actually get the MIDI instrument info. Because these messages
10792                    will be triggered by LSCP commands issued by other clients rather than real
10793                    time events happening on the server, it is believed that an empty notification
10794                    message is sufficient here.
10795    </p>
10796    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10797    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10798    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10799    Global settings changed</h3>
10800    
10801    <p>Client may want to be notified when changes to the global settings
10802                    of the sampler were made by issuing the following command:
10803    </p>
10804    <p>
10805                        </p>
10806    <blockquote class="text">
10807    <p>SUBSCRIBE GLOBAL_INFO
10808    </p>
10809    </blockquote><p>
10810                    
10811    </p>
10812    <p>Server will start sending the following types of notification messages:
10813    </p>
10814    <p>
10815                        </p>
10816    <blockquote class="text">
10817    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10818                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10819                            replaced by the optional dotted floating point value, reflecting the
10820                            new global volume parameter.
10821    </p>
10822    </blockquote><p>
10823                    
10824    </p>
10825    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10826    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10827    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10828    Number of database instrument directories changed</h3>
10829    
10830    <p>Client may want to be notified when the number of instrument
10831                    directories in a particular directory in the instruments database
10832                    is changed by issuing the following command:
10833    </p>
10834    <p>
10835                        </p>
10836    <blockquote class="text">
10837    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10838    </p>
10839    </blockquote><p>
10840                    
10841    </p>
10842    <p>Server will start sending the following notification messages:
10843    </p>
10844    <p>
10845                        </p>
10846    <blockquote class="text">
10847    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10848    </p>
10849    </blockquote><p>
10850                    
10851    </p>
10852    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10853                    name of the directory in the instruments database,
10854                    in which the number of directories is changed.
10855    </p>
10856    <p>Note that when a non-empty directory is removed, this event
10857                    is not sent for the subdirectories in that directory.
10858    </p>
10859    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10860    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10861    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10862    Database instrument directory information changed</h3>
10863    
10864    <p>Client may want to be notified when changes were made to directories
10865                    in the instruments database by issuing the following command:
10866    </p>
10867    <p>
10868                        </p>
10869    <blockquote class="text">
10870    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10871    </p>
10872    </blockquote><p>
10873                    
10874    </p>
10875    <p>Server will start sending the following notification messages:
10876    </p>
10877    <p>
10878                        </p>
10879    <blockquote class="text">
10880    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10881    </p>
10882    </blockquote><p>
10883                    
10884    </p>
10885    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10886                    of the directory, for which information changes occurred. The front-end will have to send
10887                    the respective command to actually get the updated directory info. Because these messages
10888                    will be triggered by LSCP commands issued by other clients rather than real
10889                    time events happening on the server, it is believed that an empty notification
10890                    message is sufficient here.
10891    </p>
10892    <p>
10893                        </p>
10894    <blockquote class="text">
10895    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10896    </p>
10897    </blockquote><p>
10898                    
10899    </p>
10900    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
10901                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10902                    the new name of the directory, encapsulated into apostrophes.
10903    </p>
10904    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
10905    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10906    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
10907    Number of database instruments changed</h3>
10908    
10909    <p>Client may want to be notified when the number of instruments
10910                    in a particular directory in the instruments database
10911                    is changed by issuing the following command:
10912    </p>
10913    <p>
10914                        </p>
10915    <blockquote class="text">
10916    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
10917    </p>
10918    </blockquote><p>
10919                    
10920    </p>
10921    <p>Server will start sending the following notification messages:
10922    </p>
10923    <p>
10924                        </p>
10925    <blockquote class="text">
10926    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
10927    </p>
10928    </blockquote><p>
10929                    
10930    </p>
10931    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10932                    name of the directory in the instruments database,
10933                    in which the number of instruments is changed.
10934    </p>
10935    <p>Note that when a non-empty directory is removed, this event
10936                    is not sent for the instruments in that directory.
10937    </p>
10938    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
10939    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10940    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
10941    Database instrument information changed</h3>
10942    
10943    <p>Client may want to be notified when changes were made to instruments
10944                    in the instruments database by issuing the following command:
10945    </p>
10946    <p>
10947                        </p>
10948    <blockquote class="text">
10949    <p>SUBSCRIBE DB_INSTRUMENT_INFO
10950    </p>
10951    </blockquote><p>
10952                    
10953    </p>
10954    <p>Server will start sending the following notification messages:
10955    </p>
10956    <p>
10957                        </p>
10958    <blockquote class="text">
10959    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
10960    </p>
10961    </blockquote><p>
10962                    
10963    </p>
10964    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
10965                    of the instrument, which settings are changed. The front-end will have to send
10966                    the respective command to actually get the updated directory info. Because these messages
10967                    will be triggered by LSCP commands issued by other clients rather than real
10968                    time events happening on the server, it is believed that an empty notification
10969                    message is sufficient here.
10970    </p>
10971    <p>
10972                        </p>
10973    <blockquote class="text">
10974    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
10975    </p>
10976    </blockquote><p>
10977                    
10978    </p>
10979    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
10980                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10981                    the new name of the instrument, encapsulated into apostrophes.
10982    </p>
10983    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
10984    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10985    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10986    Database job status information changed</h3>
10987    
10988    <p>Client may want to be notified when the status of particular database
10989                    instruments job is changed by issuing the following command:
10990    </p>
10991    <p>
10992                        </p>
10993    <blockquote class="text">
10994    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
10995    </p>
10996    </blockquote><p>
10997                    
10998    </p>
10999    <p>Server will start sending the following notification messages:
11000    </p>
11001    <p>
11002                        </p>
11003    <blockquote class="text">
11004    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11005    </p>
11006    </blockquote><p>
11007                    
11008    </p>
11009    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11010                    which status is changed. The front-end will have to send the respective
11011                    command to actually get the status info. Because these messages
11012                    will be triggered by LSCP commands issued by other clients rather than real
11013                    time events happening on the server, it is believed that an empty notification
11014                    message is sufficient here.
11015    </p>
11016    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11017    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11018    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11019    Miscellaneous and debugging events</h3>
11020    
11021  <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
11022                  the server by issuing the following command:                  the server by issuing the following command:
11023  </p>  </p>
11024  <p></p>  <p>
11025                        </p>
11026  <blockquote class="text">  <blockquote class="text">
11027  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
11028  </p>  </p>
11029  </blockquote>  </blockquote><p>
11030                    
11031    </p>
11032  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
11033  </p>  </p>
11034  <p></p>  <p>
11035                        </p>
11036  <blockquote class="text">  <blockquote class="text">
11037  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
11038  </p>  </p>
11039  </blockquote>  </blockquote><p>
11040                    
11041    </p>
11042  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
11043                  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
11044                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11045  </p>  </p>
11046  <a name="anchor15"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11047  <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>
11048  <a name="rfc.section.8"></a><h3>8.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11049    Security Considerations</h3>
11050    
11051  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11052              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
11053              connect, running LinuxSampler might be a security risk for the host              connect, running LinuxSampler might be a security risk for the host
11054              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11055  </p>  </p>
11056  <a name="anchor16"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11057  <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>
11058  <a name="rfc.section.9"></a><h3>9.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11059    Acknowledgments</h3>
11060    
11061  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11062              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
11063              list:              list:
11064  </p>  </p>
11065  <p></p>  <p>
11066                    </p>
11067  <blockquote class="text">  <blockquote class="text">
11068  <p>Rui Nuno Capela  <p>Rui Nuno Capela
11069  </p>  </p>
# Line 4255  Intellectual Property and Copyright Stat Line 11071  Intellectual Property and Copyright Stat
11071  </p>  </p>
11072  <p>Mark Knecht  <p>Mark Knecht
11073  </p>  </p>
11074  </blockquote>  <p>Grigor Iliev
11075    </p>
11076    </blockquote><p>
11077                
11078    </p>
11079  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11080  <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>
11081  <h3>10&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11082  <table width="99%" border="0">  <table width="99%" border="0">
11083    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11084    <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>
11085  <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>
11086  <td class="author-text"><a href="mailto:sob@harvard.edu">Bradner, S.</a>, "<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>", BCP 14, RFC 2119, March 1997 (<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">TXT</a>, <a href="http://xml.resource.org/public/rfc/html/rfc2119.html">HTML</a>, <a href="http://xml.resource.org/public/rfc/xml/rfc2119.xml">XML</a>).</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
11087    <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
11088    <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>
11089    <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
11090    <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>
11091  </table>  </table>
11092    
11093  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11094  <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>
11095  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11096  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11097  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4280  Schoenebeck</td></tr> Line 11105  Schoenebeck</td></tr>
11105  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
11106  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
11107  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
11108  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
11109  <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>
11110  </table>  </table>
11111  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11112  <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>
11113  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11114  <p class='copyright'>  <p class='copyright'>
11115  The IETF takes no position regarding the validity or scope of  Copyright &copy; The IETF Trust (2007).</p>
 any intellectual property or other rights that might be claimed  
 to  pertain to the implementation or use of the technology  
 described in this document or the extent to which any license  
 under such rights might or might not be available; neither does  
 it represent that it has made any effort to identify any such  
 rights. Information on the IETF's procedures with respect to  
 rights in standards-track and standards-related documentation  
 can be found in BCP-11. Copies of claims of rights made  
 available for publication and any assurances of licenses to  
 be made available, or the result of an attempt made  
 to obtain a general license or permission for the use of such  
 proprietary rights by implementors or users of this  
 specification can be obtained from the IETF Secretariat.</p>  
11116  <p class='copyright'>  <p class='copyright'>
11117  The IETF invites any interested party to bring to its  This document is subject to the rights,
11118  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11119  other proprietary rights which may cover technology that may be  and except as set forth therein,
11120  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>  
11121  <p class='copyright'>  <p class='copyright'>
11122  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  This document and the information contained herein are provided
11123    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11124    THE ORGANIZATION HE/SHE REPRESENTS
11125    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11126    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11127    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11128    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11129    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11130    PURPOSE.</p>
11131    <h3>Intellectual Property</h3>
11132  <p class='copyright'>  <p class='copyright'>
11133  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11134  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11135  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11136  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11137  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11138  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11139  document itself may not be modified in any way, such as by removing  such rights.
11140  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11141  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>  
11142  <p class='copyright'>  <p class='copyright'>
11143  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11144  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11145    or the result of an attempt made to obtain a general license or
11146    permission for the use of such proprietary rights by implementers or
11147    users of this specification can be obtained from the IETF on-line IPR
11148    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11149  <p class='copyright'>  <p class='copyright'>
11150  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11151  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11152  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11153  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11154  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11155  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11156    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11157  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11158  <p class='copyright'>  <p class='copyright'>
11159  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11160  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11161  </body></html>  </body></html>
11162    

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

  ViewVC Help
Powered by ViewVC