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

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

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

revision 575 by schoenebeck, Tue May 24 03:26:22 2005 UTC revision 2139 by schoenebeck, Mon Oct 4 22:17:58 2010 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.25 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.35 (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; }
         font-family: helvetica, arial, sans-serif;  
         background-color: transparent; }  
     td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;  
         text-align: justify; vertical-align: middle ; padding-top: 2px ; }  
     td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;  
         background-color: #000000 ;  
         font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;  
         font-size: x-small ; }  
     td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;  
         text-align: center ;  
         font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;  
         font-size: x-small ; background-color: #000000; }  
 /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */  
     div#counter{margin-top: 100px}  
   
     a.info{  
         position:relative; /*this is the key*/  
         z-index:24;  
         text-decoration:none}  
   
     a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}  
   
     a.info span{display: none}  
   
     a.info:hover span{ /*the span will display just on :hover state*/  
         display:block;  
         position:absolute;  
         font-size: smaller ;  
         top:2em; left:2em; width:15em;  
         padding: 2px ;  
         border:1px solid #333333;  
         background-color:#eeeeee; color:#990000;  
         text-align: left ;}  
   
      A { font-weight: bold; }  
      A:link { color: #990000; background-color: transparent ; }  
      A:visited { color: #333333; background-color: transparent ; }  
      A:active { color: #333333; background-color: transparent ; }  
   
     p { margin-left: 2em; margin-right: 2em; }  
     p.copyright { font-size: x-small ; }  
     p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb { font-family: "Courier New", Courier, monospace ; }  
   
     ol.text { margin-left: 2em; margin-right: 2em; }  
     ul.text { margin-left: 2em; margin-right: 2em; }  
     li { margin-left: 3em;  }  
19    
20      pre { margin-left: 3em; color: #333333;  background-color: transparent;          td.RFCbug {
21          font-family: "Courier New", Courier, monospace ; font-size: small ;                  font-size: x-small; text-decoration: none;
22                    width: 30px; height: 30px; padding-top: 2px;
23                    text-align: justify; vertical-align: middle;
24                    background-color: #000;
25            }
26            td.RFCbug span.RFC {
27                    font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28                    font-weight: bold; color: #666;
29            }
30            td.RFCbug span.hotText {
31                    font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32                    font-weight: normal; text-align: center; color: #FFF;
33          }          }
34    
35      h3 { color: #333333; font-size: medium ;          table.TOCbug { width: 30px; height: 15px; }
36          font-family: helvetica, arial, sans-serif ;          td.TOCbug {
37          background-color: transparent; }                  text-align: center; width: 30px; height: 15px;
38      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #FFF; background-color: #900;
39            }
40      table.bug { width: 30px ; height: 15px ; }          td.TOCbug a {
41      td.bug { color: #ffffff ; background-color: #990000 ;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42          text-align: center ; width: 30px ; height: 15px ;                  font-weight: bold; font-size: x-small; text-decoration: none;
43           }                  color: #FFF; background-color: transparent;
44      td.bug A.link2 { color: #ffffff ; font-weight: bold;          }
45          text-decoration: none;  
46          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;          td.header {
47          font-size: x-small ; background-color: transparent }                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48                    vertical-align: top; width: 33%;
49      td.header { color: #ffffff; font-size: x-small ;                  color: #FFF; background-color: #666;
50          font-family: arial, helvetica, sans-serif; vertical-align: top;          }
51          background-color: #666666 ; width: 33% ; }          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }          td.author-text { font-size: x-small; }
53      td.author-text { font-size: x-small; }  
54      table.data { vertical-align: top ; border-collapse: collapse ;          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55          border-style: solid solid solid solid ;          a.info {
56          border-color: black black black black ;                  /* This is the key. */
57          font-size: small ; text-align: center ; }                  position: relative;
58      table.data th { font-weight: bold ;                  z-index: 24;
59          border-style: solid solid solid solid ;                  text-decoration: none;
60          border-color: black black black black ; }          }
61      table.data td {          a.info:hover {
62          border-style: solid solid solid solid ;                  z-index: 25;
63          border-color: #333333 #333333 #333333 #333333 ; }                  color: #FFF; background-color: #900;
64            }
65      hr { height: 1px }          a.info span { display: none; }
66  -->          a.info:hover span.info {
67  </style>                  /* The span will display just on :hover state. */
68                    display: block;
69                    position: absolute;
70                    font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72                    padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74                    text-align: left;
75            }
76    
77            a { font-weight: bold; }
78            a:link    { color: #900; background-color: transparent; }
79            a:visited { color: #633; background-color: transparent; }
80            a:active  { color: #633; background-color: transparent; }
81    
82            p { margin-left: 2em; margin-right: 2em; }
83            p.copyright { font-size: x-small; }
84            p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85            table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86            td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88            ol.text { margin-left: 2em; margin-right: 2em; }
89            ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91    
92            /* RFC-2629 <spanx>s and <artwork>s. */
93            em     { font-style: italic; }
94            strong { font-weight: bold; }
95            dfn    { font-weight: bold; font-style: normal; }
96            cite   { font-weight: normal; font-style: normal; }
97            tt     { color: #036; }
98            tt, pre, pre dfn, pre em, pre cite, pre span {
99                    font-family: "Courier New", Courier, monospace; font-size: small;
100            }
101            pre {
102                    text-align: left; padding: 4px;
103                    color: #000; background-color: #CCC;
104            }
105            pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107            pre .key { color: #33C; font-weight: bold; }
108            pre .id  { color: #900; }
109            pre .str { color: #000; background-color: #CFF; }
110            pre .val { color: #066; }
111            pre .rep { color: #909; }
112            pre .oth { color: #000; background-color: #FCF; }
113            pre .err { background-color: #FCC; }
114    
115            /* RFC-2629 <texttable>s. */
116            table.all, table.full, table.headers, table.none {
117                    font-size: small; text-align: center; border-width: 2px;
118                    vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></style>
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: November 22, 2005</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">&nbsp;</td><td class="header">May 24, 2005</td></tr>  <tr><td class="header">Expires: April 8, 2011</td><td class="header">October 5, 2010</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.5</h1>
 <div align="right"><span class="title"><br />LSCP 1.0</span></div>  
151    
152    <h3>Abstract</h3>
153    
154    <p>The LinuxSampler Control Protocol (LSCP) is an
155                application-level protocol primarily intended for local and
156                remote controlling the LinuxSampler backend application, which is a
157                sophisticated server-like console application essentially playing
158                back audio samples and manipulating the samples in real time to
159                certain extent.
160    </p>
161  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
162  <p>  <p>
163  This document is an Internet-Draft and is  By submitting this Internet-Draft,
164  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
165    he or she is aware have been or will be disclosed,
166    and any of which he or she becomes aware will be disclosed,
167    in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
168  <p>  <p>
169  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
170  Task Force (IETF), its areas, and its working groups.  Task Force (IETF).  Note that other groups may also distribute
171  Note that other groups may also distribute working documents as  working documents as Internet-Drafts.  The list of current
172  Internet-Drafts.</p>  Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.</p>
173  <p>  <p>
174  Internet-Drafts are draft documents valid for a maximum of six months  Internet-Drafts are draft documents valid for a maximum of six months
175  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.
176  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
177  them other than as "work in progress."</p>  them other than as &ldquo;work in progress.&rdquo;</p>
 <p>  
 The list of current Internet-Drafts can be accessed at  
 <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>  
 <p>  
 The list of Internet-Draft Shadow Directories can be accessed at  
 <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  
178  <p>  <p>
179  This Internet-Draft will expire on November 22, 2005.</p>  This Internet-Draft will expire on April 8, 2011.</p>
180    <a name="toc"></a><br /><hr />
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  
   
 <h3>Abstract</h3>  
   
 <p>The LinuxSampler Control Protocol (LSCP) is an  
             application-level protocol primarily intended for local and  
             remote controlling the LinuxSampler backend application, which is a  
             sophisticated server-like console application essentially playing  
             back audio samples and manipulating the samples in real time to  
             certain extent.  
 </p><a name="toc"></a><br /><hr />  
181  <h3>Table of Contents</h3>  <h3>Table of Contents</h3>
182  <p class="toc">  <p class="toc">
183  <a href="#anchor1">1.</a>&nbsp;  <a href="#anchor1">1.</a>&nbsp;
# Line 164  Introduction<br /> Line 190  Introduction<br />
190  Focus of this protocol<br />  Focus of this protocol<br />
191  <a href="#anchor4">5.</a>&nbsp;  <a href="#anchor4">5.</a>&nbsp;
192  Communication Overview<br />  Communication Overview<br />
193  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor5">5.1.</a>&nbsp;
194  Request/response communication method<br />  Request/response communication method<br />
195  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">5.1.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor6">5.1.1.</a>&nbsp;
196  Result format<br />  Result format<br />
197  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor7">5.2.</a>&nbsp;
198  Subscribe/notify communication method<br />  Subscribe/notify communication method<br />
199  <a href="#control_commands">6.</a>&nbsp;  <a href="#control_commands">6.</a>&nbsp;
200  Description for control commands<br />  Description for control commands<br />
201  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">6.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor8">6.1.</a>&nbsp;
202  Ignored lines and comments<br />  Ignored lines and comments<br />
203  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">6.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor9">6.2.</a>&nbsp;
204  Configuring audio drivers<br />  Configuring audio drivers<br />
205  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1.</a>&nbsp;
206  Getting amount of available audio output drivers<br />  Getting amount of available audio output drivers<br />
207  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2.</a>&nbsp;
208  Getting all available audio output drivers<br />  Getting all available audio output drivers<br />
209  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER INFO">6.2.3.</a>&nbsp;
210  Getting information about a specific audio  Getting information about a specific audio
211                  output driver<br />                  output driver<br />
212  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4.</a>&nbsp;
213  Getting information about specific audio  Getting information about specific audio
214                  output driver parameter<br />                  output driver parameter<br />
215  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE AUDIO_OUTPUT_DEVICE">6.2.5.</a>&nbsp;
216  Creating an audio output device<br />  Creating an audio output device<br />
217  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY AUDIO_OUTPUT_DEVICE">6.2.6.</a>&nbsp;
218  Destroying an audio output device<br />  Destroying an audio output device<br />
219  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">6.2.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICES">6.2.7.</a>&nbsp;
220  Getting all created audio output device count<br />  Getting all created audio output device count<br />
221  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">6.2.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AUDIO_OUTPUT_DEVICES">6.2.8.</a>&nbsp;
222  Getting all created audio output device list<br />  Getting all created audio output device list<br />
223  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_DEVICE INFO">6.2.9.</a>&nbsp;
224  Getting current settings of an audio output device<br />  Getting current settings of an audio output device<br />
225  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10.</a>&nbsp;
226  Changing settings of audio output devices<br />  Changing settings of audio output devices<br />
227  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11.</a>&nbsp;
228  Getting information about an audio channel<br />  Getting information about an audio channel<br />
229  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12.</a>&nbsp;
230  Getting information about specific audio channel parameter<br />  Getting information about specific audio channel parameter<br />
231  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13.</a>&nbsp;
232  Changing settings of audio output channels<br />  Changing settings of audio output channels<br />
233  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">6.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor10">6.3.</a>&nbsp;
234  Configuring MIDI input drivers<br />  Configuring MIDI input drivers<br />
235  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1.</a>&nbsp;
236  Getting amount of available MIDI input drivers<br />  Getting amount of available MIDI input drivers<br />
237  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2.</a>&nbsp;
238  Getting all available MIDI input drivers<br />  Getting all available MIDI input drivers<br />
239  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">6.3.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER INFO">6.3.3.</a>&nbsp;
240  Getting information about a specific MIDI input driver<br />  Getting information about a specific MIDI input driver<br />
241  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4.</a>&nbsp;
242  Getting information about specific MIDI input driver parameter<br />  Getting information about specific MIDI input driver parameter<br />
243  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">6.3.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE MIDI_INPUT_DEVICE">6.3.5.</a>&nbsp;
244  Creating a MIDI input device<br />  Creating a MIDI input device<br />
245  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">6.3.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY MIDI_INPUT_DEVICE">6.3.6.</a>&nbsp;
246  Destroying a MIDI input device<br />  Destroying a MIDI input device<br />
247  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">6.3.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICES">6.3.7.</a>&nbsp;
248  Getting all created MIDI input device count<br />  Getting all created MIDI input device count<br />
249  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">6.3.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INPUT_DEVICES">6.3.8.</a>&nbsp;
250  Getting all created MIDI input device list<br />  Getting all created MIDI input device list<br />
251  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">6.3.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_DEVICE INFO">6.3.9.</a>&nbsp;
252  Getting current settings of a MIDI input device<br />  Getting current settings of a MIDI input device<br />
253  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10.</a>&nbsp;
254  Changing settings of MIDI input devices<br />  Changing settings of MIDI input devices<br />
255  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">6.3.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT INFO">6.3.11.</a>&nbsp;
256  Getting information about a MIDI port<br />  Getting information about a MIDI port<br />
257  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12.</a>&nbsp;
258  Getting information about specific MIDI port parameter<br />  Getting information about specific MIDI port parameter<br />
259  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INPUT_PORT_PARAMETER">6.3.13.</a>&nbsp;
260  Changing settings of MIDI input ports<br />  Changing settings of MIDI input ports<br />
261  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">6.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor11">6.4.</a>&nbsp;
262  Configuring sampler channels<br />  Configuring sampler channels<br />
263  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">6.4.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD INSTRUMENT">6.4.1.</a>&nbsp;
264  Loading an instrument<br />  Loading an instrument<br />
265  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">6.4.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LOAD ENGINE">6.4.2.</a>&nbsp;
266  Loading a sampler engine<br />  Loading a sampler engine<br />
267  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">6.4.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNELS">6.4.3.</a>&nbsp;
268  Getting all created sampler channel count<br />  Getting all created sampler channel count<br />
269  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">6.4.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST CHANNELS">6.4.4.</a>&nbsp;
270  Getting all created sampler channel list<br />  Getting all created sampler channel list<br />
271  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">6.4.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD CHANNEL">6.4.5.</a>&nbsp;
272  Adding a new sampler channel<br />  Adding a new sampler channel<br />
273  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">6.4.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE CHANNEL">6.4.6.</a>&nbsp;
274  Removing a sampler channel<br />  Removing a sampler channel<br />
275  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">6.4.7</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_ENGINES">6.4.7.</a>&nbsp;
276  Getting amount of available engines<br />  Getting amount of available engines<br />
277  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">6.4.8</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_ENGINES">6.4.8.</a>&nbsp;
278  Getting all available engines<br />  Getting all available engines<br />
279  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">6.4.9</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET ENGINE INFO">6.4.9.</a>&nbsp;
280  Getting information about an engine<br />  Getting information about an engine<br />
281  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">6.4.10</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL INFO">6.4.10.</a>&nbsp;
282  Getting sampler channel information<br />  Getting sampler channel information<br />
283  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">6.4.11</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL VOICE_COUNT">6.4.11.</a>&nbsp;
284  Current number of active voices<br />  Current number of active voices<br />
285  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">6.4.12</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL STREAM_COUNT">6.4.12.</a>&nbsp;
286  Current number of active disk streams<br />  Current number of active disk streams<br />
287  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">6.4.13</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET CHANNEL BUFFER_FILL">6.4.13.</a>&nbsp;
288  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
289  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;
290  Setting audio output device<br />  Setting audio output device<br />
291  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYPE">6.4.15.</a>&nbsp;
292  Setting audio output type<br />  Setting audio output type<br />
293  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;
294  Setting audio output channel<br />  Setting audio output channel<br />
295  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_DEVICE">6.4.17.</a>&nbsp;
296  Setting MIDI input device<br />  Setting MIDI input device<br />
297  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_TYPE">6.4.18.</a>&nbsp;
298  Setting MIDI input type<br />  Setting MIDI input type<br />
299  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">6.4.19</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_PORT">6.4.19.</a>&nbsp;
300  Setting MIDI input port<br />  Setting MIDI input port<br />
301  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20.</a>&nbsp;
302  Setting MIDI input channel<br />  Setting MIDI input channel<br />
303  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">6.4.21</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL VOLUME">6.4.21.</a>&nbsp;
304  Setting channel volume<br />  Setting channel volume<br />
305  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.22</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MUTE">6.4.22.</a>&nbsp;
306    Muting a sampler channel<br />
307    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
308    Soloing a sampler channel<br />
309    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
310    Assigning a MIDI instrument map to a sampler channel<br />
311    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
312    Adding an effect send to a sampler channel<br />
313    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
314    Removing an effect send from a sampler channel<br />
315    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
316    Getting amount of effect sends on a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
318    Listing all effect sends on a sampler channel<br />
319    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
320    Getting effect send information<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
322    Changing effect send's name<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
324    Altering effect send's audio routing<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND SEND_EFFECT">6.4.32.</a>&nbsp;
326    Assigning destination effect to an effect send<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE FX_SEND SEND_EFFECT">6.4.33.</a>&nbsp;
328    Removing destination effect from an effect send<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.34.</a>&nbsp;
330    Altering effect send's MIDI controller<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.35.</a>&nbsp;
332    Altering effect send's send level<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SEND CHANNEL MIDI_DATA">6.4.36.</a>&nbsp;
334    Sending MIDI messages to sampler channel<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.37.</a>&nbsp;
336  Resetting a sampler channel<br />  Resetting a sampler channel<br />
337  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
338  Controlling connection<br />  Controlling connection<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE">6.5.1.</a>&nbsp;
340  Register front-end for receiving event messages<br />  Register front-end for receiving event messages<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNSUBSCRIBE">6.5.2.</a>&nbsp;
342  Unregister front-end for not receiving event messages<br />  Unregister front-end for not receiving event messages<br />
343  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET ECHO">6.5.3.</a>&nbsp;
344  Enable or disable echo of commands<br />  Enable or disable echo of commands<br />
345  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#QUIT">6.5.4.</a>&nbsp;
346  Close client connection<br />  Close client connection<br />
347  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor13">6.6.</a>&nbsp;
348  Global commands<br />  Global commands<br />
349  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT">6.6.1.</a>&nbsp;
350    Current number of active voices<br />
351    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
352    Maximum amount of active voices<br />
353    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
354    Current number of active disk streams<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
356  Reset sampler<br />  Reset sampler<br />
357  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
358  General sampler informations<br />  General sampler informations<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
360    Getting global volume attenuation<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
362    Setting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOICES">6.6.8.</a>&nbsp;
364    Getting global voice limit<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOICES">6.6.9.</a>&nbsp;
366    Setting global voice limit<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET STREAMS">6.6.10.</a>&nbsp;
368    Getting global disk stream limit<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET STREAMS">6.6.11.</a>&nbsp;
370    Setting global disk stream limit<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
372    MIDI Instrument Mapping<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
374    Create a new MIDI instrument map<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
376    Delete one particular or all MIDI instrument maps<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
378    Get amount of existing MIDI instrument maps<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
380    Getting all created MIDI instrument maps<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
382    Getting MIDI instrument map information<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
384    Renaming a MIDI instrument map<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
386    Create or replace a MIDI instrument map entry<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
388    Getting ammount of MIDI instrument map entries<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
390    Getting indeces of all entries of a MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
392    Remove an entry from the MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
394    Get current settings of MIDI instrument map entry<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
396    Clear MIDI instrument map<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
398    Managing Instruments Database<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
400    Creating a new instrument directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
402    Deleting an instrument directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
404    Getting amount of instrument directories<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
406    Listing all directories in specific directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
408    Getting instrument directory information<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
410    Renaming an instrument directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
412    Moving an instrument directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
414    Copying instrument directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
416    Changing the description of directory<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
418    Finding directories<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
420    Adding instruments to the instruments database<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
422    Removing an instrument<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
424    Getting amount of instruments<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
426    Listing all instruments in specific directory<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
428    Getting instrument information<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
430    Renaming an instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
432    Moving an instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
434    Copying instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
436    Changing the description of instrument<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
438    Finding instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
440    Getting job status information<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
442    Formatting the instruments database<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
444    Checking for lost instrument files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
446    Replacing an instrument file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
448    Editing Instruments<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
450    Opening an appropriate instrument editor application<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
452    Managing Files<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
454    Retrieving amount of instruments of a file<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
456    Retrieving all instruments of a file<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
458    Retrieving informations about one instrument in a file<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#effects">6.11.</a>&nbsp;
460    Managing Effects<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_EFFECTS">6.11.1.</a>&nbsp;
462    Retrieve amount of available effects<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_EFFECTS">6.11.2.</a>&nbsp;
464    Get list of available effects<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT INFO">6.11.3.</a>&nbsp;
466    Retrieving general information about an effect<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE EFFECT_INSTANCE">6.11.4.</a>&nbsp;
468    Creating an instance of an effect by its portable ID<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE EFFECT_INSTANCE (non-portable)">6.11.5.</a>&nbsp;
470    Creating an instance of an effect by its numerical ID<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY EFFECT_INSTANCE">6.11.6.</a>&nbsp;
472    Destroy an effect instance<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCES">6.11.7.</a>&nbsp;
474    Retrieve amount of effect instances<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST EFFECT_INSTANCES">6.11.8.</a>&nbsp;
476    Get list of effect instances<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCE INFO">6.11.9.</a>&nbsp;
478    Retrieving current information about an effect instance<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCE_INPUT_CONTROL INFO">6.11.10.</a>&nbsp;
480    Retrieving information about an effect parameter<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET EFFECT_INSTANCE_INPUT_CONTROL VALUE">6.11.11.</a>&nbsp;
482    Altering an effect parameter<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SEND_EFFECT_CHAINS">6.11.12.</a>&nbsp;
484    Retrieve amount of send effect chains<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST SEND_EFFECT_CHAINS">6.11.13.</a>&nbsp;
486    Retrieve list of send effect chains<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD SEND_EFFECT_CHAIN">6.11.14.</a>&nbsp;
488    Add send effect chain<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE SEND_EFFECT_CHAIN">6.11.15.</a>&nbsp;
490    Remove send effect chain<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SEND_EFFECT_CHAIN INFO">6.11.16.</a>&nbsp;
492    Retrieving information about a send effect chain<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#APPEND SEND_EFFECT_CHAIN EFFECT">6.11.17.</a>&nbsp;
494    Append effect instance to a send effect chain<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#INSERT SEND_EFFECT_CHAIN EFFECT">6.11.18.</a>&nbsp;
496    Insert effect instance to a send effect chain<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE SEND_EFFECT_CHAIN EFFECT">6.11.19.</a>&nbsp;
498    Remove effect instance from send effect chain<br />
499  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
500  Command Syntax<br />  Command Syntax<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
502    Character Set and Escape Sequences<br />
503  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
504  Events<br />  Events<br />
505  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL">8.1</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
506    Number of audio output devices changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
508    Audio output device's settings changed<br />
509    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
510    Number of MIDI input devices changed<br />
511    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
512    MIDI input device's settings changed<br />
513    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
514  Number of sampler channels changed<br />  Number of sampler channels changed<br />
515  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
516    MIDI data on a sampler channel arrived<br />
517    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
518    MIDI data on a MIDI input device arrived<br />
519    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
520  Number of active voices changed<br />  Number of active voices changed<br />
521  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.9.</a>&nbsp;
522  Number of active disk streams changed<br />  Number of active disk streams changed<br />
523  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.10.</a>&nbsp;
524  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
525  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.11.</a>&nbsp;
526  Channel information changed<br />  Channel information changed<br />
527  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.12.</a>&nbsp;
528    Number of effect sends changed<br />
529    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
530    Effect send information changed<br />
531    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.14.</a>&nbsp;
532    Total number of active voices changed<br />
533    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.15.</a>&nbsp;
534    Total number of active disk streams changed<br />
535    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
536    Number of MIDI instrument maps changed<br />
537    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
538    MIDI instrument map information changed<br />
539    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
540    Number of MIDI instruments changed<br />
541    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
542    MIDI instrument information changed<br />
543    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
544    Global settings changed<br />
545    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
546    Number of database instrument directories changed<br />
547    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
548    Database instrument directory information changed<br />
549    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
550    Number of database instruments changed<br />
551    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
552    Database instrument information changed<br />
553    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
554    Database job status information changed<br />
555    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
556  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
557  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
558  Security Considerations<br />  Security Considerations<br />
# Line 324  Intellectual Property and Copyright Stat Line 568  Intellectual Property and Copyright Stat
568  <br clear="all" />  <br clear="all" />
569    
570  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
571  <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>
572  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
573    Requirements notation</h3>
574    
575  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
576              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
577              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
578              described in <a class="info" href="#RFC2119">[RFC2119]<span>Bradner, S., Key words for use in RFCs to Indicate Requirement Levels, 1997.</span></a>.              described in <a class='info' href='#RFC2119'>[RFC2119]<span> (</span><span class='info'>Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; 1997.</span><span>)</span></a>.
579  </p>  </p>
580  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
581              claimed the opposite.              claimed the opposite.
# Line 339  Intellectual Property and Copyright Stat Line 584  Intellectual Property and Copyright Stat
584              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
585              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
586              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
587              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>),
588              example:              thus the following example:
589  </p>  </p>
590  <p></p>  <p>
591                    </p>
592  <blockquote class="text">  <blockquote class="text">
593  <p>C: "some line"  <p>C: "some line"
594  </p>  </p>
595  <p>&nbsp;&nbsp;&nbsp;"another line"  <p>&nbsp;&nbsp;&nbsp;"another line"
596  </p>  </p>
597  </blockquote>  </blockquote><p>
598                
599    </p>
600  <p>must actually be interpreted as client sending the following  <p>must actually be interpreted as client sending the following
601              message:              message:
602  </p>  </p>
603  <p></p>  <p>
604                    </p>
605  <blockquote class="text">  <blockquote class="text">
606  <p>"some line&lt;CR&gt;&lt;LF&gt;another  <p>"some line&lt;CR&gt;&lt;LF&gt;another
607                      line&lt;CR&gt;&lt;LF&gt;"                      line&lt;CR&gt;&lt;LF&gt;"
608  </p>  </p>
609  </blockquote>  </blockquote><p>
610                
611    </p>
612  <p>where &lt;CR&gt; symbolizes the carriage return character and  <p>where &lt;CR&gt; symbolizes the carriage return character and
613              &lt;LF&gt; the line feed character as defined in the ASCII              &lt;LF&gt; the line feed character as defined in the ASCII
614              standard.              standard.
# Line 367  Intellectual Property and Copyright Stat Line 616  Intellectual Property and Copyright Stat
616  <p>Due to technical reasons, messages can arbitrary be  <p>Due to technical reasons, messages can arbitrary be
617              fragmented, means the following example:              fragmented, means the following example:
618  </p>  </p>
619  <p></p>  <p>
620                    </p>
621  <blockquote class="text">  <blockquote class="text">
622  <p>S: "abcd"  <p>S: "abcd"
623  </p>  </p>
624  </blockquote>  </blockquote><p>
625                
626    </p>
627  <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
628              following sequence scenario:              following sequence scenario:
629  </p>  </p>
630  <p></p>  <p>
631                    </p>
632  <ul class="text">  <ul class="text">
633  <li>server sending message "a"  <li>server sending message "a"
634  </li>  </li>
# Line 392  Intellectual Property and Copyright Stat Line 644  Intellectual Property and Copyright Stat
644  <li>followed by server sending the message  <li>followed by server sending the message
645                      "&lt;LF&gt;"                      "&lt;LF&gt;"
646  </li>  </li>
647  </ul>  </ul><p>
648                
649    </p>
650  <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
651              return and line feed characters respectively.              return and line feed characters respectively.
652  </p>  </p>
653  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
654  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
655  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
656    Versioning of this specification</h3>
657    
658  <p>LSCP will certainly be extended and enhanced by-and-by. Each official  <p>LSCP will certainly be extended and enhanced by-and-by. Each official
659              release of the LSCP specification will be tagged with a unique version              release of the LSCP specification will be tagged with a unique version
# Line 407  Intellectual Property and Copyright Stat Line 661  Intellectual Property and Copyright Stat
661              number like:              number like:
662                            
663  </p>  </p>
664  <p></p>  <p>
665                    </p>
666  <blockquote class="text">  <blockquote class="text">
667  <p>"1.2"  <p>"1.2"
668  </p>  </p>
669  </blockquote>  </blockquote><p>
670                
671    </p>
672  <p>  <p>
673              In this example the major version number would be "1" and the minor              In this example the major version number would be "1" and the minor
674              version number would be "2". Note that the version tuple might also              version number would be "2". Note that the version tuple might also
# Line 425  Intellectual Property and Copyright Stat Line 681  Intellectual Property and Copyright Stat
681  </p>  </p>
682  <p>Compatibility:  <p>Compatibility:
683  </p>  </p>
684  <p></p>  <p>
685                    </p>
686  <ol class="text">  <ol class="text">
687  <li>The frontend's LSCP major version and the sampler's LSCP  <li>The frontend's LSCP major version and the sampler's LSCP
688                      major version are exactly equal.                      major version are exactly equal.
# Line 433  Intellectual Property and Copyright Stat Line 690  Intellectual Property and Copyright Stat
690  <li>The frontend's LSCP minor version is less or equal than  <li>The frontend's LSCP minor version is less or equal than
691                      the sampler's LSCP minor version.                      the sampler's LSCP minor version.
692  </li>  </li>
693  </ol>  </ol><p>
694                
695    </p>
696  <p>  <p>
697              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
698              The frontend can use the              The frontend can use the
699              <a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span>General sampler informations</span></a> command to              <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
700              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
701                            
702  </p>  </p>
703  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
704  <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>
705  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
706    Introduction</h3>
707    
708  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
709              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 464  Intellectual Property and Copyright Stat Line 723  Intellectual Property and Copyright Stat
723              there.              there.
724  </p>  </p>
725  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
726  <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>
727  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
728    Focus of this protocol</h3>
729    
730  <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
731              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 476  Intellectual Property and Copyright Stat Line 736  Intellectual Property and Copyright Stat
736              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
737  </p>  </p>
738  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
739  <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>
740  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
741    Communication Overview</h3>
742    
743  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
744              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 490  Intellectual Property and Copyright Stat Line 751  Intellectual Property and Copyright Stat
751              implemented in the front-end application. The two communication              implemented in the front-end application. The two communication
752              methods will be described next.              methods will be described next.
753  </p>  </p>
754  <a name="rfc.section.5.1"></a><h4><a name="anchor5">5.1</a>&nbsp;Request/response communication method</h4>  <a name="anchor5"></a><br /><hr />
755    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
756    <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
757    Request/response communication method</h3>
758    
759  <p>This simple communication method is based on  <p>This simple communication method is based on
760                  <a class="info" href="#RFC793">TCP<span>Defense Advanced Research Projects Agency, TRANSMISSION CONTROL PROTOCOL, 1981.</span></a>[RFC793]. The                  <a class='info' href='#RFC793'>TCP<span> (</span><span class='info'>Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The
761                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
762                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
763                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 533  Intellectual Property and Copyright Stat Line 797  Intellectual Property and Copyright Stat
797                  processed in the order they were received and result sets                  processed in the order they were received and result sets
798                  MUST be sent back in the same order.                  MUST be sent back in the same order.
799  </p>  </p>
800  <a name="rfc.section.5.1.1"></a><h4><a name="anchor6">5.1.1</a>&nbsp;Result format</h4>  <a name="anchor6"></a><br /><hr />
801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
802    <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
803    Result format</h3>
804    
805  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
806  </p>  </p>
807  <p></p>  <p>
808                            </p>
809  <ol class="text">  <ol class="text">
810  <li>Normal  <li>Normal
811  </li>  </li>
# Line 545  Intellectual Property and Copyright Stat Line 813  Intellectual Property and Copyright Stat
813  </li>  </li>
814  <li>Error  <li>Error
815  </li>  </li>
816  </ol>  </ol><p>
817                        
818    </p>
819  <p>Warning and Error result sets MUST be single line and  <p>Warning and Error result sets MUST be single line and
820                      have the following format:                      have the following format:
821  </p>  </p>
822  <p></p>  <p>
823                            </p>
824  <ul class="text">  <ul class="text">
825  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"  <li>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;"
826  </li>  </li>
827  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"  <li>"ERR:&lt;error-code&gt;:&lt;error-message&gt;"
828  </li>  </li>
829  </ul>  </ul><p>
830                        
831    </p>
832  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are  <p>Where &lt;warning-code&gt; and &lt;error-code&gt; are
833                      numeric unique identifiers of the warning or error and                      numeric unique identifiers of the warning or error and
834                      &lt;warning-message&gt; and &lt;error-message&gt; are                      &lt;warning-message&gt; and &lt;error-message&gt; are
# Line 566  Intellectual Property and Copyright Stat Line 837  Intellectual Property and Copyright Stat
837  </p>  </p>
838  <p>Examples:  <p>Examples:
839  </p>  </p>
840  <p></p>  <p>
841                            </p>
842  <blockquote class="text">  <blockquote class="text">
843  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0  <p>C: "LOAD INSTRUMENT '/home/me/Boesendorfer24bit.gig" 0 0
844  </p>  </p>
845  <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."
846  </p>  </p>
847  </blockquote>  </blockquote><p>
848                        
849  <p></p>  </p>
850    <p>
851                            </p>
852  <blockquote class="text">  <blockquote class="text">
853  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA EAR"
854  </p>  </p>
855  <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'."
856  </p>  </p>
857  </blockquote>  </blockquote><p>
858                        
859  <p></p>  </p>
860    <p>
861                            </p>
862  <blockquote class="text">  <blockquote class="text">
863  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 123456"
864  </p>  </p>
865  <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."
866  </p>  </p>
867  </blockquote>  </blockquote><p>
868                        
869    </p>
870  <p>Normal result sets could be:  <p>Normal result sets could be:
871  </p>  </p>
872  <p></p>  <p>
873                            </p>
874  <ol class="text">  <ol class="text">
875  <li>Empty  <li>Empty
876  </li>  </li>
# Line 600  Intellectual Property and Copyright Stat Line 878  Intellectual Property and Copyright Stat
878  </li>  </li>
879  <li>Multi-line  <li>Multi-line
880  </li>  </li>
881  </ol>  </ol><p>
882                        
883    </p>
884  <p> Empty result set is issued when the server only  <p> Empty result set is issued when the server only
885                      needed to acknowledge the fact that the request was                      needed to acknowledge the fact that the request was
886                      received and it was processed successfully and no                      received and it was processed successfully and no
887                      additional information is available. This result set has                      additional information is available. This result set has
888                      the following format:                      the following format:
889  </p>  </p>
890  <p></p>  <p>
891                            </p>
892  <blockquote class="text">  <blockquote class="text">
893  <p>"OK"  <p>"OK"
894  </p>  </p>
895  </blockquote>  </blockquote><p>
896                        
897    </p>
898  <p>Example:  <p>Example:
899  </p>  </p>
900  <p></p>  <p>
901                            </p>
902  <blockquote class="text">  <blockquote class="text">
903  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 CHANNELS=4"
904  </p>  </p>
905  <p>S: "OK"  <p>S: "OK"
906  </p>  </p>
907  </blockquote>  </blockquote><p>
908                        
909    </p>
910  <p>Single line result sets are command specific. One  <p>Single line result sets are command specific. One
911                      example of a single line result set is an empty line.                      example of a single line result set is an empty line.
912                      Multi-line result sets are command specific and may                      Multi-line result sets are command specific and may
913                      include one or more lines of information. They MUST                      include one or more lines of information. They MUST
914                      always end with the following line:                      always end with the following line:
915  </p>  </p>
916  <p></p>  <p>
917                            </p>
918  <blockquote class="text">  <blockquote class="text">
919  <p>"."  <p>"."
920  </p>  </p>
921  </blockquote>  </blockquote><p>
922                        
923    </p>
924  <p>Example:  <p>Example:
925  </p>  </p>
926  <p></p>  <p>
927                            </p>
928  <blockquote class="text">  <blockquote class="text">
929  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
930  </p>  </p>
# Line 658  Intellectual Property and Copyright Stat Line 944  Intellectual Property and Copyright Stat
944  </p>  </p>
945  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
946  </p>  </p>
947  </blockquote>  </blockquote><p>
948                        
949    </p>
950  <p>In addition to above mentioned formats, warnings and  <p>In addition to above mentioned formats, warnings and
951                      empty result sets MAY be indexed. In this case, they                      empty result sets MAY be indexed. In this case, they
952                      have the following formats respectively:                      have the following formats respectively:
953  </p>  </p>
954  <p></p>  <p>
955                            </p>
956  <ul class="text">  <ul class="text">
957  <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;"
958  </li>  </li>
959  <li>"OK[&lt;index&gt;]"  <li>"OK[&lt;index&gt;]"
960  </li>  </li>
961  </ul>  </ul><p>
962                        
963    </p>
964  <p>where &lt;index&gt; is command specific and is used  <p>where &lt;index&gt; is command specific and is used
965                      to indicate channel number that the result set was                      to indicate channel number that the result set was
966                      related to or other integer value.                      related to or other integer value.
# Line 681  Intellectual Property and Copyright Stat Line 970  Intellectual Property and Copyright Stat
970  </p>  </p>
971  <p>Examples:  <p>Examples:
972  </p>  </p>
973  <p></p>  <p>
974                            </p>
975  <blockquote class="text">  <blockquote class="text">
976  <p>C: "ADD CHANNEL"  <p>C: "ADD CHANNEL"
977  </p>  </p>
978  <p>S: "OK[12]"  <p>S: "OK[12]"
979  </p>  </p>
980  </blockquote>  </blockquote><p>
981                        
982  <p></p>  </p>
983    <p>
984                            </p>
985  <blockquote class="text">  <blockquote class="text">
986  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA SAMPLERATE=96000"
987  </p>  </p>
988  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."  <p>S: "WRN[0]:32:Sample rate not supported, using 44100 instead."
989  </p>  </p>
990  </blockquote>  </blockquote><p>
991                        
992  <a name="rfc.section.5.2"></a><h4><a name="anchor7">5.2</a>&nbsp;Subscribe/notify communication method</h4>  </p>
993    <a name="anchor7"></a><br /><hr />
994    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
995    <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
996    Subscribe/notify communication method</h3>
997    
998  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
999                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 709  Intellectual Property and Copyright Stat Line 1005  Intellectual Property and Copyright Stat
1005                  as they happen on the server. The SUBSCRIBE command has the                  as they happen on the server. The SUBSCRIBE command has the
1006                  following syntax:                  following syntax:
1007  </p>  </p>
1008  <p></p>  <p>
1009                        </p>
1010  <blockquote class="text">  <blockquote class="text">
1011  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
1012  </p>  </p>
1013  </blockquote>  </blockquote><p>
1014                    
1015    </p>
1016  <p>where &lt;event-id&gt; will be replaced by the respective  <p>where &lt;event-id&gt; will be replaced by the respective
1017                  event that client wants to subscribe to. Upon receiving such                  event that client wants to subscribe to. Upon receiving such
1018                  request, server SHOULD respond with OK and start sending                  request, server SHOULD respond with OK and start sending
# Line 724  Intellectual Property and Copyright Stat Line 1022  Intellectual Property and Copyright Stat
1022                  time nature of their generation. Event messages have the                  time nature of their generation. Event messages have the
1023                  following format:                  following format:
1024  </p>  </p>
1025  <p></p>  <p>
1026                        </p>
1027  <blockquote class="text">  <blockquote class="text">
1028  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;  <p>NOTIFY:&lt;event-id&gt;:&lt;custom-event-data&gt;
1029  </p>  </p>
1030  </blockquote>  </blockquote><p>
1031                    
1032    </p>
1033  <p>where &lt;event-id&gt; uniquely identifies the event that  <p>where &lt;event-id&gt; uniquely identifies the event that
1034                  has occurred and &lt;custom-event-data&gt; is event                  has occurred and &lt;custom-event-data&gt; is event
1035                  specific.                  specific.
# Line 737  Intellectual Property and Copyright Stat Line 1037  Intellectual Property and Copyright Stat
1037  <p>Several rules must be followed by the server when  <p>Several rules must be followed by the server when
1038                  generating events:                  generating events:
1039  </p>  </p>
1040  <p></p>  <p>
1041                        </p>
1042  <ol class="text">  <ol class="text">
1043  <li>Events MUST NOT be sent to any client who has not  <li>Events MUST NOT be sent to any client who has not
1044                          issued an appropriate SUBSCRIBE command.                          issued an appropriate SUBSCRIBE command.
# Line 752  Intellectual Property and Copyright Stat Line 1053  Intellectual Property and Copyright Stat
1053                          middle of the event message as well as any other                          middle of the event message as well as any other
1054                          response.                          response.
1055  </li>  </li>
1056  </ol>  </ol><p>
1057                    
1058    </p>
1059  <p>If the client is not interested in a particular event  <p>If the client is not interested in a particular event
1060                  anymore it MAY issue UNSUBSCRIBE command using the following                  anymore it MAY issue UNSUBSCRIBE command using the following
1061                  syntax:                  syntax:
1062  </p>  </p>
1063  <p></p>  <p>
1064                        </p>
1065  <blockquote class="text">  <blockquote class="text">
1066  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
1067  </p>  </p>
1068  </blockquote>  </blockquote><p>
1069                    
1070    </p>
1071  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1072                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1073                  a list of supported events see <a class="info" href="#events">Section 8<span>Events</span></a>.                  a list of supported events see <a class='info' href='#events'>Section&nbsp;8<span> (</span><span class='info'>Events</span><span>)</span></a>.
1074  </p>  </p>
1075  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1076                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
1077                  will react by sending the following message to all clients                  will react by sending the following message to all clients
1078                  who subscribed to this event:                  who subscribed to this event:
1079  </p>  </p>
1080  <p></p>  <p>
1081                        </p>
1082  <blockquote class="text">  <blockquote class="text">
1083  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%  <p>NOTIFY:CHANNEL_BUFFER_FILL:4 [35]62%,[33]80%,[37]98%
1084  </p>  </p>
1085  </blockquote>  </blockquote><p>
1086                    
1087    </p>
1088  <p>Which means there are currently three active streams on  <p>Which means there are currently three active streams on
1089                  sampler channel 4, where the stream with ID "35" is filled                  sampler channel 4, where the stream with ID "35" is filled
1090                  by 62%, stream with ID 33 is filled by 80% and stream with                  by 62%, stream with ID 33 is filled by 80% and stream with
# Line 810  Intellectual Property and Copyright Stat Line 1116  Intellectual Property and Copyright Stat
1116                  it wants to receive.                  it wants to receive.
1117  </p>  </p>
1118  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1119  <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>
1120  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1121    Description for control commands</h3>
1122    
1123  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1124              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1125              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>
1126              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
1127              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1128              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1129  </p>  </p>
1130  <a name="rfc.section.6.1"></a><h4><a name="anchor8">6.1</a>&nbsp;Ignored lines and comments</h4>  <a name="anchor8"></a><br /><hr />
1131    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1132    <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1133    Ignored lines and comments</h3>
1134    
1135  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1136                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 828  Intellectual Property and Copyright Stat Line 1138  Intellectual Property and Copyright Stat
1138                  group commands and to place comments in a LSCP script                  group commands and to place comments in a LSCP script
1139                  file.                  file.
1140  </p>  </p>
1141  <a name="rfc.section.6.2"></a><h4><a name="anchor9">6.2</a>&nbsp;Configuring audio drivers</h4>  <a name="anchor9"></a><br /><hr />
1142    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1143    <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1144    Configuring audio drivers</h3>
1145    
1146  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1147                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 861  Intellectual Property and Copyright Stat Line 1174  Intellectual Property and Copyright Stat
1174                  what parameters drivers are offering, how to retrieve their                  what parameters drivers are offering, how to retrieve their
1175                  possible values, etc.                  possible values, etc.
1176  </p>  </p>
1177  <a name="rfc.section.6.2.1"></a><h4><a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.1</a>&nbsp;Getting amount of available audio output drivers</h4>  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1178    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1179    <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1180    Getting amount of available audio output drivers</h3>
1181    
1182  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1183                      audio output drivers currently available for the                      audio output drivers currently available for the
1184                      LinuxSampler instance:                      LinuxSampler instance:
1185  </p>  </p>
1186  <p></p>  <p>
1187                            </p>
1188  <blockquote class="text">  <blockquote class="text">
1189  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>GET AVAILABLE_AUDIO_OUTPUT_DRIVERS
1190  </p>  </p>
1191  </blockquote>  </blockquote><p>
1192                        
1193    </p>
1194  <p>Possible Answers:  <p>Possible Answers:
1195  </p>  </p>
1196  <p></p>  <p>
1197                            </p>
1198  <blockquote class="text">  <blockquote class="text">
1199  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
1200                              number of audio output drivers.                              number of audio output drivers.
1201  </p>  </p>
1202  </blockquote>  </blockquote><p>
1203                        
1204    </p>
1205  <p>Example:  <p>Example:
1206  </p>  </p>
1207  <p></p>  <p>
1208                            </p>
1209  <blockquote class="text">  <blockquote class="text">
1210  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1211  </p>  </p>
1212  <p>S: "2"  <p>S: "2"
1213  </p>  </p>
1214  </blockquote>  </blockquote><p>
1215                        
1216  <a name="rfc.section.6.2.2"></a><h4><a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">6.2.2</a>&nbsp;Getting all available audio output drivers</h4>  </p>
1217    <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1218    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1219    <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1220    Getting all available audio output drivers</h3>
1221    
1222  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1223                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
1224                      instance:                      instance:
1225  </p>  </p>
1226  <p></p>  <p>
1227                            </p>
1228  <blockquote class="text">  <blockquote class="text">
1229  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS
1230  </p>  </p>
1231  </blockquote>  </blockquote><p>
1232                        
1233    </p>
1234  <p>Possible Answers:  <p>Possible Answers:
1235  </p>  </p>
1236  <p></p>  <p>
1237                            </p>
1238  <blockquote class="text">  <blockquote class="text">
1239  <p>LinuxSampler will answer by sending comma  <p>LinuxSampler will answer by sending comma
1240                              separated character strings, each symbolizing an                              separated character strings, each symbolizing an
1241                              audio output driver.                              audio output driver.
1242  </p>  </p>
1243  </blockquote>  </blockquote><p>
1244                        
1245    </p>
1246  <p>Example:  <p>Example:
1247  </p>  </p>
1248  <p></p>  <p>
1249                            </p>
1250  <blockquote class="text">  <blockquote class="text">
1251  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"  <p>C: "LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"
1252  </p>  </p>
1253  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
1254  </p>  </p>
1255  </blockquote>  </blockquote><p>
1256                        
1257  <a name="rfc.section.6.2.3"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER INFO">6.2.3</a>&nbsp;Getting information about a specific audio  </p>
1258                  output driver</h4>  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1259    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1260    <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1261    Getting information about a specific audio
1262                    output driver</h3>
1263    
1264  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1265                      about a specific audio output driver:                      about a specific audio output driver:
1266  </p>  </p>
1267  <p></p>  <p>
1268                            </p>
1269  <blockquote class="text">  <blockquote class="text">
1270  <p>GET AUDIO_OUTPUT_DRIVER INFO  <p>GET AUDIO_OUTPUT_DRIVER INFO
1271                               &lt;audio-output-driver&gt;                               &lt;audio-output-driver&gt;
1272  </p>  </p>
1273  </blockquote>  </blockquote><p>
1274                        
1275    </p>
1276  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1277                      audio output driver, returned by the                      audio output driver, returned by the
1278                      <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.
1279  </p>  </p>
1280  <p>Possible Answers:  <p>Possible Answers:
1281  </p>  </p>
1282  <p></p>  <p>
1283                            </p>
1284  <blockquote class="text">  <blockquote class="text">
1285  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1286                              &lt;CRLF&gt; separated list. Each answer line                              &lt;CRLF&gt; separated list. Each answer line
# Line 954  Intellectual Property and Copyright Stat Line 1291  Intellectual Property and Copyright Stat
1291                              following information categories are                              following information categories are
1292                              defined:                              defined:
1293  </p>  </p>
1294  <p></p>  <p>
1295                                  </p>
1296  <blockquote class="text">  <blockquote class="text">
1297  <p>DESCRIPTION -  <p>DESCRIPTION -
1298                                      </p>                                      </p>
# Line 963  Intellectual Property and Copyright Stat Line 1301  Intellectual Property and Copyright Stat
1301                                        audio output driver                                        audio output driver
1302  </p>  </p>
1303  </blockquote>  </blockquote>
1304                                      
1305    
1306  <p>VERSION -  <p>VERSION -
1307                                      </p>                                      </p>
# Line 971  Intellectual Property and Copyright Stat Line 1310  Intellectual Property and Copyright Stat
1310                                        driver's version                                        driver's version
1311  </p>  </p>
1312  </blockquote>  </blockquote>
1313                                      
1314    
1315  <p>PARAMETERS -  <p>PARAMETERS -
1316                                      </p>                                      </p>
# Line 983  Intellectual Property and Copyright Stat Line 1323  Intellectual Property and Copyright Stat
1323                                        output drivers                                        output drivers
1324  </p>  </p>
1325  </blockquote>  </blockquote>
1326                                      
1327    
1328  </blockquote>  </blockquote>
1329                                
1330    
1331  <p>The mentioned fields above don't have to be  <p>The mentioned fields above don't have to be
1332                              in particular order.                              in particular order.
1333  </p>  </p>
1334  </blockquote>  </blockquote><p>
1335                        
1336    </p>
1337  <p>Example:  <p>Example:
1338  </p>  </p>
1339  <p></p>  <p>
1340                          </p>
1341  <blockquote class="text">  <blockquote class="text">
1342  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"  <p>C: "GET AUDIO_OUTPUT_DRIVER INFO ALSA"
1343  </p>  </p>
# Line 1008  Intellectual Property and Copyright Stat Line 1352  Intellectual Property and Copyright Stat
1352  </p>  </p>
1353  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1354  </p>  </p>
1355  </blockquote>  </blockquote><p>
1356                        
1357  <a name="rfc.section.6.2.4"></a><h4><a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO">6.2.4</a>&nbsp;Getting information about specific audio  </p>
1358                  output driver parameter</h4>  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1359    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1360    <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1361    Getting information about specific audio
1362                    output driver parameter</h3>
1363    
1364  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
1365                      about a  specific audio output driver parameter:                      about a  specific audio output driver parameter:
1366  </p>  </p>
1367  <p></p>  <p>
1368                            </p>
1369  <blockquote class="text">  <blockquote class="text">
1370  <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;]
1371  </p>  </p>
1372  </blockquote>  </blockquote><p>
1373                        
1374    </p>
1375  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1376                      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,
1377                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1378                      obtained (as returned by the                      obtained (as returned by the
1379                      <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
1380                      &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
1381                      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
1382                      pairs in form of "key1=val1 key2=val2 ...", where character string values                      pairs in form of "key1=val1 key2=val2 ...", where character string values
# Line 1037  Intellectual Property and Copyright Stat Line 1387  Intellectual Property and Copyright Stat
1387  </p>  </p>
1388  <p>Possible Answers:  <p>Possible Answers:
1389  </p>  </p>
1390  <p></p>  <p>
1391                            </p>
1392  <blockquote class="text">  <blockquote class="text">
1393  <p>LinuxSampler will answer by sending a  <p>LinuxSampler will answer by sending a
1394                              &lt;CRLF&gt; separated list.                              &lt;CRLF&gt; separated list.
# Line 1050  Intellectual Property and Copyright Stat Line 1401  Intellectual Property and Copyright Stat
1401                              which is only shown dependently to given driver parameter. At                              which is only shown dependently to given driver parameter. At
1402                              the moment the following information categories are defined:                              the moment the following information categories are defined:
1403  </p>  </p>
1404  </blockquote>  </blockquote><p>
1405                        
1406  <p></p>  </p>
1407    <p>
1408                            </p>
1409  <blockquote class="text">  <blockquote class="text">
1410  <p>TYPE -  <p>TYPE -
1411                                </p>                                </p>
# Line 1064  Intellectual Property and Copyright Stat Line 1417  Intellectual Property and Copyright Stat
1417                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1418  </p>  </p>
1419  </blockquote>  </blockquote>
1420                                
1421    
1422  <p>DESCRIPTION -  <p>DESCRIPTION -
1423                                </p>                                </p>
# Line 1072  Intellectual Property and Copyright Stat Line 1426  Intellectual Property and Copyright Stat
1426                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1427  </p>  </p>
1428  </blockquote>  </blockquote>
1429                                
1430    
1431  <p>MANDATORY -  <p>MANDATORY -
1432                                </p>                                </p>
1433  <blockquote class="text">  <blockquote class="text">
1434  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1435                                  given when the device is to be created with the                                  given when the device is to be created with the
1436                                  <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>
1437                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1438  </p>  </p>
1439  </blockquote>  </blockquote>
1440                                
1441    
1442  <p>FIX -  <p>FIX -
1443                                </p>                                </p>
1444  <blockquote class="text">  <blockquote class="text">
1445  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1446                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1447                                  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>
1448                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1449  </p>  </p>
1450  </blockquote>  </blockquote>
1451                                
1452    
1453  <p>MULTIPLICITY -  <p>MULTIPLICITY -
1454                                </p>                                </p>
# Line 1102  Intellectual Property and Copyright Stat Line 1459  Intellectual Property and Copyright Stat
1459                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
1460  </p>  </p>
1461  </blockquote>  </blockquote>
1462                                
1463    
1464  <p>DEPENDS -  <p>DEPENDS -
1465                                </p>                                </p>
# Line 1118  Intellectual Property and Copyright Stat Line 1476  Intellectual Property and Copyright Stat
1476                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1477  </p>  </p>
1478  </blockquote>  </blockquote>
1479                                
1480    
1481  <p>DEFAULT -  <p>DEFAULT -
1482                                </p>                                </p>
1483  <blockquote class="text">  <blockquote class="text">
1484  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1485                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1486                                  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,
1487                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1488                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1489                                  apostrophes (')                                  apostrophes (')
1490                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1491  </p>  </p>
1492  </blockquote>  </blockquote>
1493                                
1494    
1495  <p>RANGE_MIN -  <p>RANGE_MIN -
1496                                </p>                                </p>
# Line 1142  Intellectual Property and Copyright Stat Line 1502  Intellectual Property and Copyright Stat
1502                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1503  </p>  </p>
1504  </blockquote>  </blockquote>
1505                                
1506    
1507  <p>RANGE_MAX -  <p>RANGE_MAX -
1508                                </p>                                </p>
# Line 1153  Intellectual Property and Copyright Stat Line 1514  Intellectual Property and Copyright Stat
1514                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1515  </p>  </p>
1516  </blockquote>  </blockquote>
1517                                
1518    
1519  <p>POSSIBILITIES -  <p>POSSIBILITIES -
1520                                </p>                                </p>
# Line 1163  Intellectual Property and Copyright Stat Line 1525  Intellectual Property and Copyright Stat
1525                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
1526  </p>  </p>
1527  </blockquote>  </blockquote>
1528                                
1529    
1530  </blockquote>  </blockquote><p>
1531                        
1532    </p>
1533  <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.
1534  </p>  </p>
1535  <p>Examples:  <p>Examples:
1536  </p>  </p>
1537  <p></p>  <p>
1538                            </p>
1539  <blockquote class="text">  <blockquote class="text">
1540  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA CARD"
1541  </p>  </p>
# Line 1190  Intellectual Property and Copyright Stat Line 1555  Intellectual Property and Copyright Stat
1555  </p>  </p>
1556  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1557  </p>  </p>
1558  </blockquote>  </blockquote><p>
1559                        
1560  <p></p>  </p>
1561    <p>
1562                            </p>
1563  <blockquote class="text">  <blockquote class="text">
1564  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"  <p>C: "GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO ALSA SAMPLERATE"
1565  </p>  </p>
# Line 1212  Intellectual Property and Copyright Stat Line 1579  Intellectual Property and Copyright Stat
1579  </p>  </p>
1580  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1581  </p>  </p>
1582  </blockquote>  </blockquote><p>
1583                        
1584  <p></p>  </p>
1585    <p>
1586                            </p>
1587  <blockquote class="text">  <blockquote class="text">
1588  <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'"
1589  </p>  </p>
# Line 1238  Intellectual Property and Copyright Stat Line 1607  Intellectual Property and Copyright Stat
1607  </p>  </p>
1608  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1609  </p>  </p>
1610  </blockquote>  </blockquote><p>
1611                        
1612  <a name="rfc.section.6.2.5"></a><h4><a name="CREATE AUDIO_OUTPUT_DEVICE">6.2.5</a>&nbsp;Creating an audio output device</h4>  </p>
1613    <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1614    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1615    <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1616    Creating an audio output device</h3>
1617    
1618  <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:
1619  </p>  </p>
1620  <p></p>  <p>
1621                            </p>
1622  <blockquote class="text">  <blockquote class="text">
1623  <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;]
1624  </p>  </p>
1625  </blockquote>  </blockquote><p>
1626                        
1627    </p>
1628  <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
1629                      output system as returned by the                      output system as returned by the
1630                      <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>
1631                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1632                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1633                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1262  Intellectual Property and Copyright Stat Line 1637  Intellectual Property and Copyright Stat
1637  </p>  </p>
1638  <p>Possible Answers:  <p>Possible Answers:
1639  </p>  </p>
1640  <p></p>  <p>
1641                            </p>
1642  <blockquote class="text">  <blockquote class="text">
1643  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
1644                                  </p>                                  </p>
# Line 1271  Intellectual Property and Copyright Stat Line 1647  Intellectual Property and Copyright Stat
1647                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
1648  </p>  </p>
1649  </blockquote>  </blockquote>
1650                                
1651    
1652  <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;" -
1653                                  </p>                                  </p>
# Line 1283  Intellectual Property and Copyright Stat Line 1660  Intellectual Property and Copyright Stat
1660                                      warning message                                      warning message
1661  </p>  </p>
1662  </blockquote>  </blockquote>
1663                                
1664    
1665  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1666                                  </p>                                  </p>
# Line 1290  Intellectual Property and Copyright Stat Line 1668  Intellectual Property and Copyright Stat
1668  <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
1669  </p>  </p>
1670  </blockquote>  </blockquote>
1671                                
1672    
1673  </blockquote>  </blockquote><p>
1674                        
1675    </p>
1676  <p>Examples:  <p>Examples:
1677  </p>  </p>
1678  <p></p>  <p>
1679                            </p>
1680  <blockquote class="text">  <blockquote class="text">
1681  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA"
1682  </p>  </p>
1683  <p>S: "OK[0]"  <p>S: "OK[0]"
1684  </p>  </p>
1685  </blockquote>  </blockquote><p>
1686                        
1687  <p></p>  </p>
1688    <p>
1689                            </p>
1690  <blockquote class="text">  <blockquote class="text">
1691  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"  <p>C: "CREATE AUDIO_OUTPUT_DEVICE ALSA CARD='2,0' SAMPLERATE=96000"
1692  </p>  </p>
1693  <p>S: "OK[1]"  <p>S: "OK[1]"
1694  </p>  </p>
1695  </blockquote>  </blockquote><p>
1696                        
1697  <a name="rfc.section.6.2.6"></a><h4><a name="DESTROY AUDIO_OUTPUT_DEVICE">6.2.6</a>&nbsp;Destroying an audio output device</h4>  </p>
1698    <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1699    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1700    <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1701    Destroying an audio output device</h3>
1702    
1703  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1704  </p>  </p>
1705  <p></p>  <p>
1706                            </p>
1707  <blockquote class="text">  <blockquote class="text">
1708  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;  <p>DESTROY AUDIO_OUTPUT_DEVICE &lt;device-id&gt;
1709  </p>  </p>
1710  </blockquote>  </blockquote><p>
1711                        
1712    </p>
1713  <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
1714                      audio output device as given by the                      audio output device as given by the
1715                      <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>
1716                      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>
1717                      command.                      command.
1718  </p>  </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>"OK" -  <p>"OK" -
1725                                  </p>                                  </p>
# Line 1337  Intellectual Property and Copyright Stat Line 1727  Intellectual Property and Copyright Stat
1727  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
1728  </p>  </p>
1729  </blockquote>  </blockquote>
1730                                
1731    
1732  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1733                                  </p>                                  </p>
# Line 1348  Intellectual Property and Copyright Stat Line 1739  Intellectual Property and Copyright Stat
1739                                      warning code and warning message                                      warning code and warning message
1740  </p>  </p>
1741  </blockquote>  </blockquote>
1742                                
1743    
1744  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1745                                  </p>                                  </p>
# Line 1356  Intellectual Property and Copyright Stat Line 1748  Intellectual Property and Copyright Stat
1748                                      error message                                      error message
1749  </p>  </p>
1750  </blockquote>  </blockquote>
1751                                
1752    
1753  </blockquote>  </blockquote><p>
1754                        
1755    </p>
1756  <p>Example:  <p>Example:
1757  </p>  </p>
1758  <p></p>  <p>
1759                            </p>
1760  <blockquote class="text">  <blockquote class="text">
1761  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"  <p>C: "DESTROY AUDIO_OUTPUT_DEVICE 0"
1762  </p>  </p>
1763  <p>S: "OK"  <p>S: "OK"
1764  </p>  </p>
1765  </blockquote>  </blockquote><p>
1766                        
1767  <a name="rfc.section.6.2.7"></a><h4><a name="GET AUDIO_OUTPUT_DEVICES">6.2.7</a>&nbsp;Getting all created audio output device count</h4>  </p>
1768    <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1769    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1770    <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1771    Getting all created audio output device count</h3>
1772    
1773  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1774  </p>  </p>
1775  <p></p>  <p>
1776                            </p>
1777  <blockquote class="text">  <blockquote class="text">
1778  <p>GET AUDIO_OUTPUT_DEVICES  <p>GET AUDIO_OUTPUT_DEVICES
1779  </p>  </p>
1780  </blockquote>  </blockquote><p>
1781                        
1782    </p>
1783  <p>Possible Answers:  <p>Possible Answers:
1784  </p>  </p>
1785  <p></p>  <p>
1786                            </p>
1787  <blockquote class="text">  <blockquote class="text">
1788  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
1789                              audio output devices.                              audio output devices.
1790  </p>  </p>
1791  </blockquote>  </blockquote><p>
1792                        
1793    </p>
1794  <p>Example:  <p>Example:
1795  </p>  </p>
1796  <p></p>  <p>
1797                            </p>
1798  <blockquote class="text">  <blockquote class="text">
1799  <p>C: "GET AUDIO_OUTPUT_DEVICES"  <p>C: "GET AUDIO_OUTPUT_DEVICES"
1800  </p>  </p>
1801  <p>S: "4"  <p>S: "4"
1802  </p>  </p>
1803  </blockquote>  </blockquote><p>
1804                        
1805  <a name="rfc.section.6.2.8"></a><h4><a name="LIST AUDIO_OUTPUT_DEVICES">6.2.8</a>&nbsp;Getting all created audio output device list</h4>  </p>
1806    <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1807    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1808    <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1809    Getting all created audio output device list</h3>
1810    
1811  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1812  </p>  </p>
1813  <p></p>  <p>
1814                            </p>
1815  <blockquote class="text">  <blockquote class="text">
1816  <p>LIST AUDIO_OUTPUT_DEVICES  <p>LIST AUDIO_OUTPUT_DEVICES
1817  </p>  </p>
1818  </blockquote>  </blockquote><p>
1819                        
1820    </p>
1821  <p>Possible Answers:  <p>Possible Answers:
1822  </p>  </p>
1823  <p></p>  <p>
1824                            </p>
1825  <blockquote class="text">  <blockquote class="text">
1826  <p>LinuxSampler will answer by sending a comma separated list with  <p>LinuxSampler will answer by sending a comma separated list with
1827                              the numerical IDs of all audio output devices.                              the numerical IDs of all audio output devices.
1828  </p>  </p>
1829  </blockquote>  </blockquote><p>
1830                        
1831    </p>
1832  <p>Example:  <p>Example:
1833  </p>  </p>
1834  <p></p>  <p>
1835                            </p>
1836  <blockquote class="text">  <blockquote class="text">
1837  <p>C: "LIST AUDIO_OUTPUT_DEVICES"  <p>C: "LIST AUDIO_OUTPUT_DEVICES"
1838  </p>  </p>
1839  <p>S: "0,1,4,5"  <p>S: "0,1,4,5"
1840  </p>  </p>
1841  </blockquote>  </blockquote><p>
1842                        
1843  <a name="rfc.section.6.2.9"></a><h4><a name="GET AUDIO_OUTPUT_DEVICE INFO">6.2.9</a>&nbsp;Getting current settings of an audio output device</h4>  </p>
1844    <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1845    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1846    <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1847    Getting current settings of an audio output device</h3>
1848    
1849  <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:
1850  </p>  </p>
1851  <p></p>  <p>
1852                            </p>
1853  <blockquote class="text">  <blockquote class="text">
1854  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;  <p>GET AUDIO_OUTPUT_DEVICE INFO &lt;device-id&gt;
1855  </p>  </p>
1856  </blockquote>  </blockquote><p>
1857                        
1858    </p>
1859  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1860                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1861                      <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.
1862  </p>  </p>
1863  <p>Possible Answers:  <p>Possible Answers:
1864  </p>  </p>
# Line 1451  Intellectual Property and Copyright Stat Line 1870  Intellectual Property and Copyright Stat
1870                      encapsulated into apostrophes ('). At the moment the following                      encapsulated into apostrophes ('). At the moment the following
1871                      information categories are defined (independently of device):                      information categories are defined (independently of device):
1872  </p>  </p>
1873  <p></p>  <p>
1874                            </p>
1875  <blockquote class="text">  <blockquote class="text">
1876  <p>DRIVER -  <p>DRIVER -
1877                                  </p>                                  </p>
1878  <blockquote class="text">  <blockquote class="text">
1879  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1880                                      returned by the                                      returned by the
1881                                      <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>
1882                                      command                                      command
1883  </p>  </p>
1884  </blockquote>  </blockquote>
1885                                
1886    
1887  <p>CHANNELS -  <p>CHANNELS -
1888                                  </p>                                  </p>
# Line 1470  Intellectual Property and Copyright Stat Line 1891  Intellectual Property and Copyright Stat
1891                                      offers                                      offers
1892  </p>  </p>
1893  </blockquote>  </blockquote>
1894                                
1895    
1896  <p>SAMPLERATE -  <p>SAMPLERATE -
1897                                  </p>                                  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1899  Intellectual Property and Copyright Stat
1899  <p>playback sample rate the device uses  <p>playback sample rate the device uses
1900  </p>  </p>
1901  </blockquote>  </blockquote>
1902                                
1903    
1904  <p>ACTIVE -  <p>ACTIVE -
1905                                  </p>                                  </p>
# Line 1487  Intellectual Property and Copyright Stat Line 1910  Intellectual Property and Copyright Stat
1910                                      any audio                                      any audio
1911  </p>  </p>
1912  </blockquote>  </blockquote>
1913                                
1914    
1915  </blockquote>  </blockquote><p>
1916                        
1917    </p>
1918  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
1919                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1920                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1921                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1922                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section 6.2.3<span>Getting information about a specific audio                 output driver</span></a>)                      <a class='info' href='#GET AUDIO_OUTPUT_DRIVER INFO'>Section&nbsp;6.2.3<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a>)
1923                      which are also returned by this command.                      which are also returned by this command.
1924  </p>  </p>
1925  <p>Example:  <p>Example:
1926  </p>  </p>
1927  <p></p>  <p>
1928                            </p>
1929  <blockquote class="text">  <blockquote class="text">
1930  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"  <p>C: "GET AUDIO_OUTPUT_DEVICE INFO 0"
1931  </p>  </p>
# Line 1519  Intellectual Property and Copyright Stat Line 1945  Intellectual Property and Copyright Stat
1945  </p>  </p>
1946  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
1947  </p>  </p>
1948  </blockquote>  </blockquote><p>
1949                        
1950  <a name="rfc.section.6.2.10"></a><h4><a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER">6.2.10</a>&nbsp;Changing settings of audio output devices</h4>  </p>
1951    <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1952    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1953    <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1954    Changing settings of audio output devices</h3>
1955    
1956  <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:
1957  </p>  </p>
1958  <p></p>  <p>
1959                            </p>
1960  <blockquote class="text">  <blockquote class="text">
1961  <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;
1962  </p>  </p>
1963  </blockquote>  </blockquote><p>
1964                        
1965    </p>
1966  <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
1967                      audio output device as given by the                      audio output device as given by the
1968                      <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>
1969                      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>
1970                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1971                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1972  </p>  </p>
1973  <p>Possible Answers:  <p>Possible Answers:
1974  </p>  </p>
1975  <p></p>  <p>
1976                            </p>
1977  <blockquote class="text">  <blockquote class="text">
1978  <p>"OK" -  <p>"OK" -
1979                                  </p>                                  </p>
# Line 1548  Intellectual Property and Copyright Stat Line 1981  Intellectual Property and Copyright Stat
1981  <p>in case setting was successfully changed  <p>in case setting was successfully changed
1982  </p>  </p>
1983  </blockquote>  </blockquote>
1984                                
1985    
1986  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
1987                                  </p>                                  </p>
# Line 1557  Intellectual Property and Copyright Stat Line 1991  Intellectual Property and Copyright Stat
1991                                      warning code and warning message                                      warning code and warning message
1992  </p>  </p>
1993  </blockquote>  </blockquote>
1994                                
1995    
1996  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
1997                                  </p>                                  </p>
# Line 1565  Intellectual Property and Copyright Stat Line 2000  Intellectual Property and Copyright Stat
2000                                      error message                                      error message
2001  </p>  </p>
2002  </blockquote>  </blockquote>
2003                                
2004    
2005  </blockquote>  </blockquote><p>
2006                        
2007    </p>
2008  <p>Example:  <p>Example:
2009  </p>  </p>
2010  <p></p>  <p>
2011                            </p>
2012  <blockquote class="text">  <blockquote class="text">
2013  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"  <p>C: "SET AUDIO_OUTPUT_DEVICE_PARAMETER 0 FRAGMENTSIZE=128"
2014  </p>  </p>
2015  <p>S: "OK"  <p>S: "OK"
2016  </p>  </p>
2017  </blockquote>  </blockquote><p>
2018                        
2019  <a name="rfc.section.6.2.11"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL INFO">6.2.11</a>&nbsp;Getting information about an audio channel</h4>  </p>
2020    <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
2021    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2022    <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
2023    Getting information about an audio channel</h3>
2024    
2025  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
2026  </p>  </p>
2027  <p></p>  <p>
2028                            </p>
2029  <blockquote class="text">  <blockquote class="text">
2030  <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;
2031  </p>  </p>
2032  </blockquote>  </blockquote><p>
2033                        
2034    </p>
2035  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
2036                      <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>
2037                      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>
2038                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
2039  </p>  </p>
2040  <p>Possible Answers:  <p>Possible Answers:
2041  </p>  </p>
2042  <p></p>  <p>
2043                            </p>
2044  <blockquote class="text">  <blockquote class="text">
2045  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2046                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1603  Intellectual Property and Copyright Stat Line 2048  Intellectual Property and Copyright Stat
2048                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2049                              the following information categories are defined:                              the following information categories are defined:
2050  </p>  </p>
2051  <p></p>  <p>
2052                                    </p>
2053  <blockquote class="text">  <blockquote class="text">
2054  <p>NAME -  <p>NAME -
2055                                          </p>                                          </p>
# Line 1612  Intellectual Property and Copyright Stat Line 2058  Intellectual Property and Copyright Stat
2058                                              doesn't have to be unique (always returned by all audio channels)                                              doesn't have to be unique (always returned by all audio channels)
2059  </p>  </p>
2060  </blockquote>  </blockquote>
2061                                        
2062    
2063  <p>IS_MIX_CHANNEL -  <p>IS_MIX_CHANNEL -
2064                                          </p>                                          </p>
# Line 1624  Intellectual Property and Copyright Stat Line 2071  Intellectual Property and Copyright Stat
2071                                              (always returned by all audio channels)                                              (always returned by all audio channels)
2072  </p>  </p>
2073  </blockquote>  </blockquote>
2074                                        
2075    
2076  <p>MIX_CHANNEL_DESTINATION -  <p>MIX_CHANNEL_DESTINATION -
2077                                          </p>                                          </p>
# Line 1635  Intellectual Property and Copyright Stat Line 2083  Intellectual Property and Copyright Stat
2083                                              (only returned in case the audio channel is mix channel)                                              (only returned in case the audio channel is mix channel)
2084  </p>  </p>
2085  </blockquote>  </blockquote>
2086                                        
2087    
2088  </blockquote>  </blockquote>
2089                                
2090    
2091  </blockquote>  </blockquote><p>
2092                        
2093    </p>
2094  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
2095                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2096                      generally returned for the described cases by all audio                      generally returned for the described cases by all audio
# Line 1649  Intellectual Property and Copyright Stat Line 2100  Intellectual Property and Copyright Stat
2100  </p>  </p>
2101  <p>Examples:  <p>Examples:
2102  </p>  </p>
2103  <p></p>  <p>
2104                            </p>
2105  <blockquote class="text">  <blockquote class="text">
2106  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 0"
2107  </p>  </p>
# Line 1659  Intellectual Property and Copyright Stat Line 2111  Intellectual Property and Copyright Stat
2111  </p>  </p>
2112  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2113  </p>  </p>
2114  </blockquote>  </blockquote><p>
2115                        
2116  <p></p>  </p>
2117    <p>
2118                            </p>
2119  <blockquote class="text">  <blockquote class="text">
2120  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 1"
2121  </p>  </p>
# Line 1671  Intellectual Property and Copyright Stat Line 2125  Intellectual Property and Copyright Stat
2125  </p>  </p>
2126  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2127  </p>  </p>
2128  </blockquote>  </blockquote><p>
2129                        
2130  <p></p>  </p>
2131    <p>
2132                            </p>
2133  <blockquote class="text">  <blockquote class="text">
2134  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 0 2"
2135  </p>  </p>
# Line 1685  Intellectual Property and Copyright Stat Line 2141  Intellectual Property and Copyright Stat
2141  </p>  </p>
2142  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2143  </p>  </p>
2144  </blockquote>  </blockquote><p>
2145                        
2146  <p></p>  </p>
2147    <p>
2148                            </p>
2149  <blockquote class="text">  <blockquote class="text">
2150  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"  <p>C: "GET AUDIO_OUTPUT_CHANNEL INFO 1 0"
2151  </p>  </p>
# Line 1699  Intellectual Property and Copyright Stat Line 2157  Intellectual Property and Copyright Stat
2157  </p>  </p>
2158  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2159  </p>  </p>
2160  </blockquote>  </blockquote><p>
2161                        
2162  <a name="rfc.section.6.2.12"></a><h4><a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO">6.2.12</a>&nbsp;Getting information about specific audio channel parameter</h4>  </p>
2163    <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2164    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2165    <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2166    Getting information about specific audio channel parameter</h3>
2167    
2168  <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:
2169  </p>  </p>
2170  <p></p>  <p>
2171                            </p>
2172  <blockquote class="text">  <blockquote class="text">
2173  <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;
2174  </p>  </p>
2175  </blockquote>  </blockquote><p>
2176                        
2177    </p>
2178  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
2179                      <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>
2180                      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>
2181                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2182                      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
2183                      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).
2184  </p>  </p>
2185  <p>Possible Answers:  <p>Possible Answers:
2186  </p>  </p>
2187  <p></p>  <p>
2188                            </p>
2189  <blockquote class="text">  <blockquote class="text">
2190  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2191                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 1731  Intellectual Property and Copyright Stat Line 2196  Intellectual Property and Copyright Stat
2196                              which is only shown dependently to the given audio channel. At                              which is only shown dependently to the given audio channel. At
2197                              the moment the following information categories are defined:                              the moment the following information categories are defined:
2198  </p>  </p>
2199  <p></p>  <p>
2200                                    </p>
2201  <blockquote class="text">  <blockquote class="text">
2202  <p>TYPE -  <p>TYPE -
2203                                          </p>                                          </p>
# Line 1742  Intellectual Property and Copyright Stat Line 2208  Intellectual Property and Copyright Stat
2208                                              (always returned)                                              (always returned)
2209  </p>  </p>
2210  </blockquote>  </blockquote>
2211                                        
2212    
2213  <p>DESCRIPTION -  <p>DESCRIPTION -
2214                                          </p>                                          </p>
# Line 1749  Intellectual Property and Copyright Stat Line 2216  Intellectual Property and Copyright Stat
2216  <p>arbitrary text describing the purpose of the parameter (always returned)  <p>arbitrary text describing the purpose of the parameter (always returned)
2217  </p>  </p>
2218  </blockquote>  </blockquote>
2219                                        
2220    
2221  <p>FIX -  <p>FIX -
2222                                          </p>                                          </p>
# Line 1758  Intellectual Property and Copyright Stat Line 2226  Intellectual Property and Copyright Stat
2226                                              (always returned)                                              (always returned)
2227  </p>  </p>
2228  </blockquote>  </blockquote>
2229                                        
2230    
2231  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2232                                          </p>                                          </p>
# Line 1768  Intellectual Property and Copyright Stat Line 2237  Intellectual Property and Copyright Stat
2237                                              (always returned)                                              (always returned)
2238  </p>  </p>
2239  </blockquote>  </blockquote>
2240                                        
2241    
2242  <p>RANGE_MIN -  <p>RANGE_MIN -
2243                                          </p>                                          </p>
# Line 1780  Intellectual Property and Copyright Stat Line 2250  Intellectual Property and Copyright Stat
2250                                              parameter)                                              parameter)
2251  </p>  </p>
2252  </blockquote>  </blockquote>
2253                                        
2254    
2255  <p>RANGE_MAX -  <p>RANGE_MAX -
2256                                          </p>                                          </p>
# Line 1792  Intellectual Property and Copyright Stat Line 2263  Intellectual Property and Copyright Stat
2263                                              parameter)                                              parameter)
2264  </p>  </p>
2265  </blockquote>  </blockquote>
2266                                        
2267    
2268  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2269                                          </p>                                          </p>
# Line 1803  Intellectual Property and Copyright Stat Line 2275  Intellectual Property and Copyright Stat
2275                                              parameter)                                              parameter)
2276  </p>  </p>
2277  </blockquote>  </blockquote>
2278                                        
2279    
2280  </blockquote>  </blockquote>
2281                                
2282    
2283  <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.
2284  </p>  </p>
2285  </blockquote>  </blockquote><p>
2286                        
2287    </p>
2288  <p>Example:  <p>Example:
2289  </p>  </p>
2290  <p></p>  <p>
2291                            </p>
2292  <blockquote class="text">  <blockquote class="text">
2293  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"  <p>C: "GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO 1 0 JACK_BINDINGS"
2294  </p>  </p>
# Line 1828  Intellectual Property and Copyright Stat Line 2304  Intellectual Property and Copyright Stat
2304  </p>  </p>
2305  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2306  </p>  </p>
2307  </blockquote>  </blockquote><p>
2308                        
2309  <a name="rfc.section.6.2.13"></a><h4><a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER">6.2.13</a>&nbsp;Changing settings of audio output channels</h4>  </p>
2310    <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2311    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2312    <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2313    Changing settings of audio output channels</h3>
2314    
2315  <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:
2316  </p>  </p>
2317  <p></p>  <p>
2318                            </p>
2319  <blockquote class="text">  <blockquote class="text">
2320  <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;
2321  </p>  </p>
2322  </blockquote>  </blockquote><p>
2323                        
2324    </p>
2325  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
2326                      <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>
2327                      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>
2328                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2329                      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.
2330  </p>  </p>
2331  <p>Possible Answers:  <p>Possible Answers:
2332  </p>  </p>
2333  <p></p>  <p>
2334                            </p>
2335  <blockquote class="text">  <blockquote class="text">
2336  <p>"OK" -  <p>"OK" -
2337                                  </p>                                  </p>
# Line 1856  Intellectual Property and Copyright Stat Line 2339  Intellectual Property and Copyright Stat
2339  <p>in case setting was successfully changed  <p>in case setting was successfully changed
2340  </p>  </p>
2341  </blockquote>  </blockquote>
2342                                
2343    
2344  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2345                                  </p>                                  </p>
# Line 1865  Intellectual Property and Copyright Stat Line 2349  Intellectual Property and Copyright Stat
2349                                     warning code and warning message                                     warning code and warning message
2350  </p>  </p>
2351  </blockquote>  </blockquote>
2352                                
2353    
2354  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2355                                  </p>                                  </p>
# Line 1873  Intellectual Property and Copyright Stat Line 2358  Intellectual Property and Copyright Stat
2358                                     error message                                     error message
2359  </p>  </p>
2360  </blockquote>  </blockquote>
2361                                
2362    
2363  </blockquote>  </blockquote><p>
2364                        
2365    </p>
2366  <p>Example:  <p>Example:
2367  </p>  </p>
2368  <p></p>  <p>
2369                            </p>
2370  <blockquote class="text">  <blockquote class="text">
2371  <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'"
2372  </p>  </p>
2373  <p>S: "OK"  <p>S: "OK"
2374  </p>  </p>
2375  </blockquote>  </blockquote><p>
2376                        
2377  <p></p>  </p>
2378    <p>
2379                            </p>
2380  <blockquote class="text">  <blockquote class="text">
2381  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"  <p>C: "SET AUDIO_OUTPUT_CHANNEL PARAMETER 0 0 NAME='monitor left'"
2382  </p>  </p>
2383  <p>S: "OK"  <p>S: "OK"
2384  </p>  </p>
2385  </blockquote>  </blockquote><p>
2386                        
2387  <a name="rfc.section.6.3"></a><h4><a name="anchor10">6.3</a>&nbsp;Configuring MIDI input drivers</h4>  </p>
2388    <a name="anchor10"></a><br /><hr />
2389    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2390    <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2391    Configuring MIDI input drivers</h3>
2392    
2393  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2394                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as
# Line 1922  Intellectual Property and Copyright Stat Line 2416  Intellectual Property and Copyright Stat
2416                  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
2417                  possible values, etc.                  possible values, etc.
2418  </p>  </p>
2419  <a name="rfc.section.6.3.1"></a><h4><a name="GET AVAILABLE_MIDI_INPUT_DRIVERS">6.3.1</a>&nbsp;Getting amount of available MIDI input drivers</h4>  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2420    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2421    <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2422    Getting amount of available MIDI input drivers</h3>
2423    
2424  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2425                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
2426                      LinuxSampler instance:                      LinuxSampler instance:
2427  </p>  </p>
2428  <p></p>  <p>
2429                            </p>
2430  <blockquote class="text">  <blockquote class="text">
2431  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS  <p>GET AVAILABLE_MIDI_INPUT_DRIVERS
2432  </p>  </p>
2433  </blockquote>  </blockquote><p>
2434                        
2435    </p>
2436  <p>Possible Answers:  <p>Possible Answers:
2437  </p>  </p>
2438  <p></p>  <p>
2439                            </p>
2440  <blockquote class="text">  <blockquote class="text">
2441  <p>LinuxSampler will answer by sending the  <p>LinuxSampler will answer by sending the
2442                              number of available MIDI input drivers.                              number of available MIDI input drivers.
2443  </p>  </p>
2444  </blockquote>  </blockquote><p>
2445                        
2446    </p>
2447  <p>Example:  <p>Example:
2448  </p>  </p>
2449  <p></p>  <p>
2450                            </p>
2451  <blockquote class="text">  <blockquote class="text">
2452  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "GET AVAILABLE_MIDI_INPUT_DRIVERS"
2453  </p>  </p>
2454  <p>S: "2"  <p>S: "2"
2455  </p>  </p>
2456  </blockquote>  </blockquote><p>
2457                        
2458  <a name="rfc.section.6.3.2"></a><h4><a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS">6.3.2</a>&nbsp;Getting all available MIDI input drivers</h4>  </p>
2459    <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2460    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2461    <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2462    Getting all available MIDI input drivers</h3>
2463    
2464  <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
2465                      for the LinuxSampler instance:                      for the LinuxSampler instance:
2466  </p>  </p>
2467  <p></p>  <p>
2468                            </p>
2469  <blockquote class="text">  <blockquote class="text">
2470  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS  <p>LIST AVAILABLE_MIDI_INPUT_DRIVERS
2471  </p>  </p>
2472  </blockquote>  </blockquote><p>
2473                        
2474    </p>
2475  <p>Possible Answers:  <p>Possible Answers:
2476  </p>  </p>
2477  <p></p>  <p>
2478                            </p>
2479  <blockquote class="text">  <blockquote class="text">
2480  <p>LinuxSampler will answer by sending comma separated character  <p>LinuxSampler will answer by sending comma separated character
2481                              strings, each symbolizing a MIDI input driver.                              strings, each symbolizing a MIDI input driver.
2482  </p>  </p>
2483  </blockquote>  </blockquote><p>
2484                        
2485    </p>
2486  <p>Example:  <p>Example:
2487  </p>  </p>
2488  <p></p>  <p>
2489                            </p>
2490  <blockquote class="text">  <blockquote class="text">
2491  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"  <p>C: "LIST AVAILABLE_MIDI_INPUT_DRIVERS"
2492  </p>  </p>
2493  <p>S: "ALSA,JACK"  <p>S: "ALSA,JACK"
2494  </p>  </p>
2495  </blockquote>  </blockquote><p>
2496                        
2497  <a name="rfc.section.6.3.3"></a><h4><a name="GET MIDI_INPUT_DRIVER INFO">6.3.3</a>&nbsp;Getting information about a specific MIDI input driver</h4>  </p>
2498    <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2499    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2500    <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2501    Getting information about a specific MIDI input driver</h3>
2502    
2503  <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:
2504  </p>  </p>
2505  <p></p>  <p>
2506                            </p>
2507  <blockquote class="text">  <blockquote class="text">
2508  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;  <p>GET MIDI_INPUT_DRIVER INFO &lt;midi-input-driver&gt;
2509  </p>  </p>
2510  </blockquote>  </blockquote><p>
2511                        
2512    </p>
2513  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2514                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command.                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command.
2515  </p>  </p>
2516  <p>Possible Answers:  <p>Possible Answers:
2517  </p>  </p>
2518  <p></p>  <p>
2519                            </p>
2520  <blockquote class="text">  <blockquote class="text">
2521  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
2522                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2006  Intellectual Property and Copyright Stat Line 2524  Intellectual Property and Copyright Stat
2524                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
2525                              the following information categories are defined:                              the following information categories are defined:
2526  </p>  </p>
2527  <p></p>  <p>
2528                                    </p>
2529  <blockquote class="text">  <blockquote class="text">
2530  <p>DESCRIPTION -  <p>DESCRIPTION -
2531                                          </p>                                          </p>
# Line 2014  Intellectual Property and Copyright Stat Line 2533  Intellectual Property and Copyright Stat
2533  <p>arbitrary description text about the MIDI input driver  <p>arbitrary description text about the MIDI input driver
2534  </p>  </p>
2535  </blockquote>  </blockquote>
2536                                        
2537    
2538  <p>VERSION -  <p>VERSION -
2539                                          </p>                                          </p>
# Line 2021  Intellectual Property and Copyright Stat Line 2541  Intellectual Property and Copyright Stat
2541  <p>arbitrary character string regarding the driver's version  <p>arbitrary character string regarding the driver's version
2542  </p>  </p>
2543  </blockquote>  </blockquote>
2544                                        
2545    
2546  <p>PARAMETERS -  <p>PARAMETERS -
2547                                          </p>                                          </p>
# Line 2028  Intellectual Property and Copyright Stat Line 2549  Intellectual Property and Copyright Stat
2549  <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
2550  </p>  </p>
2551  </blockquote>  </blockquote>
2552                                        
2553    
2554  </blockquote>  </blockquote>
2555                                
2556    
2557  <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.
2558  </p>  </p>
2559  </blockquote>  </blockquote><p>
2560                        
2561    </p>
2562  <p>Example:  <p>Example:
2563  </p>  </p>
2564  <p></p>  <p>
2565                            </p>
2566  <blockquote class="text">  <blockquote class="text">
2567  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"  <p>C: "GET MIDI_INPUT_DRIVER INFO ALSA"
2568  </p>  </p>
# Line 2049  Intellectual Property and Copyright Stat Line 2574  Intellectual Property and Copyright Stat
2574  </p>  </p>
2575  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2576  </p>  </p>
2577  </blockquote>  </blockquote><p>
2578                        
2579  <a name="rfc.section.6.3.4"></a><h4><a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO">6.3.4</a>&nbsp;Getting information about specific MIDI input driver parameter</h4>  </p>
2580    <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2581    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2582    <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2583    Getting information about specific MIDI input driver parameter</h3>
2584    
2585  <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:
2586  </p>  </p>
2587  <p></p>  <p>
2588                            </p>
2589  <blockquote class="text">  <blockquote class="text">
2590  <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;]
2591  </p>  </p>
2592  </blockquote>  </blockquote><p>
2593                        
2594    </p>
2595  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned
2596                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command, &lt;param&gt; a specific                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific
2597                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2598                      <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
2599                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2600                      &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 ...",
2601                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2083  Intellectual Property and Copyright Stat Line 2614  Intellectual Property and Copyright Stat
2614                      which is only shown dependent to given driver parameter. At                      which is only shown dependent to given driver parameter. At
2615                      the moment the following information categories are defined:                      the moment the following information categories are defined:
2616  </p>  </p>
2617  <p></p>  <p>
2618                            </p>
2619  <blockquote class="text">  <blockquote class="text">
2620  <p>TYPE -  <p>TYPE -
2621                                </p>                                </p>
# Line 2094  Intellectual Property and Copyright Stat Line 2626  Intellectual Property and Copyright Stat
2626                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2627  </p>  </p>
2628  </blockquote>  </blockquote>
2629                                
2630    
2631  <p>DESCRIPTION -  <p>DESCRIPTION -
2632                                </p>                                </p>
# Line 2102  Intellectual Property and Copyright Stat Line 2635  Intellectual Property and Copyright Stat
2635                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2636  </p>  </p>
2637  </blockquote>  </blockquote>
2638                                
2639    
2640  <p>MANDATORY -  <p>MANDATORY -
2641                                </p>                                </p>
2642  <blockquote class="text">  <blockquote class="text">
2643  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2644                                  given when the device is to be created with the                                  given when the device is to be created with the
2645                                  <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
2646                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2647  </p>  </p>
2648  </blockquote>  </blockquote>
2649                                
2650    
2651  <p>FIX -  <p>FIX -
2652                                </p>                                </p>
2653  <blockquote class="text">  <blockquote class="text">
2654  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2655                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2656                                  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
2657                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2658  </p>  </p>
2659  </blockquote>  </blockquote>
2660                                
2661    
2662  <p>MULTIPLICITY -  <p>MULTIPLICITY -
2663                                </p>                                </p>
# Line 2132  Intellectual Property and Copyright Stat Line 2668  Intellectual Property and Copyright Stat
2668                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2669  </p>  </p>
2670  </blockquote>  </blockquote>
2671                                
2672    
2673  <p>DEPENDS -  <p>DEPENDS -
2674                                </p>                                </p>
# Line 2148  Intellectual Property and Copyright Stat Line 2685  Intellectual Property and Copyright Stat
2685                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2686  </p>  </p>
2687  </blockquote>  </blockquote>
2688                                
2689    
2690  <p>DEFAULT -  <p>DEFAULT -
2691                                </p>                                </p>
2692  <blockquote class="text">  <blockquote class="text">
2693  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2694                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2695                                  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,
2696                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2697                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2698                                  apostrophes (')                                  apostrophes (')
2699                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2700  </p>  </p>
2701  </blockquote>  </blockquote>
2702                                
2703    
2704  <p>RANGE_MIN -  <p>RANGE_MIN -
2705                                </p>                                </p>
# Line 2172  Intellectual Property and Copyright Stat Line 2711  Intellectual Property and Copyright Stat
2711                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2712  </p>  </p>
2713  </blockquote>  </blockquote>
2714                                
2715    
2716  <p>RANGE_MAX -  <p>RANGE_MAX -
2717                                </p>                                </p>
# Line 2183  Intellectual Property and Copyright Stat Line 2723  Intellectual Property and Copyright Stat
2723                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2724  </p>  </p>
2725  </blockquote>  </blockquote>
2726                                
2727    
2728  <p>POSSIBILITIES -  <p>POSSIBILITIES -
2729                                </p>                                </p>
# Line 2193  Intellectual Property and Copyright Stat Line 2734  Intellectual Property and Copyright Stat
2734                                  (optionally returned, dependent to driver parameter)                                  (optionally returned, dependent to driver parameter)
2735  </p>  </p>
2736  </blockquote>  </blockquote>
2737                                
2738    
2739  </blockquote>  </blockquote><p>
2740                        
2741    </p>
2742  <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.
2743  </p>  </p>
2744  <p>Example:  <p>Example:
2745  </p>  </p>
2746  <p></p>  <p>
2747                            </p>
2748  <blockquote class="text">  <blockquote class="text">
2749  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"  <p>C: "GET MIDI_INPUT_DRIVER_PARAMETER INFO ALSA ACTIVE"
2750  </p>  </p>
# Line 2218  Intellectual Property and Copyright Stat Line 2762  Intellectual Property and Copyright Stat
2762  </p>  </p>
2763  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
2764  </p>  </p>
2765  </blockquote>  </blockquote><p>
2766                        
2767  <a name="rfc.section.6.3.5"></a><h4><a name="CREATE MIDI_INPUT_DEVICE">6.3.5</a>&nbsp;Creating a MIDI input device</h4>  </p>
2768    <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2769    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2770    <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2771    Creating a MIDI input device</h3>
2772    
2773  <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:
2774  </p>  </p>
2775  <p></p>  <p>
2776                            </p>
2777  <blockquote class="text">  <blockquote class="text">
2778  <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;]
2779  </p>  </p>
2780  </blockquote>  </blockquote><p>
2781                        
2782    </p>
2783  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2784                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span>Getting all available MIDI input drivers</span></a> command and &lt;param-list&gt; by an                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an
2785                      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
2786                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2787                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 2240  Intellectual Property and Copyright Stat Line 2790  Intellectual Property and Copyright Stat
2790  </p>  </p>
2791  <p>Possible Answers:  <p>Possible Answers:
2792  </p>  </p>
2793  <p></p>  <p>
2794                            </p>
2795  <blockquote class="text">  <blockquote class="text">
2796  <p>"OK[&lt;device-id&gt;]" -  <p>"OK[&lt;device-id&gt;]" -
2797                                  </p>                                  </p>
# Line 2249  Intellectual Property and Copyright Stat Line 2800  Intellectual Property and Copyright Stat
2800                                      &lt;device-id&gt; is the numerical ID of the new device                                      &lt;device-id&gt; is the numerical ID of the new device
2801  </p>  </p>
2802  </blockquote>  </blockquote>
2803                                
2804    
2805  <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;" -
2806                                  </p>                                  </p>
# Line 2259  Intellectual Property and Copyright Stat Line 2811  Intellectual Property and Copyright Stat
2811                                      appropriate warning code and warning message                                      appropriate warning code and warning message
2812  </p>  </p>
2813  </blockquote>  </blockquote>
2814                                
2815    
2816  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2817                                  </p>                                  </p>
# Line 2266  Intellectual Property and Copyright Stat Line 2819  Intellectual Property and Copyright Stat
2819  <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
2820  </p>  </p>
2821  </blockquote>  </blockquote>
2822                                
2823    
2824  </blockquote>  </blockquote><p>
2825                        
2826    </p>
2827  <p>Example:  <p>Example:
2828  </p>  </p>
2829  <p></p>  <p>
2830                            </p>
2831  <blockquote class="text">  <blockquote class="text">
2832  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"  <p>C: "CREATE MIDI_INPUT_DEVICE ALSA"
2833  </p>  </p>
2834  <p>S: "OK[0]"  <p>S: "OK[0]"
2835  </p>  </p>
2836  </blockquote>  </blockquote><p>
2837                        
2838  <a name="rfc.section.6.3.6"></a><h4><a name="DESTROY MIDI_INPUT_DEVICE">6.3.6</a>&nbsp;Destroying a MIDI input device</h4>  </p>
2839    <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2840    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2841    <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2842    Destroying a MIDI input device</h3>
2843    
2844  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2845  </p>  </p>
2846  <p></p>  <p>
2847                            </p>
2848  <blockquote class="text">  <blockquote class="text">
2849  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;  <p>DESTROY MIDI_INPUT_DEVICE &lt;device-id&gt;
2850  </p>  </p>
2851  </blockquote>  </blockquote><p>
2852                        
2853    </p>
2854  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2855                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2856                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2857                      command.                      command.
2858  </p>  </p>
2859  <p>Possible Answers:  <p>Possible Answers:
2860  </p>  </p>
2861  <p></p>  <p>
2862                            </p>
2863  <blockquote class="text">  <blockquote class="text">
2864  <p>"OK" -  <p>"OK" -
2865                                  </p>                                  </p>
# Line 2304  Intellectual Property and Copyright Stat Line 2867  Intellectual Property and Copyright Stat
2867  <p>in case the device was successfully destroyed  <p>in case the device was successfully destroyed
2868  </p>  </p>
2869  </blockquote>  </blockquote>
2870                                
2871    
2872  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
2873                                  </p>                                  </p>
# Line 2313  Intellectual Property and Copyright Stat Line 2877  Intellectual Property and Copyright Stat
2877                                      warning message                                      warning message
2878  </p>  </p>
2879  </blockquote>  </blockquote>
2880                                
2881    
2882  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
2883                                  </p>                                  </p>
# Line 2320  Intellectual Property and Copyright Stat Line 2885  Intellectual Property and Copyright Stat
2885  <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
2886  </p>  </p>
2887  </blockquote>  </blockquote>
2888                                
2889    
2890  </blockquote>  </blockquote><p>
2891                        
2892    </p>
2893  <p>Example:  <p>Example:
2894  </p>  </p>
2895  <p></p>  <p>
2896                            </p>
2897  <blockquote class="text">  <blockquote class="text">
2898  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"  <p>C: "DESTROY MIDI_INPUT_DEVICE 0"
2899  </p>  </p>
2900  <p>S: "OK"  <p>S: "OK"
2901  </p>  </p>
2902  </blockquote>  </blockquote><p>
2903                        
2904  <a name="rfc.section.6.3.7"></a><h4><a name="GET MIDI_INPUT_DEVICES">6.3.7</a>&nbsp;Getting all created MIDI input device count</h4>  </p>
2905    <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2906    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2907    <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2908    Getting all created MIDI input device count</h3>
2909    
2910  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2911  </p>  </p>
2912  <p></p>  <p>
2913                            </p>
2914  <blockquote class="text">  <blockquote class="text">
2915  <p>GET MIDI_INPUT_DEVICES  <p>GET MIDI_INPUT_DEVICES
2916  </p>  </p>
2917  </blockquote>  </blockquote><p>
2918                        
2919    </p>
2920  <p>Possible Answers:  <p>Possible Answers:
2921  </p>  </p>
2922  <p></p>  <p>
2923                            </p>
2924  <blockquote class="text">  <blockquote class="text">
2925  <p>LinuxSampler will answer by sending the current number of all  <p>LinuxSampler will answer by sending the current number of all
2926                              MIDI input devices.                              MIDI input devices.
2927  </p>  </p>
2928  </blockquote>  </blockquote><p>
2929                        
2930    </p>
2931  <p>Example:  <p>Example:
2932  </p>  </p>
2933  <p></p>  <p>
2934                            </p>
2935  <blockquote class="text">  <blockquote class="text">
2936  <p>C: "GET MIDI_INPUT_DEVICES"  <p>C: "GET MIDI_INPUT_DEVICES"
2937  </p>  </p>
2938  <p>S: "3"  <p>S: "3"
2939  </p>  </p>
2940  </blockquote>  </blockquote><p>
2941                        
2942  <a name="rfc.section.6.3.8"></a><h4><a name="LIST MIDI_INPUT_DEVICES">6.3.8</a>&nbsp;Getting all created MIDI input device list</h4>  </p>
2943    <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2944    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2945    <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2946    Getting all created MIDI input device list</h3>
2947    
2948  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2949  </p>  </p>
2950  <p></p>  <p>
2951                            </p>
2952  <blockquote class="text">  <blockquote class="text">
2953  <p>LIST MIDI_INPUT_DEVICES  <p>LIST MIDI_INPUT_DEVICES
2954  </p>  </p>
2955  </blockquote>  </blockquote><p>
2956                        
2957    </p>
2958  <p>Possible Answers:  <p>Possible Answers:
2959  </p>  </p>
2960  <p></p>  <p>
2961                            </p>
2962  <blockquote class="text">  <blockquote class="text">
2963  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
2964                              with the numerical Ids of all created MIDI input devices.                              with the numerical Ids of all created MIDI input devices.
2965  </p>  </p>
2966  </blockquote>  </blockquote><p>
2967                        
2968    </p>
2969  <p>Examples:  <p>Examples:
2970  </p>  </p>
2971  <p></p>  <p>
2972                            </p>
2973  <blockquote class="text">  <blockquote class="text">
2974  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2975  </p>  </p>
2976  <p>S: "0,1,2"  <p>S: "0,1,2"
2977  </p>  </p>
2978  </blockquote>  </blockquote><p>
2979                        
2980  <p></p>  </p>
2981    <p>
2982                            </p>
2983  <blockquote class="text">  <blockquote class="text">
2984  <p>C: "LIST MIDI_INPUT_DEVICES"  <p>C: "LIST MIDI_INPUT_DEVICES"
2985  </p>  </p>
2986  <p>S: "1,3"  <p>S: "1,3"
2987  </p>  </p>
2988  </blockquote>  </blockquote><p>
2989                        
2990  <a name="rfc.section.6.3.9"></a><h4><a name="GET MIDI_INPUT_DEVICE INFO">6.3.9</a>&nbsp;Getting current settings of a MIDI input device</h4>  </p>
2991    <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2992    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2993    <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2994    Getting current settings of a MIDI input device</h3>
2995    
2996  <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:
2997  </p>  </p>
2998  <p></p>  <p>
2999                            </p>
3000  <blockquote class="text">  <blockquote class="text">
3001  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;  <p>GET MIDI_INPUT_DEVICE INFO &lt;device-id&gt;
3002  </p>  </p>
3003  </blockquote>  </blockquote><p>
3004                        
3005    </p>
3006  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3007                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3008                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3009                      command.                      command.
3010  </p>  </p>
3011  <p>Possible Answers:  <p>Possible Answers:
3012  </p>  </p>
3013  <p></p>  <p>
3014                            </p>
3015  <blockquote class="text">  <blockquote class="text">
3016  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3017                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2426  Intellectual Property and Copyright Stat Line 3021  Intellectual Property and Copyright Stat
3021                              encapsulated into apostrophes ('). At the moment the following                              encapsulated into apostrophes ('). At the moment the following
3022                              information categories are defined (independent of driver):                              information categories are defined (independent of driver):
3023  </p>  </p>
3024  <p></p>  <p>
3025                                    </p>
3026  <blockquote class="text">  <blockquote class="text">
3027  <p>DRIVER -  <p>DRIVER -
3028                                          </p>                                          </p>
3029  <blockquote class="text">  <blockquote class="text">
3030  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
3031                                              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>
3032                                              command                                              command
3033  </p>  </p>
3034  </blockquote>  </blockquote>
3035                                        
3036    
3037  </blockquote>  </blockquote>
3038                                    
3039  <blockquote class="text">  <blockquote class="text">
3040  <p><p>ACTIVE -  <p>ACTIVE -
3041                                          </p>                                          </p>
3042  <blockquote class="text">  <blockquote class="text">
3043  <p>either true or false, if false then the MIDI device is  <p>either true or false, if false then the MIDI device is
# Line 2448  Intellectual Property and Copyright Stat Line 3046  Intellectual Property and Copyright Stat
3046                                              channels                                              channels
3047  </p>  </p>
3048  </blockquote>  </blockquote>
3049                                        
3050    
3051  </blockquote>  </blockquote>
3052                                
3053    
3054  </blockquote>  </blockquote><p>
3055                        
3056    </p>
3057  <p>The mentioned fields above don't have to be in particular  <p>The mentioned fields above don't have to be in particular
3058                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3059                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3060                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3061                      <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
3062                      by this command.                      by this command.
3063  </p>  </p>
3064  <p>Example:  <p>Example:
3065  </p>  </p>
3066  <p></p>  <p>
3067                            </p>
3068  <blockquote class="text">  <blockquote class="text">
3069  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"  <p>C: "GET MIDI_INPUT_DEVICE INFO 0"
3070  </p>  </p>
# Line 2472  Intellectual Property and Copyright Stat Line 3074  Intellectual Property and Copyright Stat
3074  </p>  </p>
3075  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3076  </p>  </p>
3077  </blockquote>  </blockquote><p>
3078                        
3079  <a name="rfc.section.6.3.10"></a><h4><a name="SET MIDI_INPUT_DEVICE_PARAMETER">6.3.10</a>&nbsp;Changing settings of MIDI input devices</h4>  </p>
3080    <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3081    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3082    <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3083    Changing settings of MIDI input devices</h3>
3084    
3085  <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:
3086  </p>  </p>
3087  <p></p>  <p>
3088                            </p>
3089  <blockquote class="text">  <blockquote class="text">
3090  <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;
3091  </p>  </p>
3092  </blockquote>  </blockquote><p>
3093                        
3094    </p>
3095  <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
3096                      MIDI input device as returned by the                      MIDI input device as returned by the
3097                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3098                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3099                      command, &lt;key&gt; by the name of the parameter to change and                      command, &lt;key&gt; by the name of the parameter to change and
3100                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3101  </p>  </p>
3102  <p>Possible Answers:  <p>Possible Answers:
3103  </p>  </p>
3104  <p></p>  <p>
3105                            </p>
3106  <blockquote class="text">  <blockquote class="text">
3107  <p>"OK" -  <p>"OK" -
3108                                  </p>                                  </p>
# Line 2501  Intellectual Property and Copyright Stat Line 3110  Intellectual Property and Copyright Stat
3110  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3111  </p>  </p>
3112  </blockquote>  </blockquote>
3113                                
3114    
3115  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3116                                  </p>                                  </p>
# Line 2510  Intellectual Property and Copyright Stat Line 3120  Intellectual Property and Copyright Stat
3120                                      warning code and warning message                                      warning code and warning message
3121  </p>  </p>
3122  </blockquote>  </blockquote>
3123                                
3124    
3125  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3126                                  </p>                                  </p>
# Line 2517  Intellectual Property and Copyright Stat Line 3128  Intellectual Property and Copyright Stat
3128  <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
3129  </p>  </p>
3130  </blockquote>  </blockquote>
3131                                
3132    
3133  </blockquote>  </blockquote><p>
3134                        
3135    </p>
3136  <p>Example:  <p>Example:
3137  </p>  </p>
3138  <p></p>  <p>
3139                            </p>
3140  <blockquote class="text">  <blockquote class="text">
3141  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"  <p>C: "SET MIDI_INPUT_DEVICE_PARAMETER 0 ACTIVE=false"
3142  </p>  </p>
3143  <p>S: "OK"  <p>S: "OK"
3144  </p>  </p>
3145  </blockquote>  </blockquote><p>
3146                        
3147  <a name="rfc.section.6.3.11"></a><h4><a name="GET MIDI_INPUT_PORT INFO">6.3.11</a>&nbsp;Getting information about a MIDI port</h4>  </p>
3148    <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3149    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3150    <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3151    Getting information about a MIDI port</h3>
3152    
3153  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3154  </p>  </p>
3155  <p></p>  <p>
3156                            </p>
3157  <blockquote class="text">  <blockquote class="text">
3158  <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;
3159  </p>  </p>
3160  </blockquote>  </blockquote><p>
3161                        
3162    </p>
3163  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3164                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3165                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3166                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3167  </p>  </p>
3168  <p>Possible Answers:  <p>Possible Answers:
3169  </p>  </p>
3170  <p></p>  <p>
3171                            </p>
3172  <blockquote class="text">  <blockquote class="text">
3173  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3174                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2561  Intellectual Property and Copyright Stat Line 3182  Intellectual Property and Copyright Stat
3182  <p>arbitrary character string naming the port  <p>arbitrary character string naming the port
3183  </p>  </p>
3184  </blockquote>  </blockquote>
3185                                
3186    
3187  </blockquote>  </blockquote><p>
3188                        
3189    </p>
3190  <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
3191                      ports regardless of the MIDI driver and port. Every MIDI port                      ports regardless of the MIDI driver and port. Every MIDI port
3192                      might have its own, additional driver and port specific                      might have its own, additional driver and port specific
# Line 2571  Intellectual Property and Copyright Stat Line 3194  Intellectual Property and Copyright Stat
3194  </p>  </p>
3195  <p>Example:  <p>Example:
3196  </p>  </p>
3197  <p></p>  <p>
3198                            </p>
3199  <blockquote class="text">  <blockquote class="text">
3200  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"  <p>C: "GET MIDI_INPUT_PORT INFO 0 0"
3201  </p>  </p>
# Line 2581  Intellectual Property and Copyright Stat Line 3205  Intellectual Property and Copyright Stat
3205  </p>  </p>
3206  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3207  </p>  </p>
3208  </blockquote>  </blockquote><p>
3209                        
3210  <a name="rfc.section.6.3.12"></a><h4><a name="GET MIDI_INPUT_PORT_PARAMETER INFO">6.3.12</a>&nbsp;Getting information about specific MIDI port parameter</h4>  </p>
3211    <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3212    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3213    <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3214    Getting information about specific MIDI port parameter</h3>
3215    
3216  <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:
3217  </p>  </p>
3218  <p></p>  <p>
3219                            </p>
3220  <blockquote class="text">  <blockquote class="text">
3221  <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;
3222  </p>  </p>
3223  </blockquote>  </blockquote><p>
3224                        
3225    </p>
3226  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
3227                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3228                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3229                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3230                      &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
3231                      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).
3232  </p>  </p>
3233  <p>Possible Answers:  <p>Possible Answers:
3234  </p>  </p>
3235  <p></p>  <p>
3236                            </p>
3237  <blockquote class="text">  <blockquote class="text">
3238  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3239                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 2622  Intellectual Property and Copyright Stat Line 3253  Intellectual Property and Copyright Stat
3253                                      (always returned)                                      (always returned)
3254  </p>  </p>
3255  </blockquote>  </blockquote>
3256                                
3257    
3258  <p>DESCRIPTION -  <p>DESCRIPTION -
3259                                  </p>                                  </p>
# Line 2630  Intellectual Property and Copyright Stat Line 3262  Intellectual Property and Copyright Stat
3262                                      (always returned)                                      (always returned)
3263  </p>  </p>
3264  </blockquote>  </blockquote>
3265                                
3266    
3267  <p>FIX -  <p>FIX -
3268                                  </p>                                  </p>
# Line 2639  Intellectual Property and Copyright Stat Line 3272  Intellectual Property and Copyright Stat
3272                                      (always returned)                                      (always returned)
3273  </p>  </p>
3274  </blockquote>  </blockquote>
3275                                
3276    
3277  <p>MULTIPLICITY -  <p>MULTIPLICITY -
3278                                  </p>                                  </p>
# Line 2649  Intellectual Property and Copyright Stat Line 3283  Intellectual Property and Copyright Stat
3283                                      (always returned)                                      (always returned)
3284  </p>  </p>
3285  </blockquote>  </blockquote>
3286                                
3287    
3288  <p>RANGE_MIN -  <p>RANGE_MIN -
3289                                  </p>                                  </p>
# Line 2661  Intellectual Property and Copyright Stat Line 3296  Intellectual Property and Copyright Stat
3296                                      parameter)                                      parameter)
3297  </p>  </p>
3298  </blockquote>  </blockquote>
3299                                
3300    
3301  <p>RANGE_MAX -  <p>RANGE_MAX -
3302                                  </p>                                  </p>
# Line 2673  Intellectual Property and Copyright Stat Line 3309  Intellectual Property and Copyright Stat
3309                                      parameter)                                      parameter)
3310  </p>  </p>
3311  </blockquote>  </blockquote>
3312                                
3313    
3314  <p>POSSIBILITIES -  <p>POSSIBILITIES -
3315                                  </p>                                  </p>
# Line 2684  Intellectual Property and Copyright Stat Line 3321  Intellectual Property and Copyright Stat
3321                                      parameter)                                      parameter)
3322  </p>  </p>
3323  </blockquote>  </blockquote>
3324                                
3325    
3326  </blockquote>  </blockquote><p>
3327                        
3328    </p>
3329  <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.
3330  </p>  </p>
3331  <p>Example:  <p>Example:
3332  </p>  </p>
3333  <p></p>  <p>
3334                            </p>
3335  <blockquote class="text">  <blockquote class="text">
3336  <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"
3337  </p>  </p>
# Line 2707  Intellectual Property and Copyright Stat Line 3347  Intellectual Property and Copyright Stat
3347  </p>  </p>
3348  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3349  </p>  </p>
3350  </blockquote>  </blockquote><p>
3351                        
3352  <a name="rfc.section.6.3.13"></a><h4><a name="SET MIDI_INPUT_PORT_PARAMETER">6.3.13</a>&nbsp;Changing settings of MIDI input ports</h4>  </p>
3353    <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3354    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3355    <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3356    Changing settings of MIDI input ports</h3>
3357    
3358  <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:
3359  </p>  </p>
3360  <p></p>  <p>
3361                            </p>
3362  <blockquote class="text">  <blockquote class="text">
3363  <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;
3364  </p>  </p>
3365  </blockquote>  </blockquote><p>
3366                        
3367    </p>
3368  <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
3369                      MIDI device as returned by the                      MIDI device as returned by the
3370                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3371                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3372                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3373                      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
3374                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3375                        for specifying no value for parameters allowing a list of values.
3376  </p>  </p>
3377  <p>Possible Answers:  <p>Possible Answers:
3378  </p>  </p>
3379  <p></p>  <p>
3380                            </p>
3381  <blockquote class="text">  <blockquote class="text">
3382  <p>"OK" -  <p>"OK" -
3383                                  </p>                                  </p>
# Line 2737  Intellectual Property and Copyright Stat Line 3385  Intellectual Property and Copyright Stat
3385  <p>in case setting was successfully changed  <p>in case setting was successfully changed
3386  </p>  </p>
3387  </blockquote>  </blockquote>
3388                                
3389    
3390  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3391                                  </p>                                  </p>
# Line 2746  Intellectual Property and Copyright Stat Line 3395  Intellectual Property and Copyright Stat
3395                                      warning code and warning message                                      warning code and warning message
3396  </p>  </p>
3397  </blockquote>  </blockquote>
3398                                
3399    
3400  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3401                                  </p>                                  </p>
# Line 2753  Intellectual Property and Copyright Stat Line 3403  Intellectual Property and Copyright Stat
3403  <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
3404  </p>  </p>
3405  </blockquote>  </blockquote>
3406                                
3407    
3408  </blockquote>  </blockquote><p>
3409                        
3410    </p>
3411  <p>Example:  <p>Example:
3412  </p>  </p>
3413  <p></p>  <p>
3414                            </p>
3415  <blockquote class="text">  <blockquote class="text">
3416    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3417    </p>
3418    <p>S: "OK"
3419    </p>
3420    </blockquote><p>
3421                        
3422    </p>
3423  <p>  <p>
3424                            </p>
3425    <blockquote class="text">
3426    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3427  </p>  </p>
3428  </blockquote>  <p>S: "OK"
3429    </p>
3430  <a name="rfc.section.6.4"></a><h4><a name="anchor11">6.4</a>&nbsp;Configuring sampler channels</h4>  </blockquote><p>
3431                        
3432    </p>
3433    <a name="anchor11"></a><br /><hr />
3434    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3435    <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3436    Configuring sampler channels</h3>
3437    
3438  <p>The following commands describe how to add and remove sampler channels, associate a  <p>The following commands describe how to add and remove sampler channels, associate a
3439                  sampler channel with a sampler engine, load instruments and connect sampler channels to                  sampler channel with a sampler engine, load instruments and connect sampler channels to
3440                  MIDI and audio devices.                  MIDI and audio devices.
3441  </p>  </p>
3442  <a name="rfc.section.6.4.1"></a><h4><a name="LOAD INSTRUMENT">6.4.1</a>&nbsp;Loading an instrument</h4>  <a name="LOAD INSTRUMENT"></a><br /><hr />
3443    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3444    <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3445    Loading an instrument</h3>
3446    
3447  <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:
3448  </p>  </p>
3449  <p></p>  <p>
3450                            </p>
3451  <blockquote class="text">  <blockquote class="text">
3452  <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;
3453  </p>  </p>
3454  </blockquote>  </blockquote><p>
3455                        
3456    </p>
3457  <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
3458                      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
3459                      instrument in the instrument file and &lt;sampler-channel> is the                      instrument in the instrument file and &lt;sampler-channel> is the
3460                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3461                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3462  </p>  </p>
3463    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3464                        escape characters for special characters (see chapter
3465                        "<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>"
3466                        for details) and accordingly backslash characters in the filename
3467                        MUST now be escaped as well!
3468    </p>
3469  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3470                      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
3471                      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
3472                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3473                      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>
3474                      command can be used to obtain loading                      command can be used to obtain loading
3475                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3476                      such as making sure that the file could be read and it is of a proper format                      such as making sure that the file could be read and it is of a proper format
# Line 2799  Intellectual Property and Copyright Stat Line 3479  Intellectual Property and Copyright Stat
3479  </p>  </p>
3480  <p>Possible Answers:  <p>Possible Answers:
3481  </p>  </p>
3482  <p></p>  <p>
3483                            </p>
3484  <blockquote class="text">  <blockquote class="text">
3485  <p>"OK" -  <p>"OK" -
3486                                  </p>                                  </p>
# Line 2807  Intellectual Property and Copyright Stat Line 3488  Intellectual Property and Copyright Stat
3488  <p>in case the instrument was successfully loaded  <p>in case the instrument was successfully loaded
3489  </p>  </p>
3490  </blockquote>  </blockquote>
3491                                
3492    
3493  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3494                                  </p>                                  </p>
# Line 2818  Intellectual Property and Copyright Stat Line 3500  Intellectual Property and Copyright Stat
3500                                      warning message                                      warning message
3501  </p>  </p>
3502  </blockquote>  </blockquote>
3503                                
3504    
3505  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3506                                  </p>                                  </p>
# Line 2825  Intellectual Property and Copyright Stat Line 3508  Intellectual Property and Copyright Stat
3508  <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
3509  </p>  </p>
3510  </blockquote>  </blockquote>
3511                                
3512    
3513  </blockquote>  </blockquote><p>
3514                        
 <p>Example:  
3515  </p>  </p>
3516  <p></p>  <p>Example (Unix):
3517    </p>
3518    <p>
3519                            </p>
3520  <blockquote class="text">  <blockquote class="text">
3521    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3522    </p>
3523    <p>S: OK
3524    </p>
3525    </blockquote><p>
3526                        
3527    </p>
3528    <p>Example (Windows):
3529    </p>
3530  <p>  <p>
3531                            </p>
3532    <blockquote class="text">
3533    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3534  </p>  </p>
3535  </blockquote>  <p>S: OK
3536    </p>
3537  <a name="rfc.section.6.4.2"></a><h4><a name="LOAD ENGINE">6.4.2</a>&nbsp;Loading a sampler engine</h4>  </blockquote><p>
3538                        
3539    </p>
3540    <a name="LOAD ENGINE"></a><br /><hr />
3541    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3542    <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3543    Loading a sampler engine</h3>
3544    
3545  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3546                      channel by the following command:                      channel by the following command:
3547  </p>  </p>
3548  <p></p>  <p>
3549                            </p>
3550  <blockquote class="text">  <blockquote class="text">
3551  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;  <p>LOAD ENGINE &lt;engine-name&gt; &lt;sampler-channel&gt;
3552  </p>  </p>
3553  </blockquote>  </blockquote><p>
3554                        
3555    </p>
3556  <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
3557                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span>Getting all available engines</span></a> command and &lt;sampler-channel&gt;                      <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command and &lt;sampler-channel&gt;
3558                      the sampler channel as returned by the                      the sampler channel as returned by the
3559                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a> or                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> or
3560                      <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command where                      <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command where
3561                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3562                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3563                      commands on the new sampler channel. It can also be used to change                      commands on the new sampler channel. It can also be used to change
# Line 2863  Intellectual Property and Copyright Stat Line 3569  Intellectual Property and Copyright Stat
3569  </p>  </p>
3570  <p>Possible Answers:  <p>Possible Answers:
3571  </p>  </p>
3572  <p></p>  <p>
3573                            </p>
3574  <blockquote class="text">  <blockquote class="text">
3575  <p>"OK" -  <p>"OK" -
3576                                  </p>                                  </p>
# Line 2871  Intellectual Property and Copyright Stat Line 3578  Intellectual Property and Copyright Stat
3578  <p>in case the engine was successfully deployed  <p>in case the engine was successfully deployed
3579  </p>  </p>
3580  </blockquote>  </blockquote>
3581                                
3582    
3583  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3584                                  </p>                                  </p>
# Line 2880  Intellectual Property and Copyright Stat Line 3588  Intellectual Property and Copyright Stat
3588                                      warning code and warning message                                      warning code and warning message
3589  </p>  </p>
3590  </blockquote>  </blockquote>
3591                                
3592    
3593  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3594                                  </p>                                  </p>
# Line 2888  Intellectual Property and Copyright Stat Line 3597  Intellectual Property and Copyright Stat
3597                                      error message                                      error message
3598  </p>  </p>
3599  </blockquote>  </blockquote>
3600                                
3601    
3602  </blockquote>  </blockquote><p>
3603                        
3604    </p>
3605  <p>Example:  <p>Example:
3606  </p>  </p>
3607  <p></p>  <p>
3608                            </p>
3609  <blockquote class="text">  <blockquote class="text">
3610  <p>  <p>
3611  </p>  </p>
3612  </blockquote>  </blockquote><p>
3613                        
3614  <a name="rfc.section.6.4.3"></a><h4><a name="GET CHANNELS">6.4.3</a>&nbsp;Getting all created sampler channel count</h4>  </p>
3615    <a name="GET CHANNELS"></a><br /><hr />
3616    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3617    <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3618    Getting all created sampler channel count</h3>
3619    
3620  <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
3621                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
3622                      following command:                      following command:
3623  </p>  </p>
3624  <p></p>  <p>
3625                            </p>
3626  <blockquote class="text">  <blockquote class="text">
3627  <p>GET CHANNELS  <p>GET CHANNELS
3628  </p>  </p>
3629  </blockquote>  </blockquote><p>
3630                        
3631    </p>
3632  <p>Possible Answers:  <p>Possible Answers:
3633  </p>  </p>
3634  <p></p>  <p>
3635                            </p>
3636  <blockquote class="text">  <blockquote class="text">
3637  <p>LinuxSampler will answer by returning the current number of sampler channels.  <p>LinuxSampler will answer by returning the current number of sampler channels.
3638  </p>  </p>
3639  </blockquote>  </blockquote><p>
3640                        
3641    </p>
3642  <p>Example:  <p>Example:
3643  </p>  </p>
3644  <p></p>  <p>
3645                            </p>
3646  <blockquote class="text">  <blockquote class="text">
3647  <p>C: "GET CHANNELS"  <p>C: "GET CHANNELS"
3648  </p>  </p>
3649  <p>S: "12"  <p>S: "12"
3650  </p>  </p>
3651  </blockquote>  </blockquote><p>
3652                        
3653  <a name="rfc.section.6.4.4"></a><h4><a name="LIST CHANNELS">6.4.4</a>&nbsp;Getting all created sampler channel list</h4>  </p>
3654    <a name="LIST CHANNELS"></a><br /><hr />
3655    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3656    <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3657    Getting all created sampler channel list</h3>
3658    
3659  <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
3660                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
3661                      following command:                      following command:
3662  </p>  </p>
3663  <p></p>  <p>
3664                            </p>
3665  <blockquote class="text">  <blockquote class="text">
3666  <p>LIST CHANNELS  <p>LIST CHANNELS
3667  </p>  </p>
3668  </blockquote>  </blockquote><p>
3669                        
3670    </p>
3671  <p>Possible Answers:  <p>Possible Answers:
3672  </p>  </p>
3673  <p></p>  <p>
3674                            </p>
3675  <blockquote class="text">  <blockquote class="text">
3676  <p>LinuxSampler will answer by returning a comma separated list  <p>LinuxSampler will answer by returning a comma separated list
3677                              with all sampler channels numerical IDs.                              with all sampler channels numerical IDs.
3678  </p>  </p>
3679  </blockquote>  </blockquote><p>
3680                        
3681    </p>
3682  <p>Example:  <p>Example:
3683  </p>  </p>
3684  <p></p>  <p>
3685                            </p>
3686  <blockquote class="text">  <blockquote class="text">
3687  <p>C: "LIST CHANNELS"  <p>C: "LIST CHANNELS"
3688  </p>  </p>
3689  <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"
3690  </p>  </p>
3691  </blockquote>  </blockquote><p>
3692                        
3693  <a name="rfc.section.6.4.5"></a><h4><a name="ADD CHANNEL">6.4.5</a>&nbsp;Adding a new sampler channel</h4>  </p>
3694    <a name="ADD CHANNEL"></a><br /><hr />
3695    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3696    <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3697    Adding a new sampler channel</h3>
3698    
3699  <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
3700                      channel list by sending the following command:                      channel list by sending the following command:
3701  </p>  </p>
3702  <p></p>  <p>
3703                            </p>
3704  <blockquote class="text">  <blockquote class="text">
3705  <p>ADD CHANNEL  <p>ADD CHANNEL
3706  </p>  </p>
3707  </blockquote>  </blockquote><p>
3708                        
3709    </p>
3710  <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
3711                      sampler channel will be appended to the end of the sampler channel                      sampler channel will be appended to the end of the sampler channel
3712                      list. The front-end should send the respective, related commands                      list. The front-end should send the respective, related commands
# Line 2983  Intellectual Property and Copyright Stat Line 3719  Intellectual Property and Copyright Stat
3719  </p>  </p>
3720  <p>Possible Answers:  <p>Possible Answers:
3721  </p>  </p>
3722  <p></p>  <p>
3723                            </p>
3724  <blockquote class="text">  <blockquote class="text">
3725  <p>"OK[&lt;sampler-channel&gt;]" -  <p>"OK[&lt;sampler-channel&gt;]" -
3726                                  </p>                                  </p>
# Line 2995  Intellectual Property and Copyright Stat Line 3732  Intellectual Property and Copyright Stat
3732                                      commands                                      commands
3733  </p>  </p>
3734  </blockquote>  </blockquote>
3735                                
3736    
3737  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3738                                  </p>                                  </p>
# Line 3004  Intellectual Property and Copyright Stat Line 3742  Intellectual Property and Copyright Stat
3742                                      warning code and warning message                                      warning code and warning message
3743  </p>  </p>
3744  </blockquote>  </blockquote>
3745                                
3746    
3747  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3748                                  </p>                                  </p>
# Line 3012  Intellectual Property and Copyright Stat Line 3751  Intellectual Property and Copyright Stat
3751                                      error message                                      error message
3752  </p>  </p>
3753  </blockquote>  </blockquote>
3754                                
3755    
3756  </blockquote>  </blockquote><p>
3757                        
3758    </p>
3759  <p>Example:  <p>Example:
3760  </p>  </p>
3761  <p></p>  <p>
3762                            </p>
3763  <blockquote class="text">  <blockquote class="text">
3764  <p>  <p>
3765  </p>  </p>
3766  </blockquote>  </blockquote><p>
3767                        
3768  <a name="rfc.section.6.4.6"></a><h4><a name="REMOVE CHANNEL">6.4.6</a>&nbsp;Removing a sampler channel</h4>  </p>
3769    <a name="REMOVE CHANNEL"></a><br /><hr />
3770    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3771    <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3772    Removing a sampler channel</h3>
3773    
3774  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3775  </p>  </p>
3776  <p></p>  <p>
3777                            </p>
3778  <blockquote class="text">  <blockquote class="text">
3779  <p>REMOVE CHANNEL &lt;sampler-channel&gt;  <p>REMOVE CHANNEL &lt;sampler-channel&gt;
3780  </p>  </p>
3781  </blockquote>  </blockquote><p>
3782                        
3783    </p>
3784  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3785                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3786                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3787                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a>                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3788                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3789                      remain the same.                      remain the same.
3790  </p>  </p>
3791  <p>Possible Answers:  <p>Possible Answers:
3792  </p>  </p>
3793  <p></p>  <p>
3794                            </p>
3795  <blockquote class="text">  <blockquote class="text">
3796  <p>"OK" -  <p>"OK" -
3797                                  </p>                                  </p>
# Line 3050  Intellectual Property and Copyright Stat Line 3799  Intellectual Property and Copyright Stat
3799  <p>in case the given sampler channel could be removed  <p>in case the given sampler channel could be removed
3800  </p>  </p>
3801  </blockquote>  </blockquote>
3802                                
3803    
3804  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
3805                                  </p>                                  </p>
# Line 3059  Intellectual Property and Copyright Stat Line 3809  Intellectual Property and Copyright Stat
3809                                      warning code and warning message                                      warning code and warning message
3810  </p>  </p>
3811  </blockquote>  </blockquote>
3812                                
3813    
3814  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
3815                                  </p>                                  </p>
# Line 3067  Intellectual Property and Copyright Stat Line 3818  Intellectual Property and Copyright Stat
3818                                      error message                                      error message
3819  </p>  </p>
3820  </blockquote>  </blockquote>
3821                                
3822    
3823  </blockquote>  </blockquote><p>
3824                        
3825    </p>
3826  <p>Example:  <p>Example:
3827  </p>  </p>
3828  <p></p>  <p>
3829                            </p>
3830  <blockquote class="text">  <blockquote class="text">
3831  <p>  <p>
3832  </p>  </p>
3833  </blockquote>  </blockquote><p>
3834                        
3835  <a name="rfc.section.6.4.7"></a><h4><a name="GET AVAILABLE_ENGINES">6.4.7</a>&nbsp;Getting amount of available engines</h4>  </p>
3836    <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3837    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3838    <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3839    Getting amount of available engines</h3>
3840    
3841  <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:
3842  </p>  </p>
3843  <p></p>  <p>
3844                            </p>
3845  <blockquote class="text">  <blockquote class="text">
3846  <p>GET AVAILABLE_ENGINES  <p>GET AVAILABLE_ENGINES
3847  </p>  </p>
3848  </blockquote>  </blockquote><p>
3849                        
3850    </p>
3851  <p>Possible Answers:  <p>Possible Answers:
3852  </p>  </p>
3853  <p></p>  <p>
3854                            </p>
3855  <blockquote class="text">  <blockquote class="text">
3856  <p>LinuxSampler will answer by sending the number of available engines.  <p>LinuxSampler will answer by sending the number of available engines.
3857  </p>  </p>
3858  </blockquote>  </blockquote><p>
3859                        
3860    </p>
3861  <p>Example:  <p>Example:
3862  </p>  </p>
3863  <p></p>  <p>
3864                            </p>
3865  <blockquote class="text">  <blockquote class="text">
3866  <p>C: "GET AVAILABLE_ENGINES"  <p>C: "GET AVAILABLE_ENGINES"
3867  </p>  </p>
3868  <p>S: "4"  <p>S: "4"
3869  </p>  </p>
3870  </blockquote>  </blockquote><p>
3871                        
3872  <a name="rfc.section.6.4.8"></a><h4><a name="LIST AVAILABLE_ENGINES">6.4.8</a>&nbsp;Getting all available engines</h4>  </p>
3873    <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3874    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3875    <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3876    Getting all available engines</h3>
3877    
3878  <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:
3879  </p>  </p>
3880  <p></p>  <p>
3881                            </p>
3882  <blockquote class="text">  <blockquote class="text">
3883  <p>LIST AVAILABLE_ENGINES  <p>LIST AVAILABLE_ENGINES
3884  </p>  </p>
3885  </blockquote>  </blockquote><p>
3886                        
3887    </p>
3888  <p>Possible Answers:  <p>Possible Answers:
3889  </p>  </p>
3890  <p></p>  <p>
3891                            </p>
3892  <blockquote class="text">  <blockquote class="text">
3893  <p>LinuxSampler will answer by sending a comma separated list  <p>LinuxSampler will answer by sending a comma separated list
3894                              of the engines' names encapsulated into apostrophes (').                              of the engines' names encapsulated into apostrophes (').
3895                              Engine names can consist of lower and upper cases,                              Engine names can consist of lower and upper cases,
3896                              digits and underlines ("_" character).                              digits and underlines ("_" character).
3897  </p>  </p>
3898  </blockquote>  </blockquote><p>
3899                        
3900    </p>
3901  <p>Example:  <p>Example:
3902  </p>  </p>
3903  <p></p>  <p>
3904                            </p>
3905  <blockquote class="text">  <blockquote class="text">
3906  <p>C: "LIST AVAILABLE_ENGINES"  <p>C: "LIST AVAILABLE_ENGINES"
3907  </p>  </p>
3908  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"  <p>S: "'GigEngine','AkaiEngine','DLSEngine','JoesCustomEngine'"
3909  </p>  </p>
3910  </blockquote>  </blockquote><p>
3911                        
3912  <a name="rfc.section.6.4.9"></a><h4><a name="GET ENGINE INFO">6.4.9</a>&nbsp;Getting information about an engine</h4>  </p>
3913    <a name="GET ENGINE INFO"></a><br /><hr />
3914    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3915    <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3916    Getting information about an engine</h3>
3917    
3918  <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
3919                      sending the following command:                      sending the following command:
3920  </p>  </p>
3921  <p></p>  <p>
3922                            </p>
3923  <blockquote class="text">  <blockquote class="text">
3924  <p>GET ENGINE INFO &lt;engine-name&gt;  <p>GET ENGINE INFO &lt;engine-name&gt;
3925  </p>  </p>
3926  </blockquote>  </blockquote><p>
3927                        
3928    </p>
3929  <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
3930                      <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.
3931  </p>  </p>
3932  <p>Possible Answers:  <p>Possible Answers:
3933  </p>  </p>
3934  <p></p>  <p>
3935                            </p>
3936  <blockquote class="text">  <blockquote class="text">
3937  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
3938                              Each answer line begins with the information category name                              Each answer line begins with the information category name
# Line 3161  Intellectual Property and Copyright Stat Line 3940  Intellectual Property and Copyright Stat
3940                              the info character string to that info category. At the moment                              the info character string to that info category. At the moment
3941                              the following categories are defined:                              the following categories are defined:
3942  </p>  </p>
3943  <p></p>  <p>
3944                                    </p>
3945  <blockquote class="text">  <blockquote class="text">
3946  <p>DESCRIPTION -  <p>DESCRIPTION -
3947                                          </p>                                          </p>
3948  <blockquote class="text">  <blockquote class="text">
3949  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3950                                                (note that the character string may contain
3951                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3952  </p>  </p>
3953  </blockquote>  </blockquote>
3954                                        
3955    
3956  <p>VERSION -  <p>VERSION -
3957                                          </p>                                          </p>
# Line 3176  Intellectual Property and Copyright Stat Line 3959  Intellectual Property and Copyright Stat
3959  <p>arbitrary character string regarding the engine's version  <p>arbitrary character string regarding the engine's version
3960  </p>  </p>
3961  </blockquote>  </blockquote>
3962                                        
3963    
3964  </blockquote>  </blockquote>
3965                                
3966    
3967  </blockquote>  </blockquote><p>
3968                        
3969    </p>
3970  <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.
3971  </p>  </p>
3972  <p>Example:  <p>Example:
3973  </p>  </p>
3974  <p></p>  <p>
3975                            </p>
3976  <blockquote class="text">  <blockquote class="text">
3977  <p>C: "GET ENGINE INFO JoesCustomEngine"  <p>C: "GET ENGINE INFO JoesCustomEngine"
3978  </p>  </p>
# Line 3195  Intellectual Property and Copyright Stat Line 3982  Intellectual Property and Copyright Stat
3982  </p>  </p>
3983  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
3984  </p>  </p>
3985  </blockquote>  </blockquote><p>
3986                        
3987  <a name="rfc.section.6.4.10"></a><h4><a name="GET CHANNEL INFO">6.4.10</a>&nbsp;Getting sampler channel information</h4>  </p>
3988    <a name="GET CHANNEL INFO"></a><br /><hr />
3989    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3990    <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3991    Getting sampler channel information</h3>
3992    
3993  <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
3994                      by sending the following command:                      by sending the following command:
3995  </p>  </p>
3996  <p></p>  <p>
3997                            </p>
3998  <blockquote class="text">  <blockquote class="text">
3999  <p>GET CHANNEL INFO &lt;sampler-channel&gt;  <p>GET CHANNEL INFO &lt;sampler-channel&gt;
4000  </p>  </p>
4001  </blockquote>  </blockquote><p>
4002                        
4003    </p>
4004  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4005                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4006                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4007  </p>  </p>
4008  <p>Possible Answers:  <p>Possible Answers:
4009  </p>  </p>
4010  <p></p>  <p>
4011                            </p>
4012  <blockquote class="text">  <blockquote class="text">
4013  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
4014                              Each answer line begins with the settings category name                              Each answer line begins with the settings category name
# Line 3222  Intellectual Property and Copyright Stat Line 4016  Intellectual Property and Copyright Stat
4016                              the info character string to that setting category. At the                              the info character string to that setting category. At the
4017                              moment the following categories are defined:                              moment the following categories are defined:
4018  </p>  </p>
4019  <p></p>  <p>
4020                                    </p>
4021  <blockquote class="text">  <blockquote class="text">
4022  <p>ENGINE_NAME -  <p>ENGINE_NAME -
4023                                          </p>                                          </p>
# Line 3232  Intellectual Property and Copyright Stat Line 4027  Intellectual Property and Copyright Stat
4027                                              this sampler channel                                              this sampler channel
4028  </p>  </p>
4029  </blockquote>  </blockquote>
4030                                        
4031    
4032  <p>AUDIO_OUTPUT_DEVICE -  <p>AUDIO_OUTPUT_DEVICE -
4033                                          </p>                                          </p>
4034  <blockquote class="text">  <blockquote class="text">
4035  <p>numerical ID of the audio output device which is  <p>numerical ID of the audio output device which is
4036                                              currently connected to this sampler channel to output                                              currently connected to this sampler channel to output
4037                                              the audio signal, "NONE" if there's no device                                              the audio signal, "-1" if there's no device
4038                                              connected to this sampler channel                                              connected to this sampler channel
4039  </p>  </p>
4040  </blockquote>  </blockquote>
4041                                        
4042    
4043  <p>AUDIO_OUTPUT_CHANNELS -  <p>AUDIO_OUTPUT_CHANNELS -
4044                                          </p>                                          </p>
# Line 3250  Intellectual Property and Copyright Stat Line 4047  Intellectual Property and Copyright Stat
4047                                              (dependent to used sampler engine and loaded instrument)                                              (dependent to used sampler engine and loaded instrument)
4048  </p>  </p>
4049  </blockquote>  </blockquote>
4050                                        
4051    
4052  <p>AUDIO_OUTPUT_ROUTING -  <p>AUDIO_OUTPUT_ROUTING -
4053                                          </p>                                          </p>
# Line 3263  Intellectual Property and Copyright Stat Line 4061  Intellectual Property and Copyright Stat
4061                                              output device                                              output device
4062  </p>  </p>
4063  </blockquote>  </blockquote>
4064                                        
4065    
4066  <p>INSTRUMENT_FILE -  <p>INSTRUMENT_FILE -
4067                                          </p>                                          </p>
4068  <blockquote class="text">  <blockquote class="text">
4069  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4070                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4071                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4072                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4073  </p>  </p>
4074  </blockquote>  </blockquote>
4075                                        
4076    
4077  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4078                                          </p>                                          </p>
4079  <blockquote class="text">  <blockquote class="text">
4080  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument,
4081                                                "-1" if there's no instrument loaded for this sampler
4082                                                channel
4083  </p>  </p>
4084  </blockquote>  </blockquote>
4085                                        
4086    
4087  <p>INSTRUMENT_NAME -  <p>INSTRUMENT_NAME -
4088                                          </p>                                          </p>
4089  <blockquote class="text">  <blockquote class="text">
4090  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4091                                                (note: since LSCP 1.2 this character string may contain
4092                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4093  </p>  </p>
4094  </blockquote>  </blockquote>
4095                                        
4096    
4097  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4098                                          </p>                                          </p>
4099  <blockquote class="text">  <blockquote class="text">
4100  <p>integer values 0 to 100 indicating loading progress percentage for the instrument. Negative  <p>Integer values 0 to 100 indicating loading progress
4101                                              value indicates a loading exception. Value of 100 indicates that the instrument is fully                                              percentage for the instrument. Negative
4102                                                value indicates a loading exception (also returns "-1" in case no
4103                                                instrument was yet to be loaded on the sampler channel).
4104                                                Value of 100 indicates that the instrument is fully
4105                                              loaded.                                              loaded.
4106  </p>  </p>
4107  </blockquote>  </blockquote>
4108                                        
4109    
4110  <p>MIDI_INPUT_DEVICE -  <p>MIDI_INPUT_DEVICE -
4111                                          </p>                                          </p>
4112  <blockquote class="text">  <blockquote class="text">
4113  <p>numerical ID of the MIDI input device which is  <p>numerical ID of the MIDI input device which is
4114                                              currently connected to this sampler channel to deliver                                              currently connected to this sampler channel to deliver
4115                                              MIDI input commands, "NONE" if there's no device                                              MIDI input commands, "-1" if there's no device
4116                                              connected to this sampler channel                                              connected to this sampler channel
4117  </p>  </p>
4118  </blockquote>  </blockquote>
4119                                        
4120    
4121  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4122                                          </p>                                          </p>
4123  <blockquote class="text">  <blockquote class="text">
4124  <p>port number of the MIDI input device  <p>port number of the MIDI input device (in case a
4125                                                MIDI device was already assigned to the sampler
4126                                                channel)
4127  </p>  </p>
4128  </blockquote>  </blockquote>
4129                                        
4130    
4131  <p>MIDI_INPUT_CHANNEL -  <p>MIDI_INPUT_CHANNEL -
4132                                          </p>                                          </p>
# Line 3320  Intellectual Property and Copyright Stat Line 4135  Intellectual Property and Copyright Stat
4135                                              should listen to or "ALL" to listen on all MIDI channels                                              should listen to or "ALL" to listen on all MIDI channels
4136  </p>  </p>
4137  </blockquote>  </blockquote>
4138                                        
4139    
4140  <p>VOLUME -  <p>VOLUME -
4141                                          </p>                                          </p>
4142  <blockquote class="text">  <blockquote class="text">
4143  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4144                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4145                                              1.0 means amplification)                                              1.0 means amplification)
4146  </p>  </p>
4147  </blockquote>  </blockquote>
4148                                        
4149    
4150    <p>MUTE -
4151                                            </p>
4152    <blockquote class="text">
4153    <p>Determines whether the channel is muted, "true" if the
4154                                                channel is muted, "false" if the channel is not muted, and
4155                                                "MUTED_BY_SOLO" if the channel is muted because of the
4156                                                presence of a solo channel and will be unmuted when
4157                                                there are no solo channels left
4158    </p>
4159  </blockquote>  </blockquote>
4160                                        
4161    
4162    <p>SOLO -
4163                                            </p>
4164    <blockquote class="text">
4165    <p>Determines whether this is a solo channel, "true" if
4166                                                the channel is a solo channel; "false" otherwise
4167    </p>
4168  </blockquote>  </blockquote>
4169                                        
4170    
4171    <p>MIDI_INSTRUMENT_MAP -
4172                                            </p>
4173    <blockquote class="text">
4174    <p>Determines to which MIDI instrument map this sampler
4175                                                channel is assigned to. Read chapter
4176                                                <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>
4177                                                for a list of possible values.
4178    </p>
4179    </blockquote>
4180                                        
4181    
4182    </blockquote>
4183                                
4184    
4185    </blockquote><p>
4186                        
4187    </p>
4188  <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.
4189  </p>  </p>
4190  <p>Example:  <p>Example:
4191  </p>  </p>
4192  <p></p>  <p>
4193                            </p>
4194  <blockquote class="text">  <blockquote class="text">
4195  <p>C: "GET CHANNEL INFO 34"  <p>C: "GET CHANNEL INFO 34"
4196  </p>  </p>
# Line 3366  Intellectual Property and Copyright Stat Line 4218  Intellectual Property and Copyright Stat
4218  </p>  </p>
4219  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4220  </p>  </p>
4221    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4222    </p>
4223    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4224    </p>
4225    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4226    </p>
4227    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4228    </p>
4229  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4230  </p>  </p>
4231  </blockquote>  </blockquote><p>
4232                        
4233  <a name="rfc.section.6.4.11"></a><h4><a name="GET CHANNEL VOICE_COUNT">6.4.11</a>&nbsp;Current number of active voices</h4>  </p>
4234    <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4235    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4236    <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4237    Current number of active voices</h3>
4238    
4239  <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
4240                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4241  </p>  </p>
4242  <p></p>  <p>
4243                            </p>
4244  <blockquote class="text">  <blockquote class="text">
4245  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL VOICE_COUNT &lt;sampler-channel&gt;
4246  </p>  </p>
4247  </blockquote>  </blockquote><p>
4248                        
4249    </p>
4250  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4251                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4252                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4253  </p>  </p>
4254  <p>Possible Answers:  <p>Possible Answers:
4255  </p>  </p>
4256  <p></p>  <p>
4257                            </p>
4258  <blockquote class="text">  <blockquote class="text">
4259  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4260                              voices on that channel.                              voices on that channel.
4261  </p>  </p>
4262  </blockquote>  </blockquote><p>
4263                        
4264    </p>
4265  <p>Example:  <p>Example:
4266  </p>  </p>
4267  <p></p>  <p>
4268                            </p>
4269  <blockquote class="text">  <blockquote class="text">
4270  <p>  <p>
4271  </p>  </p>
4272  </blockquote>  </blockquote><p>
4273                        
4274  <a name="rfc.section.6.4.12"></a><h4><a name="GET CHANNEL STREAM_COUNT">6.4.12</a>&nbsp;Current number of active disk streams</h4>  </p>
4275    <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4276    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4277    <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4278    Current number of active disk streams</h3>
4279    
4280  <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
4281                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4282  </p>  </p>
4283  <p></p>  <p>
4284                            </p>
4285  <blockquote class="text">  <blockquote class="text">
4286  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;  <p>GET CHANNEL STREAM_COUNT &lt;sampler-channel&gt;
4287  </p>  </p>
4288  </blockquote>  </blockquote><p>
4289                        
4290    </p>
4291  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4292                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4293                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4294  </p>  </p>
4295  <p>Possible Answers:  <p>Possible Answers:
4296  </p>  </p>
4297  <p></p>  <p>
4298                            </p>
4299  <blockquote class="text">  <blockquote class="text">
4300  <p>LinuxSampler will answer by returning the number of active  <p>LinuxSampler will answer by returning the number of active
4301                              disk streams on that channel in case the engine supports disk                              disk streams on that channel in case the engine supports disk
4302                              streaming, if the engine doesn't support disk streaming it will                              streaming, if the engine doesn't support disk streaming it will
4303                              return "NA" for not available.                              return "NA" for not available.
4304  </p>  </p>
4305  </blockquote>  </blockquote><p>
4306                        
4307    </p>
4308  <p>Example:  <p>Example:
4309  </p>  </p>
4310  <p></p>  <p>
4311                            </p>
4312  <blockquote class="text">  <blockquote class="text">
4313  <p>  <p>
4314  </p>  </p>
4315  </blockquote>  </blockquote><p>
4316                        
4317  <a name="rfc.section.6.4.13"></a><h4><a name="GET CHANNEL BUFFER_FILL">6.4.13</a>&nbsp;Current fill state of disk stream buffers</h4>  </p>
4318    <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4319    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4320    <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4321    Current fill state of disk stream buffers</h3>
4322    
4323  <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
4324                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
4325  </p>  </p>
4326  <p></p>  <p>
4327                            </p>
4328  <blockquote class="text">  <blockquote class="text">
4329  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL BYTES &lt;sampler-channel&gt;
4330  </p>  </p>
4331  </blockquote>  </blockquote><p>
4332                        
4333    </p>
4334  <p>to get the fill state in bytes or  <p>to get the fill state in bytes or
4335  </p>  </p>
4336  <p></p>  <p>
4337                            </p>
4338  <blockquote class="text">  <blockquote class="text">
4339  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;  <p>GET CHANNEL BUFFER_FILL PERCENTAGE &lt;sampler-channel&gt;
4340  </p>  </p>
4341  </blockquote>  </blockquote><p>
4342                        
4343    </p>
4344  <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
4345                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4346                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4347                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4348  </p>  </p>
4349  <p>Possible Answers:  <p>Possible Answers:
4350  </p>  </p>
4351  <p></p>  <p>
4352                            </p>
4353  <blockquote class="text">  <blockquote class="text">
4354  <p>LinuxSampler will either answer by returning a comma separated  <p>LinuxSampler will either answer by returning a comma separated
4355                              string with the fill state of all disk stream buffers on that                              string with the fill state of all disk stream buffers on that
# Line 3475  Intellectual Property and Copyright Stat Line 4362  Intellectual Property and Copyright Stat
4362                              the response are not in particular order, thus the front-end has                              the response are not in particular order, thus the front-end has
4363                              to sort them by itself if necessary.                              to sort them by itself if necessary.
4364  </p>  </p>
4365  </blockquote>  </blockquote><p>
4366                        
4367    </p>
4368  <p>Examples:  <p>Examples:
4369  </p>  </p>
4370  <p></p>  <p>
4371                            </p>
4372  <blockquote class="text">  <blockquote class="text">
4373  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"  <p>C: "GET CHANNEL BUFFER_FILL BYTES 4"
4374  </p>  </p>
4375  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"  <p>S: "[115]420500,[116]510300,[75]110000,[120]230700"
4376  </p>  </p>
4377  </blockquote>  </blockquote><p>
4378    
4379                            </p>
4380  <blockquote class="text">  <blockquote class="text">
4381  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4382  </p>  </p>
4383  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"  <p>S: "[115]90%,[116]98%,[75]40%,[120]62%"
4384  </p>  </p>
4385  </blockquote>  </blockquote><p>
4386    
4387                            </p>
4388  <blockquote class="text">  <blockquote class="text">
4389  <p><p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"  <p>C: "GET CHANNEL BUFFER_FILL PERCENTAGE 4"
4390  </p>  </p>
4391  <p>S: ""  <p>S: ""
4392  </p>  </p>
4393  </blockquote>  </blockquote><p>
4394                        
4395  <a name="rfc.section.6.4.14"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14</a>&nbsp;Setting audio output device</h4>  </p>
4396    <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4397    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4398    <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4399    Setting audio output device</h3>
4400    
4401  <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
4402                      channel by sending the following command:                      channel by sending the following command:
4403  </p>  </p>
4404  <p></p>  <p>
4405                            </p>
4406  <blockquote class="text">  <blockquote class="text">
4407  <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;
4408  </p>  </p>
4409  </blockquote>  </blockquote><p>
4410                        
4411    </p>
4412  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4413                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4414                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4415                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4416                      <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>
4417                      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>
4418                      command.                      command.
4419  </p>  </p>
4420  <p>Possible Answers:  <p>Possible Answers:
4421  </p>  </p>
4422  <p></p>  <p>
4423                            </p>
4424  <blockquote class="text">  <blockquote class="text">
4425  <p>"OK" -  <p>"OK" -
4426                                  </p>                                  </p>
# Line 3528  Intellectual Property and Copyright Stat Line 4428  Intellectual Property and Copyright Stat
4428  <p>on success  <p>on success
4429  </p>  </p>
4430  </blockquote>  </blockquote>
4431                                
4432    
4433  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4434                                  </p>                                  </p>
# Line 3537  Intellectual Property and Copyright Stat Line 4438  Intellectual Property and Copyright Stat
4438                                      warning message                                      warning message
4439  </p>  </p>
4440  </blockquote>  </blockquote>
4441                                
4442    
4443  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4444                                  </p>                                  </p>
# Line 3544  Intellectual Property and Copyright Stat Line 4446  Intellectual Property and Copyright Stat
4446  <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
4447  </p>  </p>
4448  </blockquote>  </blockquote>
4449                                
4450    
4451  </blockquote>  </blockquote><p>
4452                        
4453    </p>
4454  <p>Examples:  <p>Examples:
4455  </p>  </p>
4456  <p></p>  <p>
4457                            </p>
4458  <blockquote class="text">  <blockquote class="text">
4459  <p>  <p>
4460  </p>  </p>
4461  </blockquote>  </blockquote><p>
4462                        
4463  <a name="rfc.section.6.4.15"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15</a>&nbsp;Setting audio output type</h4>  </p>
4464    <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4465    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4466    <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4467    Setting audio output type</h3>
4468    
4469  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4470  </p>  </p>
4471  <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
4472                      channel by sending the following command:                      channel by sending the following command:
4473  </p>  </p>
4474  <p></p>  <p>
4475                            </p>
4476  <blockquote class="text">  <blockquote class="text">
4477  <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;
4478  </p>  </p>
4479  </blockquote>  </blockquote><p>
4480                        
4481    </p>
4482  <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
4483                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4484  </p>  </p>
4485  <p>Possible Answers:  <p>Possible Answers:
4486  </p>  </p>
4487  <p></p>  <p>
4488                            </p>
4489  <blockquote class="text">  <blockquote class="text">
4490  <p>"OK" -  <p>"OK" -
4491                                  </p>                                  </p>
# Line 3581  Intellectual Property and Copyright Stat Line 4493  Intellectual Property and Copyright Stat
4493  <p>on success  <p>on success
4494  </p>  </p>
4495  </blockquote>  </blockquote>
4496                                
4497    
4498  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4499                                  </p>                                  </p>
# Line 3590  Intellectual Property and Copyright Stat Line 4503  Intellectual Property and Copyright Stat
4503                                      warning message                                      warning message
4504  </p>  </p>
4505  </blockquote>  </blockquote>
4506                                
4507    
4508  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4509                                  </p>                                  </p>
# Line 3597  Intellectual Property and Copyright Stat Line 4511  Intellectual Property and Copyright Stat
4511  <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
4512  </p>  </p>
4513  </blockquote>  </blockquote>
4514                                
4515    
4516  </blockquote>  </blockquote><p>
4517                        
4518    </p>
4519  <p>Examples:  <p>Examples:
4520  </p>  </p>
4521  <p></p>  <p>
4522                            </p>
4523  <blockquote class="text">  <blockquote class="text">
4524  <p>  <p>
4525  </p>  </p>
4526  </blockquote>  </blockquote><p>
4527                        
4528  <a name="rfc.section.6.4.16"></a><h4><a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16</a>&nbsp;Setting audio output channel</h4>  </p>
4529    <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4530    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4531    <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4532    Setting audio output channel</h3>
4533    
4534  <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
4535                      sampler channel by sending the following command:                      sampler channel by sending the following command:
4536  </p>  </p>
4537  <p></p>  <p>
4538                            </p>
4539  <blockquote class="text">  <blockquote class="text">
4540  <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;
4541  </p>  </p>
4542  </blockquote>  </blockquote><p>
4543                        
4544    </p>
4545  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4546                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4547                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command, &lt;audio-out&gt; is the                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the
4548                      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
4549                      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
4550                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
4551  </p>  </p>
4552  <p>Possible Answers:  <p>Possible Answers:
4553  </p>  </p>
4554  <p></p>  <p>
4555                            </p>
4556  <blockquote class="text">  <blockquote class="text">
4557  <p>"OK" -  <p>"OK" -
4558                                  </p>                                  </p>
# Line 3636  Intellectual Property and Copyright Stat Line 4560  Intellectual Property and Copyright Stat
4560  <p>on success  <p>on success
4561  </p>  </p>
4562  </blockquote>  </blockquote>
4563                                
4564    
4565  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4566                                  </p>                                  </p>
# Line 3645  Intellectual Property and Copyright Stat Line 4570  Intellectual Property and Copyright Stat
4570                                      warning message                                      warning message
4571  </p>  </p>
4572  </blockquote>  </blockquote>
4573                                
4574    
4575  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4576                                  </p>                                  </p>
# Line 3652  Intellectual Property and Copyright Stat Line 4578  Intellectual Property and Copyright Stat
4578  <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
4579  </p>  </p>
4580  </blockquote>  </blockquote>
4581                                
4582    
4583  </blockquote>  </blockquote><p>
4584                        
4585    </p>
4586  <p>Examples:  <p>Examples:
4587  </p>  </p>
4588  <p></p>  <p>
4589                            </p>
4590  <blockquote class="text">  <blockquote class="text">
4591  <p>  <p>
4592  </p>  </p>
4593  </blockquote>  </blockquote><p>
4594                        
4595  <a name="rfc.section.6.4.17"></a><h4><a name="SET CHANNEL MIDI_INPUT_DEVICE">6.4.17</a>&nbsp;Setting MIDI input device</h4>  </p>
4596    <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4597    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4598    <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4599    Setting MIDI input device</h3>
4600    
4601  <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
4602                      channel by sending the following command:                      channel by sending the following command:
4603  </p>  </p>
4604  <p></p>  <p>
4605                            </p>
4606  <blockquote class="text">  <blockquote class="text">
4607  <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;
4608  </p>  </p>
4609  </blockquote>  </blockquote><p>
4610                        
4611    </p>
4612  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4613                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span>Adding a new sampler channel</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4614                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span>Getting all created sampler channel list</span></a> command                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command
4615                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4616                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span>Creating a MIDI input device</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
4617                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span>Getting all created MIDI input device list</span></a> command.                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a> command.
4618  </p>  </p>
4619  <p>Possible Answers:  <p>Possible Answers:
4620  </p>  </p>
4621  <p></p>  <p>
4622                            </p>
4623  <blockquote class="text">  <blockquote class="text">
4624  <p>"OK" -  <p>"OK" -
4625                                  </p>                                  </p>
# Line 3691  Intellectual Property and Copyright Stat Line 4627  Intellectual Property and Copyright Stat
4627  <p>on success  <p>on success
4628  </p>  </p>
4629  </blockquote>  </blockquote>
4630                                
4631    
4632  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4633                                  </p>                                  </p>
# Line 3700  Intellectual Property and Copyright Stat Line 4637  Intellectual Property and Copyright Stat
4637                                      warning message                                      warning message
4638  </p>  </p>
4639  </blockquote>  </blockquote>
4640                                
4641    
4642  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4643                                  </p>                                  </p>
# Line 3707  Intellectual Property and Copyright Stat Line 4645  Intellectual Property and Copyright Stat
4645  <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
4646  </p>  </p>
4647  </blockquote>  </blockquote>
4648                                
4649    
4650  </blockquote>  </blockquote><p>
4651                        
4652    </p>
4653  <p>Examples:  <p>Examples:
4654  </p>  </p>
4655  <p></p>  <p>
4656                            </p>
4657  <blockquote class="text">  <blockquote class="text">
4658  <p>  <p>
4659  </p>  </p>
4660  </blockquote>  </blockquote><p>
4661                        
4662  <a name="rfc.section.6.4.18"></a><h4><a name="SET CHANNEL MIDI_INPUT_TYPE">6.4.18</a>&nbsp;Setting MIDI input type</h4>  </p>
4663    <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4664    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4665    <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4666    Setting MIDI input type</h3>
4667    
4668  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4669  </p>  </p>
4670  <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
4671                      channel by sending the following command:                      channel by sending the following command:
4672  </p>  </p>
4673  <p></p>  <p>
4674                            </p>
4675  <blockquote class="text">  <blockquote class="text">
4676  <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;
4677  </p>  </p>
4678  </blockquote>  </blockquote><p>
4679                        
4680    </p>
4681  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and  <p>Where &lt;midi-input-type&gt; is currently only "ALSA" and
4682                      &lt;sampler-channel&gt; is the respective sampler channel number.                      &lt;sampler-channel&gt; is the respective sampler channel number.
4683  </p>  </p>
4684  <p>Possible Answers:  <p>Possible Answers:
4685  </p>  </p>
4686  <p></p>  <p>
4687                            </p>
4688  <blockquote class="text">  <blockquote class="text">
4689  <p>"OK" -  <p>"OK" -
4690                                  </p>                                  </p>
# Line 3744  Intellectual Property and Copyright Stat Line 4692  Intellectual Property and Copyright Stat
4692  <p>on success  <p>on success
4693  </p>  </p>
4694  </blockquote>  </blockquote>
4695                                
4696    
4697  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4698                                  </p>                                  </p>
# Line 3753  Intellectual Property and Copyright Stat Line 4702  Intellectual Property and Copyright Stat
4702                                      warning message                                      warning message
4703  </p>  </p>
4704  </blockquote>  </blockquote>
4705                                
4706    
4707  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4708                                  </p>                                  </p>
# Line 3760  Intellectual Property and Copyright Stat Line 4710  Intellectual Property and Copyright Stat
4710  <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
4711  </p>  </p>
4712  </blockquote>  </blockquote>
4713                                
4714    
4715  </blockquote>  </blockquote><p>
4716                        
4717    </p>
4718  <p>Examples:  <p>Examples:
4719  </p>  </p>
4720  <p></p>  <p>
4721                            </p>
4722  <blockquote class="text">  <blockquote class="text">
4723  <p>  <p>
4724  </p>  </p>
4725  </blockquote>  </blockquote><p>
4726                        
4727  <a name="rfc.section.6.4.19"></a><h4><a name="SET CHANNEL MIDI_INPUT_PORT">6.4.19</a>&nbsp;Setting MIDI input port</h4>  </p>
4728    <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4729    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4730    <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4731    Setting MIDI input port</h3>
4732    
4733  <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
4734                      channel by sending the following command:                      channel by sending the following command:
4735  </p>  </p>
4736  <p></p>  <p>
4737                            </p>
4738  <blockquote class="text">  <blockquote class="text">
4739  <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;
4740  </p>  </p>
4741  </blockquote>  </blockquote><p>
4742                        
4743    </p>
4744  <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
4745                      MIDI input device connected to the sampler channel given by                      MIDI input device connected to the sampler channel given by
4746                      &lt;sampler-channel&gt;.                      &lt;sampler-channel&gt;.
4747  </p>  </p>
4748  <p>Possible Answers:  <p>Possible Answers:
4749  </p>  </p>
4750  <p></p>  <p>
4751                            </p>
4752  <blockquote class="text">  <blockquote class="text">
4753  <p>"OK" -  <p>"OK" -
4754                                  </p>                                  </p>
# Line 3796  Intellectual Property and Copyright Stat Line 4756  Intellectual Property and Copyright Stat
4756  <p>on success  <p>on success
4757  </p>  </p>
4758  </blockquote>  </blockquote>
4759                                
4760    
4761  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4762                                  </p>                                  </p>
# Line 3805  Intellectual Property and Copyright Stat Line 4766  Intellectual Property and Copyright Stat
4766                                      warning message                                      warning message
4767  </p>  </p>
4768  </blockquote>  </blockquote>
4769                                
4770    
4771  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4772                                  </p>                                  </p>
# Line 3812  Intellectual Property and Copyright Stat Line 4774  Intellectual Property and Copyright Stat
4774  <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
4775  </p>  </p>
4776  </blockquote>  </blockquote>
4777                                
4778    
4779  </blockquote>  </blockquote><p>
4780                        
4781    </p>
4782  <p>Examples:  <p>Examples:
4783  </p>  </p>
4784  <p></p>  <p>
4785                            </p>
4786  <blockquote class="text">  <blockquote class="text">
4787  <p>  <p>
4788  </p>  </p>
4789  </blockquote>  </blockquote><p>
4790                        
4791  <a name="rfc.section.6.4.20"></a><h4><a name="SET CHANNEL MIDI_INPUT_CHANNEL">6.4.20</a>&nbsp;Setting MIDI input channel</h4>  </p>
4792    <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4793    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4794    <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4795    Setting MIDI input channel</h3>
4796    
4797  <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
4798                      listen to by sending the following command:                      listen to by sending the following command:
4799  </p>  </p>
4800  <p></p>  <p>
4801                            </p>
4802  <blockquote class="text">  <blockquote class="text">
4803  <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;
4804  </p>  </p>
4805  </blockquote>  </blockquote><p>
4806                        
4807    </p>
4808  <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
4809                      &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
4810                      channels.                      channels.
4811  </p>  </p>
4812  <p>Possible Answers:  <p>Possible Answers:
4813  </p>  </p>
4814  <p></p>  <p>
4815                            </p>
4816  <blockquote class="text">  <blockquote class="text">
4817  <p>"OK" -  <p>"OK" -
4818                                  </p>                                  </p>
# Line 3848  Intellectual Property and Copyright Stat Line 4820  Intellectual Property and Copyright Stat
4820  <p>on success  <p>on success
4821  </p>  </p>
4822  </blockquote>  </blockquote>
4823                                
4824    
4825  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4826                                  </p>                                  </p>
# Line 3857  Intellectual Property and Copyright Stat Line 4830  Intellectual Property and Copyright Stat
4830                                      warning message                                      warning message
4831  </p>  </p>
4832  </blockquote>  </blockquote>
4833                                
4834    
4835  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4836                                  </p>                                  </p>
# Line 3864  Intellectual Property and Copyright Stat Line 4838  Intellectual Property and Copyright Stat
4838  <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
4839  </p>  </p>
4840  </blockquote>  </blockquote>
4841                                
4842    
4843  </blockquote>  </blockquote><p>
4844                        
4845    </p>
4846  <p>Examples:  <p>Examples:
4847  </p>  </p>
4848  <p></p>  <p>
4849                            </p>
4850  <blockquote class="text">  <blockquote class="text">
4851  <p>  <p>
4852  </p>  </p>
4853  </blockquote>  </blockquote><p>
4854                        
4855  <a name="rfc.section.6.4.21"></a><h4><a name="SET CHANNEL VOLUME">6.4.21</a>&nbsp;Setting channel volume</h4>  </p>
4856    <a name="SET CHANNEL VOLUME"></a><br /><hr />
4857    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4858    <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4859    Setting channel volume</h3>
4860    
4861  <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
4862                      the following command:                      the following command:
4863  </p>  </p>
4864  <p></p>  <p>
4865                            </p>
4866  <blockquote class="text">  <blockquote class="text">
4867  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;  <p>SET CHANNEL VOLUME &lt;sampler-channel&gt; &lt;volume&gt;
4868  </p>  </p>
4869  </blockquote>  </blockquote><p>
4870                        
4871    </p>
4872  <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
4873                      smaller than 1.0 means attenuation, whereas a value greater than                      smaller than 1.0 means attenuation, whereas a value greater than
4874                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler                      1.0 means amplification) and &lt;sampler-channel&gt; defines the sampler
# Line 3893  Intellectual Property and Copyright Stat Line 4876  Intellectual Property and Copyright Stat
4876  </p>  </p>
4877  <p>Possible Answers:  <p>Possible Answers:
4878  </p>  </p>
4879  <p></p>  <p>
4880                            </p>
4881  <blockquote class="text">  <blockquote class="text">
4882  <p>"OK" -  <p>"OK" -
4883                                  </p>                                  </p>
# Line 3901  Intellectual Property and Copyright Stat Line 4885  Intellectual Property and Copyright Stat
4885  <p>on success  <p>on success
4886  </p>  </p>
4887  </blockquote>  </blockquote>
4888                                
4889    
4890  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4891                                  </p>                                  </p>
# Line 3910  Intellectual Property and Copyright Stat Line 4895  Intellectual Property and Copyright Stat
4895                                      warning message                                      warning message
4896  </p>  </p>
4897  </blockquote>  </blockquote>
4898                                
4899    
4900  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4901                                  </p>                                  </p>
# Line 3917  Intellectual Property and Copyright Stat Line 4903  Intellectual Property and Copyright Stat
4903  <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
4904  </p>  </p>
4905  </blockquote>  </blockquote>
4906                                
4907    
4908    </blockquote><p>
4909                        
4910    </p>
4911    <p>Examples:
4912    </p>
4913    <p>
4914                            </p>
4915    <blockquote class="text">
4916    <p>
4917    </p>
4918    </blockquote><p>
4919                        
4920    </p>
4921    <a name="SET CHANNEL MUTE"></a><br /><hr />
4922    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4923    <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4924    Muting a sampler channel</h3>
4925    
4926    <p>The front-end can mute/unmute a specific sampler
4927                        channel by sending the following command:
4928    </p>
4929    <p>
4930                            </p>
4931    <blockquote class="text">
4932    <p>SET CHANNEL MUTE &lt;sampler-channel&gt; &lt;mute&gt;
4933    </p>
4934    </blockquote><p>
4935                        
4936    </p>
4937    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4938                        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>
4939                        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
4940                        &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4941                        to unmute the channel.
4942    </p>
4943    <p>Possible Answers:
4944    </p>
4945    <p>
4946                            </p>
4947    <blockquote class="text">
4948    <p>"OK" -
4949                                    </p>
4950    <blockquote class="text">
4951    <p>on success
4952    </p>
4953    </blockquote>
4954                                
4955    
4956    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
4957                                    </p>
4958    <blockquote class="text">
4959    <p>if the channel was muted/unmuted, but there are noteworthy
4960                                        issue(s) related, providing an appropriate warning code and
4961                                        warning message
4962    </p>
4963    </blockquote>
4964                                
4965    
4966    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
4967                                    </p>
4968    <blockquote class="text">
4969    <p>in case it failed, providing an appropriate error code and error message
4970    </p>
4971  </blockquote>  </blockquote>
4972                                
4973    
4974    </blockquote><p>
4975                        
4976    </p>
4977  <p>Examples:  <p>Examples:
4978  </p>  </p>
4979  <p></p>  <p>
4980                            </p>
4981    <blockquote class="text">
4982    <p>
4983    </p>
4984    </blockquote><p>
4985                        
4986    </p>
4987    <a name="SET CHANNEL SOLO"></a><br /><hr />
4988    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4989    <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4990    Soloing a sampler channel</h3>
4991    
4992    <p>The front-end can solo/unsolo a specific sampler channel
4993                        by sending the following command:
4994    </p>
4995    <p>
4996                            </p>
4997  <blockquote class="text">  <blockquote class="text">
4998    <p>SET CHANNEL SOLO &lt;sampler-channel&gt; &lt;solo&gt;
4999    </p>
5000    </blockquote><p>
5001                        
5002    </p>
5003    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5004                        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>
5005                        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
5006                        &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
5007                        to unsolo the channel.
5008    </p>
5009    <p>Possible Answers:
5010    </p>
5011  <p>  <p>
5012                            </p>
5013    <blockquote class="text">
5014    <p>"OK" -
5015                                    </p>
5016    <blockquote class="text">
5017    <p>on success
5018  </p>  </p>
5019  </blockquote>  </blockquote>
5020                                
5021    
5022  <a name="rfc.section.6.4.22"></a><h4><a name="RESET CHANNEL">6.4.22</a>&nbsp;Resetting a sampler channel</h4>  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5023                                    </p>
5024    <blockquote class="text">
5025    <p>if the channel was soloed/unsoloed, but there are noteworthy
5026                                        issue(s) related, providing an appropriate warning code and
5027                                        warning message
5028    </p>
5029    </blockquote>
5030                                
5031    
5032  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5033                                    </p>
5034    <blockquote class="text">
5035    <p>in case it failed, providing an appropriate error code and error message
5036    </p>
5037    </blockquote>
5038                                
5039    
5040    </blockquote><p>
5041                        
5042    </p>
5043    <p>Examples:
5044  </p>  </p>
5045  <p></p>  <p>
5046                            </p>
5047  <blockquote class="text">  <blockquote class="text">
5048  <p>RESET CHANNEL &lt;sampler-channel&gt;  <p>
5049    </p>
5050    </blockquote><p>
5051                        
5052    </p>
5053    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
5054    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5055    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
5056    Assigning a MIDI instrument map to a sampler channel</h3>
5057    
5058    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5059                        by sending the following command:
5060    </p>
5061    <p>
5062                            </p>
5063    <blockquote class="text">
5064    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5065    </p>
5066    </blockquote><p>
5067                        
5068    </p>
5069    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5070                        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>
5071                        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
5072                        &lt;map&gt; can have the following possibilites:
5073    </p>
5074    <p>
5075                            </p>
5076    <blockquote class="text">
5077    <p>"NONE" -
5078                                    </p>
5079    <blockquote class="text">
5080    <p>This is the default setting. In this case
5081                                        the sampler channel is not assigned any MIDI
5082                                        instrument map and thus will ignore all MIDI
5083                                        program change messages.
5084    </p>
5085    </blockquote>
5086                                
5087    
5088    <p>"DEFAULT" -
5089                                    </p>
5090    <blockquote class="text">
5091    <p>The sampler channel will always use the
5092                                        default MIDI instrument map to handle MIDI
5093                                        program change messages.
5094    </p>
5095    </blockquote>
5096                                
5097    
5098    <p>numeric ID -
5099                                    </p>
5100    <blockquote class="text">
5101    <p>You can assign a specific MIDI instrument map
5102                                        by replacing &lt;map&gt; with the respective numeric
5103                                        ID of the MIDI instrument map as returned by the
5104                                        <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>
5105                                        command. Once that map will be deleted, the sampler
5106                                        channel would fall back to "NONE".
5107    </p>
5108    </blockquote>
5109                                
5110    
5111    </blockquote><p>
5112                        
5113    </p>
5114    <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>
5115                        for details regarding MIDI instrument mapping.
5116    </p>
5117    <p>Possible Answers:
5118    </p>
5119    <p>
5120                            </p>
5121    <blockquote class="text">
5122    <p>"OK" -
5123                                    </p>
5124    <blockquote class="text">
5125    <p>on success
5126    </p>
5127    </blockquote>
5128                                
5129    
5130    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5131                                    </p>
5132    <blockquote class="text">
5133    <p>in case it failed, providing an appropriate error code and error message
5134    </p>
5135    </blockquote>
5136                                
5137    
5138    </blockquote><p>
5139                        
5140    </p>
5141    <p>Examples:
5142    </p>
5143    <p>
5144                            </p>
5145    <blockquote class="text">
5146    <p>
5147    </p>
5148    </blockquote><p>
5149                        
5150    </p>
5151    <a name="CREATE FX_SEND"></a><br /><hr />
5152    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5153    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5154    Adding an effect send to a sampler channel</h3>
5155    
5156    <p>The front-end can create an additional effect send on a specific sampler channel
5157                        by sending the following command:
5158    </p>
5159    <p>
5160                            </p>
5161    <blockquote class="text">
5162    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5163    </p>
5164    </blockquote><p>
5165                        
5166    </p>
5167    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5168                        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>
5169                        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
5170                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5171                        is a number between 0..127 defining the MIDI controller which can alter the
5172                        effect send level and &lt;name&gt; is an optional argument defining a name
5173                        for the effect send entity. The name does not have to be unique, but MUST be
5174                        encapsulated into apostrophes and supports escape sequences as described in chapter
5175                        "<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>".
5176    </p>
5177    <p>By default, that is as initial routing, the effect send's audio channels
5178                        are automatically routed to the last audio channels of the sampler channel's
5179                        audio output device, that way you can i.e. first increase the amount of audio
5180                        channels on the audio output device for having dedicated effect send output
5181                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5182                        be picked. You can alter the destination channels however with
5183                        <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>.
5184                        
5185    </p>
5186    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5187                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5188                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5189                        the voices and route the audio signal afterwards to the master outputs and effect send
5190                        outputs (along with their respective effect send levels). A sampler channel without effect
5191                        sends however can mix its voices directly into the audio output devices's audio buffers
5192                        and is thus faster.
5193                        
5194    </p>
5195    <p>Possible Answers:
5196    </p>
5197    <p>
5198                            </p>
5199    <blockquote class="text">
5200    <p>"OK[&lt;fx-send-id&gt;]" -
5201                                    </p>
5202    <blockquote class="text">
5203    <p>in case a new effect send could be added to the
5204                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5205                                        unique ID of the newly created effect send entity
5206    </p>
5207    </blockquote>
5208                                
5209    
5210    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5211                                    </p>
5212    <blockquote class="text">
5213    <p>when a new effect send could not be added, i.e.
5214                                        due to invalid parameters
5215    </p>
5216    </blockquote>
5217                                
5218    
5219    </blockquote><p>
5220                        
5221    </p>
5222    <p>Examples:
5223    </p>
5224    <p>
5225                            </p>
5226    <blockquote class="text">
5227    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5228    </p>
5229    <p>S: "OK[0]"
5230    </p>
5231    </blockquote><p>
5232                        
5233    </p>
5234    <p>
5235                            </p>
5236    <blockquote class="text">
5237    <p>C: "CREATE FX_SEND 0 93"
5238    </p>
5239    <p>S: "OK[1]"
5240    </p>
5241    </blockquote><p>
5242                        
5243    </p>
5244    <a name="DESTROY FX_SEND"></a><br /><hr />
5245    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5246    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5247    Removing an effect send from a sampler channel</h3>
5248    
5249    <p>The front-end can remove an existing effect send on a specific sampler channel
5250                        by sending the following command:
5251    </p>
5252    <p>
5253                            </p>
5254    <blockquote class="text">
5255    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5256    </p>
5257    </blockquote><p>
5258                        
5259    </p>
5260    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5261                        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>
5262                        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
5263                        sampler channel from which the effect send should be removed from and
5264                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5265                        <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>
5266                        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.
5267    </p>
5268    <p>Possible Answers:
5269    </p>
5270    <p>
5271                            </p>
5272    <blockquote class="text">
5273    <p>"OK" -
5274                                    </p>
5275    <blockquote class="text">
5276    <p>on success
5277    </p>
5278    </blockquote>
5279                                
5280    
5281    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5282                                    </p>
5283    <blockquote class="text">
5284    <p>in case it failed, providing an appropriate error code and
5285                                        error message
5286    </p>
5287    </blockquote>
5288                                
5289    
5290    </blockquote><p>
5291                        
5292    </p>
5293    <p>Example:
5294    </p>
5295    <p>
5296                            </p>
5297    <blockquote class="text">
5298    <p>C: "DESTROY FX_SEND 0 0"
5299    </p>
5300    <p>S: "OK"
5301    </p>
5302    </blockquote><p>
5303                        
5304    </p>
5305    <a name="GET FX_SENDS"></a><br /><hr />
5306    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5307    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5308    Getting amount of effect sends on a sampler channel</h3>
5309    
5310    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5311                        by sending the following command:
5312    </p>
5313    <p>
5314                            </p>
5315    <blockquote class="text">
5316    <p>GET FX_SENDS &lt;sampler-channel&gt;
5317    </p>
5318    </blockquote><p>
5319                        
5320    </p>
5321    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5322                        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>
5323                        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.
5324    </p>
5325    <p>Possible Answers:
5326    </p>
5327    <p>
5328                            </p>
5329    <blockquote class="text">
5330    <p>The sampler will answer by returning the number of effect
5331                                sends on the given sampler channel.
5332    </p>
5333    </blockquote><p>
5334                        
5335    </p>
5336    <p>Example:
5337    </p>
5338    <p>
5339                            </p>
5340    <blockquote class="text">
5341    <p>C: "GET FX_SENDS 0"
5342    </p>
5343    <p>S: "2"
5344    </p>
5345    </blockquote><p>
5346                        
5347    </p>
5348    <a name="LIST FX_SENDS"></a><br /><hr />
5349    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5350    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5351    Listing all effect sends on a sampler channel</h3>
5352    
5353    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5354                        by sending the following command:
5355    </p>
5356    <p>
5357                            </p>
5358    <blockquote class="text">
5359    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5360    </p>
5361    </blockquote><p>
5362                        
5363    </p>
5364    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5365                        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>
5366                        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.
5367    </p>
5368    <p>Possible Answers:
5369    </p>
5370    <p>
5371                            </p>
5372    <blockquote class="text">
5373    <p>The sampler will answer by returning a comma separated list
5374                                with all effect sends' numerical IDs on the given sampler
5375                                channel.
5376    </p>
5377    </blockquote><p>
5378                        
5379    </p>
5380    <p>Examples:
5381    </p>
5382    <p>
5383                            </p>
5384    <blockquote class="text">
5385    <p>C: "LIST FX_SENDS 0"
5386    </p>
5387    <p>S: "0,1"
5388    </p>
5389    </blockquote><p>
5390                        
5391    </p>
5392    <p>
5393                            </p>
5394    <blockquote class="text">
5395    <p>C: "LIST FX_SENDS 1"
5396    </p>
5397    <p>S: ""
5398    </p>
5399    </blockquote><p>
5400                        
5401    </p>
5402    <a name="GET FX_SEND INFO"></a><br /><hr />
5403    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5404    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5405    Getting effect send information</h3>
5406    
5407    <p>The front-end can ask for the current settings of an effect send entity
5408                        by sending the following command:
5409    </p>
5410    <p>
5411                            </p>
5412    <blockquote class="text">
5413    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5414    </p>
5415    </blockquote><p>
5416                        
5417    </p>
5418    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5419                        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>
5420                        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
5421                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5422                        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>
5423                        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.
5424                      
5425    </p>
5426    <p>Possible Answers:
5427    </p>
5428    <p>
5429                            </p>
5430    <blockquote class="text">
5431    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5432                                Each answer line begins with the settings category name
5433                                followed by a colon and then a space character &lt;SP&gt; and finally
5434                                the info character string to that setting category. At the
5435                                moment the following categories are defined:
5436    </p>
5437    <p>
5438                                    </p>
5439    <blockquote class="text">
5440    <p>NAME -
5441                                            </p>
5442    <blockquote class="text">
5443    <p>name of the effect send entity
5444                                                (note that this character string may contain
5445                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5446    </p>
5447    </blockquote>
5448                                        
5449    
5450    <p>MIDI_CONTROLLER -
5451                                            </p>
5452    <blockquote class="text">
5453    <p>a value between 0 and 127 reflecting the MIDI controller
5454                                                which is able to modify the effect send's send level
5455    </p>
5456    </blockquote>
5457                                        
5458    
5459    <p>LEVEL -
5460                                            </p>
5461    <blockquote class="text">
5462    <p>optionally dotted number reflecting the effect send's
5463                                                current send level (where a value &lt; 1.0 means attenuation
5464                                                and a value > 1.0 means amplification)
5465    </p>
5466    </blockquote>
5467                                        
5468    
5469    <p>AUDIO_OUTPUT_ROUTING -
5470                                            </p>
5471    <blockquote class="text">
5472    <p>comma separated list which reflects to which audio
5473                                                channel of the selected audio output device each
5474                                                effect send output channel is routed to, e.g. "0,3" would
5475                                                mean the effect send's output channel 0 is routed to channel
5476                                                0 of the audio output device and the effect send's output
5477                                                channel 1 is routed to the channel 3 of the audio
5478                                                output device (see
5479                                                <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>
5480                                                for details), if an internal send
5481                                                effect is assigned to the effect
5482                                                send, then this setting defines the
5483                                                audio channel routing to that
5484                                                effect instance respectively
5485    </p>
5486    </blockquote>
5487                                        
5488    
5489    <p>SEND_EFFECT -
5490                                            </p>
5491    <blockquote class="text">
5492    <p>destination send effect chain ID
5493                                                and destination effect chain
5494                                                position, separated by comma in the
5495                                                form "&lt;effect-chain&gt;,&lt;chain-pos&gt;"
5496                                                or "NONE" if there is no send effect
5497                                                assigned to the effect send
5498    </p>
5499    </blockquote>
5500                                        
5501    
5502    </blockquote>
5503                                
5504    
5505    </blockquote><p>
5506                        
5507    </p>
5508    <p>The mentioned fields above don't have to be in particular order.
5509    </p>
5510    <p>Example:
5511    </p>
5512    <p>
5513                            </p>
5514    <blockquote class="text">
5515    <p>C: "GET FX_SEND INFO 0 0"
5516    </p>
5517    <p>S: "NAME: Reverb Send"
5518    </p>
5519    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5520    </p>
5521    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5522    </p>
5523    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5524    </p>
5525    <p>&nbsp;&nbsp;&nbsp;"."
5526    </p>
5527    </blockquote><p>
5528                        
5529    </p>
5530    <a name="SET FX_SEND NAME"></a><br /><hr />
5531    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5532    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5533    Changing effect send's name</h3>
5534    
5535    <p>The front-end can alter the current name of an effect
5536                        send entity by sending the following command:
5537    </p>
5538    <p>
5539                            </p>
5540    <blockquote class="text">
5541    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5542    </p>
5543    </blockquote><p>
5544                        
5545    </p>
5546    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5547                        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>
5548                        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,
5549                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5550                        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>
5551                        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
5552                        &lt;name&gt; is the new name of the effect send entity, which
5553                        does not have to be unique (name MUST be encapsulated into apostrophes
5554                        and supports escape sequences as described in chapter
5555                        "<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>").
5556                        
5557    </p>
5558    <p>Possible Answers:
5559    </p>
5560    <p>
5561                            </p>
5562    <blockquote class="text">
5563    <p>"OK" -
5564                                    </p>
5565    <blockquote class="text">
5566    <p>on success
5567    </p>
5568    </blockquote>
5569                                
5570    
5571    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5572                                    </p>
5573    <blockquote class="text">
5574    <p>in case it failed, providing an appropriate error code and error message
5575    </p>
5576    </blockquote>
5577                                
5578    
5579    </blockquote><p>
5580                        
5581    </p>
5582    <p>Example:
5583    </p>
5584    <p>
5585                            </p>
5586    <blockquote class="text">
5587    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5588    </p>
5589    <p>S: "OK"
5590    </p>
5591    </blockquote><p>
5592                        
5593    </p>
5594    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5595    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5596    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5597    Altering effect send's audio routing</h3>
5598    
5599    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5600                        sampler channel by sending the following command:
5601    </p>
5602    <p>
5603                            </p>
5604    <blockquote class="text">
5605    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5606    </p>
5607    </blockquote><p>
5608                        
5609    </p>
5610    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5611                        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>
5612                        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,
5613                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5614                        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>
5615                        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,
5616                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5617                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5618                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5619                        should be routed to. If an internal send effect is assigned
5620                        to the effect send, then this setting defines the audio
5621                        channel routing to that effect instance respectively.
5622    </p>
5623    <p>Note that effect sends can only route audio to the same audio output
5624                        device as assigned to the effect send's sampler channel. Also note that an
5625                        effect send entity does always have exactly as much audio channels as its
5626                        sampler channel. So if the sampler channel is stereo, the effect send does
5627                        have two audio channels as well. Also keep in mind that the amount of audio
5628                        channels on a sampler channel might be dependant not only to the deployed
5629                        sampler engine on the sampler channel, but also dependant to the instrument
5630                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5631                        send into a mono one by simply altering its audio routing appropriately.
5632    </p>
5633    <p>Possible Answers:
5634    </p>
5635    <p>
5636                            </p>
5637    <blockquote class="text">
5638    <p>"OK" -
5639                                    </p>
5640    <blockquote class="text">
5641    <p>on success
5642    </p>
5643    </blockquote>
5644                                
5645    
5646    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5647                                    </p>
5648    <blockquote class="text">
5649    <p>if audio output channel was set, but there are noteworthy
5650                                        issue(s) related, providing an appropriate warning code and
5651                                        warning message
5652    </p>
5653    </blockquote>
5654                                
5655    
5656    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5657                                    </p>
5658    <blockquote class="text">
5659    <p>in case it failed, providing an appropriate error code and error message
5660    </p>
5661    </blockquote>
5662                                
5663    
5664    </blockquote><p>
5665                        
5666    </p>
5667    <p>Example:
5668    </p>
5669    <p>
5670                            </p>
5671    <blockquote class="text">
5672    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5673    </p>
5674    <p>S: "OK"
5675    </p>
5676    </blockquote><p>
5677                        
5678    </p>
5679    <a name="SET FX_SEND SEND_EFFECT"></a><br /><hr />
5680    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5681    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5682    Assigning destination effect to an effect send</h3>
5683    
5684    <p>The front-end can (re-)assign a destination effect to an
5685                        effect send by sending the following command:
5686    </p>
5687    <p>
5688                            </p>
5689    <blockquote class="text">
5690    <p>SET FX_SEND SEND_EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;
5691    </p>
5692    </blockquote><p>
5693                        
5694    </p>
5695    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5696                        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>
5697                        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,
5698                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5699                        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>
5700                        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,
5701                        &lt;effect-chain&gt; by the numerical ID of the destination
5702                        effect chain as returned by the
5703                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
5704                        or
5705                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
5706                        command and &lt;chain-pos&gt; reflects the exact effect
5707                        chain position in the effect chain which hosts the actual
5708                        destination effect.
5709    </p>
5710    <p>Possible Answers:
5711    </p>
5712    <p>
5713                            </p>
5714    <blockquote class="text">
5715    <p>"OK" -
5716                                    </p>
5717    <blockquote class="text">
5718    <p>on success
5719    </p>
5720    </blockquote>
5721                                
5722    
5723    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5724                                    </p>
5725    <blockquote class="text">
5726    <p>in case it failed, providing an appropriate error code and error message
5727    </p>
5728    </blockquote>
5729                                
5730    
5731    </blockquote><p>
5732                        
5733    </p>
5734    <p>Example:
5735    </p>
5736    <p>
5737                            </p>
5738    <blockquote class="text">
5739    <p>C: "SET FX_SEND SEND_EFFECT 0 0 2 5"
5740    </p>
5741    <p>S: "OK"
5742    </p>
5743    </blockquote><p>
5744                        
5745    </p>
5746    <a name="REMOVE FX_SEND SEND_EFFECT"></a><br /><hr />
5747    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5748    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5749    Removing destination effect from an effect send</h3>
5750    
5751    <p>The front-end can (re-)assign a destination effect to an
5752                        effect send by sending the following command:
5753    </p>
5754    <p>
5755                            </p>
5756    <blockquote class="text">
5757    <p>REMOVE FX_SEND SEND_EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt;
5758    </p>
5759    </blockquote><p>
5760                        
5761    </p>
5762    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5763                        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>
5764                        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,
5765                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5766                        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>
5767                        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.
5768    </p>
5769    <p>After the destination effect has been removed from the
5770                        effect send, the audio signal of the effect send will be
5771                        routed directly to the audio output device, according to the
5772                        audio channel routing setting of the effect send.
5773                        
5774    </p>
5775    <p>Possible Answers:
5776    </p>
5777    <p>
5778                            </p>
5779    <blockquote class="text">
5780    <p>"OK" -
5781                                    </p>
5782    <blockquote class="text">
5783    <p>on success
5784    </p>
5785    </blockquote>
5786                                
5787    
5788    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5789                                    </p>
5790    <blockquote class="text">
5791    <p>in case it failed, providing an appropriate error code and error message
5792    </p>
5793    </blockquote>
5794                                
5795    
5796    </blockquote><p>
5797                        
5798    </p>
5799    <p>Example:
5800    </p>
5801    <p>
5802                            </p>
5803    <blockquote class="text">
5804    <p>C: "REMOVE FX_SEND SEND_EFFECT 0 0"
5805    </p>
5806    <p>S: "OK"
5807    </p>
5808    </blockquote><p>
5809                        
5810    </p>
5811    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5812    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5813    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5814    Altering effect send's MIDI controller</h3>
5815    
5816    <p>The front-end can alter the MIDI controller of an effect
5817                        send entity by sending the following command:
5818    </p>
5819    <p>
5820                            </p>
5821    <blockquote class="text">
5822    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5823    </p>
5824    </blockquote><p>
5825                        
5826    </p>
5827    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5828                        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>
5829                        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,
5830                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5831                        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>
5832                        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
5833                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5834                        able to modify the effect send's send level.
5835    </p>
5836    <p>Possible Answers:
5837    </p>
5838    <p>
5839                            </p>
5840    <blockquote class="text">
5841    <p>"OK" -
5842                                    </p>
5843    <blockquote class="text">
5844    <p>on success
5845    </p>
5846    </blockquote>
5847                                
5848    
5849    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5850                                    </p>
5851    <blockquote class="text">
5852    <p>if MIDI controller was set, but there are noteworthy
5853                                        issue(s) related, providing an appropriate warning code and
5854                                        warning message
5855    </p>
5856    </blockquote>
5857                                
5858    
5859    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5860                                    </p>
5861    <blockquote class="text">
5862    <p>in case it failed, providing an appropriate error code and error message
5863    </p>
5864    </blockquote>
5865                                
5866    
5867    </blockquote><p>
5868                        
5869    </p>
5870    <p>Example:
5871    </p>
5872    <p>
5873                            </p>
5874    <blockquote class="text">
5875    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5876    </p>
5877    <p>S: "OK"
5878    </p>
5879    </blockquote><p>
5880                        
5881    </p>
5882    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5883    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5884    <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5885    Altering effect send's send level</h3>
5886    
5887    <p>The front-end can alter the current send level of an effect
5888                        send entity by sending the following command:
5889    </p>
5890    <p>
5891                            </p>
5892    <blockquote class="text">
5893    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5894    </p>
5895    </blockquote><p>
5896                        
5897    </p>
5898    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5899                        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>
5900                        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,
5901                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5902                        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>
5903                        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
5904                        &lt;volume&gt; is an optionally dotted positive number (a value
5905                        smaller than 1.0 means attenuation, whereas a value greater than
5906                        1.0 means amplification) reflecting the new send level.
5907    </p>
5908    <p>Possible Answers:
5909    </p>
5910    <p>
5911                            </p>
5912    <blockquote class="text">
5913    <p>"OK" -
5914                                    </p>
5915    <blockquote class="text">
5916    <p>on success
5917    </p>
5918    </blockquote>
5919                                
5920    
5921    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5922                                    </p>
5923    <blockquote class="text">
5924    <p>if new send level was set, but there are noteworthy
5925                                        issue(s) related, providing an appropriate warning code and
5926                                        warning message
5927    </p>
5928    </blockquote>
5929                                
5930    
5931    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5932                                    </p>
5933    <blockquote class="text">
5934    <p>in case it failed, providing an appropriate error code and error message
5935    </p>
5936    </blockquote>
5937                                
5938    
5939    </blockquote><p>
5940                        
5941    </p>
5942    <p>Example:
5943    </p>
5944    <p>
5945                            </p>
5946    <blockquote class="text">
5947    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5948    </p>
5949    <p>S: "OK"
5950    </p>
5951    </blockquote><p>
5952                        
5953    </p>
5954    <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5955    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5956    <a name="rfc.section.6.4.36"></a><h3>6.4.36.&nbsp;
5957    Sending MIDI messages to sampler channel</h3>
5958    
5959    <p>The front-end can send MIDI events to a specific sampler channel
5960                        by sending the following command:
5961    </p>
5962    <p>
5963                            </p>
5964    <blockquote class="text">
5965    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5966    </p>
5967    </blockquote><p>
5968                        
5969    </p>
5970    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5971                        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>
5972                        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,
5973                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5974                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5975    </p>
5976    <p>
5977                            </p>
5978    <blockquote class="text">
5979    <p>"NOTE_ON" -
5980                                    </p>
5981    <blockquote class="text">
5982    <p>For turning on MIDI notes, where &lt;arg1&gt;
5983                                        specifies the key number and &lt;arg2&gt; the velocity
5984                                        as described in the MIDI specification.
5985    </p>
5986    </blockquote>
5987                                
5988    
5989    <p>"NOTE_OFF" -
5990                                    </p>
5991    <blockquote class="text">
5992    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
5993                                        specifies the key number and &lt;arg2&gt; the velocity
5994                                        as described in the MIDI specification.
5995    </p>
5996    </blockquote>
5997                                
5998    
5999    <p>"CC" -
6000                                    </p>
6001    <blockquote class="text">
6002    <p>For changing a MIDI controller, where &lt;arg1&gt;
6003                                        specifies the controller number and &lt;arg2&gt; the
6004                                        new value of the controller as described in the Control
6005                                        Change section of the MIDI specification.
6006    </p>
6007    </blockquote>
6008                                
6009    
6010    </blockquote><p>
6011                        
6012    </p>
6013    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
6014                        and no realtime guarantee whatsoever will be made!
6015    </p>
6016    <p>Possible Answers:
6017    </p>
6018    <p>
6019                            </p>
6020    <blockquote class="text">
6021    <p>"OK" -
6022                                    </p>
6023    <blockquote class="text">
6024    <p>on success
6025    </p>
6026    </blockquote>
6027                                
6028    
6029    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6030                                    </p>
6031    <blockquote class="text">
6032    <p>in case it failed, providing an appropriate error code and error message
6033  </p>  </p>
6034  </blockquote>  </blockquote>
6035                                
6036    
6037    </blockquote><p>
6038                        
6039    </p>
6040    <p>Example:
6041    </p>
6042    <p>
6043                            </p>
6044    <blockquote class="text">
6045    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
6046    </p>
6047    <p>S: "OK"
6048    </p>
6049    </blockquote><p>
6050                        
6051    </p>
6052    <a name="RESET CHANNEL"></a><br /><hr />
6053    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6054    <a name="rfc.section.6.4.37"></a><h3>6.4.37.&nbsp;
6055    Resetting a sampler channel</h3>
6056    
6057    <p>The front-end can reset a particular sampler channel by sending the following command:
6058    </p>
6059    <p>
6060                            </p>
6061    <blockquote class="text">
6062    <p>RESET CHANNEL &lt;sampler-channel&gt;
6063    </p>
6064    </blockquote><p>
6065                        
6066    </p>
6067  <p>  <p>
6068                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.                      Where &lt;sampler-channel&gt; defines the sampler channel to be reset.
6069                      This will cause the engine on that sampler channel, its voices and                      This will cause the engine on that sampler channel, its voices and
# Line 3946  Intellectual Property and Copyright Stat Line 6072  Intellectual Property and Copyright Stat
6072  </p>  </p>
6073  <p>Possible Answers:  <p>Possible Answers:
6074  </p>  </p>
6075  <p></p>  <p>
6076                            </p>
6077  <blockquote class="text">  <blockquote class="text">
6078  <p>"OK" -  <p>"OK" -
6079                                  </p>                                  </p>
# Line 3954  Intellectual Property and Copyright Stat Line 6081  Intellectual Property and Copyright Stat
6081  <p>on success  <p>on success
6082  </p>  </p>
6083  </blockquote>  </blockquote>
6084                                
6085    
6086  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6087                                  </p>                                  </p>
# Line 3963  Intellectual Property and Copyright Stat Line 6091  Intellectual Property and Copyright Stat
6091                                      message                                      message
6092  </p>  </p>
6093  </blockquote>  </blockquote>
6094                                
6095    
6096  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6097                                  </p>                                  </p>
# Line 3971  Intellectual Property and Copyright Stat Line 6100  Intellectual Property and Copyright Stat
6100                                      error message                                      error message
6101  </p>  </p>
6102  </blockquote>  </blockquote>
6103                                
6104    
6105  </blockquote>  </blockquote><p>
6106                        
6107    </p>
6108  <p>Examples:  <p>Examples:
6109  </p>  </p>
6110  <p></p>  <p>
6111                            </p>
6112  <blockquote class="text">  <blockquote class="text">
6113  <p>  <p>
6114  </p>  </p>
6115  </blockquote>  </blockquote><p>
6116                        
6117  <a name="rfc.section.6.5"></a><h4><a name="anchor12">6.5</a>&nbsp;Controlling connection</h4>  </p>
6118    <a name="anchor12"></a><br /><hr />
6119    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6120    <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
6121    Controlling connection</h3>
6122    
6123  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
6124  </p>  </p>
6125  <a name="rfc.section.6.5.1"></a><h4><a name="SUBSCRIBE">6.5.1</a>&nbsp;Register front-end for receiving event messages</h4>  <a name="SUBSCRIBE"></a><br /><hr />
6126    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6127    <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
6128    Register front-end for receiving event messages</h3>
6129    
6130  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
6131                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
6132  </p>  </p>
6133  <p></p>  <p>
6134                            </p>
6135  <blockquote class="text">  <blockquote class="text">
6136  <p>SUBSCRIBE &lt;event-id&gt;  <p>SUBSCRIBE &lt;event-id&gt;
6137  </p>  </p>
6138  </blockquote>  </blockquote><p>
6139                        
6140    </p>
6141  <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
6142                      client wants to subscribe to.                      client wants to subscribe to.
6143  </p>  </p>
6144  <p>Possible Answers:  <p>Possible Answers:
6145  </p>  </p>
6146  <p></p>  <p>
6147                            </p>
6148  <blockquote class="text">  <blockquote class="text">
6149  <p>"OK" -  <p>"OK" -
6150                                  </p>                                  </p>
# Line 4010  Intellectual Property and Copyright Stat Line 6152  Intellectual Property and Copyright Stat
6152  <p>on success  <p>on success
6153  </p>  </p>
6154  </blockquote>  </blockquote>
6155                                
6156    
6157  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6158                                  </p>                                  </p>
# Line 4019  Intellectual Property and Copyright Stat Line 6162  Intellectual Property and Copyright Stat
6162                                      warning message                                      warning message
6163  </p>  </p>
6164  </blockquote>  </blockquote>
6165                                
6166    
6167  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6168                                  </p>                                  </p>
# Line 4027  Intellectual Property and Copyright Stat Line 6171  Intellectual Property and Copyright Stat
6171                                      error message                                      error message
6172  </p>  </p>
6173  </blockquote>  </blockquote>
6174                                
6175    
6176  </blockquote>  </blockquote><p>
6177                        
6178    </p>
6179  <p>Examples:  <p>Examples:
6180  </p>  </p>
6181  <p></p>  <p>
6182                            </p>
6183  <blockquote class="text">  <blockquote class="text">
6184  <p>  <p>
6185  </p>  </p>
6186  </blockquote>  </blockquote><p>
6187                        
6188  <a name="rfc.section.6.5.2"></a><h4><a name="UNSUBSCRIBE">6.5.2</a>&nbsp;Unregister front-end for not receiving event messages</h4>  </p>
6189    <a name="UNSUBSCRIBE"></a><br /><hr />
6190    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6191    <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
6192    Unregister front-end for not receiving event messages</h3>
6193    
6194  <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
6195                      messages anymore by sending the following command:                      messages anymore by sending the following command:
6196  </p>  </p>
6197  <p></p>  <p>
6198                            </p>
6199  <blockquote class="text">  <blockquote class="text">
6200  <p>UNSUBSCRIBE &lt;event-id&gt;  <p>UNSUBSCRIBE &lt;event-id&gt;
6201  </p>  </p>
6202  </blockquote>  </blockquote><p>
6203                        
6204    </p>
6205  <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
6206                      client doesn't want to receive anymore.                      client doesn't want to receive anymore.
6207  </p>  </p>
6208  <p>Possible Answers:  <p>Possible Answers:
6209  </p>  </p>
6210  <p></p>  <p>
6211                            </p>
6212  <blockquote class="text">  <blockquote class="text">
6213  <p>"OK" -  <p>"OK" -
6214                                  </p>                                  </p>
# Line 4062  Intellectual Property and Copyright Stat Line 6216  Intellectual Property and Copyright Stat
6216  <p>on success  <p>on success
6217  </p>  </p>
6218  </blockquote>  </blockquote>
6219                                
6220    
6221  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -  <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6222                                  </p>                                  </p>
# Line 4071  Intellectual Property and Copyright Stat Line 6226  Intellectual Property and Copyright Stat
6226                                      warning message                                      warning message
6227  </p>  </p>
6228  </blockquote>  </blockquote>
6229                                
6230    
6231  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6232                                  </p>                                  </p>
# Line 4079  Intellectual Property and Copyright Stat Line 6235  Intellectual Property and Copyright Stat
6235                                      error message                                      error message
6236  </p>  </p>
6237  </blockquote>  </blockquote>
6238                                
6239    
6240  </blockquote>  </blockquote><p>
6241                        
6242    </p>
6243  <p>Examples:  <p>Examples:
6244  </p>  </p>
6245  <p></p>  <p>
6246                            </p>
6247  <blockquote class="text">  <blockquote class="text">
6248  <p>  <p>
6249  </p>  </p>
6250  </blockquote>  </blockquote><p>
6251                        
6252  <a name="rfc.section.6.5.3"></a><h4><a name="SET ECHO">6.5.3</a>&nbsp;Enable or disable echo of commands</h4>  </p>
6253    <a name="SET ECHO"></a><br /><hr />
6254    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6255    <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
6256    Enable or disable echo of commands</h3>
6257    
6258  <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:
6259  </p>  </p>
6260  <p></p>  <p>
6261                            </p>
6262  <blockquote class="text">  <blockquote class="text">
6263  <p>SET ECHO &lt;value&gt;  <p>SET ECHO &lt;value&gt;
6264  </p>  </p>
6265  </blockquote>  </blockquote><p>
6266                        
6267    </p>
6268  <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
6269                      or "0" to disable echo mode. When echo mode is enabled, all                      or "0" to disable echo mode. When echo mode is enabled, all
6270                      commands send to LinuxSampler will be immediately send back and                      commands send to LinuxSampler will be immediately send back and
# Line 4110  Intellectual Property and Copyright Stat Line 6275  Intellectual Property and Copyright Stat
6275  </p>  </p>
6276  <p>Possible Answers:  <p>Possible Answers:
6277  </p>  </p>
6278  <p></p>  <p>
6279                            </p>
6280  <blockquote class="text">  <blockquote class="text">
6281  <p>"OK" -  <p>"OK" -
6282                                  </p>                                  </p>
# Line 4118  Intellectual Property and Copyright Stat Line 6284  Intellectual Property and Copyright Stat
6284  <p>usually  <p>usually
6285  </p>  </p>
6286  </blockquote>  </blockquote>
6287                                
6288    
6289  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6290                                  </p>                                  </p>
# Line 4125  Intellectual Property and Copyright Stat Line 6292  Intellectual Property and Copyright Stat
6292  <p>on syntax error, e.g. non boolean value  <p>on syntax error, e.g. non boolean value
6293  </p>  </p>
6294  </blockquote>  </blockquote>
6295                                
6296    
6297  </blockquote>  </blockquote><p>
6298                        
6299    </p>
6300  <p>Examples:  <p>Examples:
6301  </p>  </p>
6302  <p></p>  <p>
6303                            </p>
6304  <blockquote class="text">  <blockquote class="text">
6305  <p>  <p>
6306  </p>  </p>
6307  </blockquote>  </blockquote><p>
6308                        
6309  <a name="rfc.section.6.5.4"></a><h4><a name="QUIT">6.5.4</a>&nbsp;Close client connection</h4>  </p>
6310    <a name="QUIT"></a><br /><hr />
6311    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6312    <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
6313    Close client connection</h3>
6314    
6315  <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:
6316  </p>  </p>
6317  <p></p>  <p>
6318                            </p>
6319  <blockquote class="text">  <blockquote class="text">
6320  <p>QUIT  <p>QUIT
6321  </p>  </p>
6322  </blockquote>  </blockquote><p>
6323                        
6324    </p>
6325  <p>This is probably more interesting for manual telnet connections to  <p>This is probably more interesting for manual telnet connections to
6326                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6327  </p>  </p>
6328  <a name="rfc.section.6.6"></a><h4><a name="anchor13">6.6</a>&nbsp;Global commands</h4>  <a name="anchor13"></a><br /><hr />
6329    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6330    <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
6331    Global commands</h3>
6332    
6333  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6334  </p>  </p>
6335  <a name="rfc.section.6.6.1"></a><h4><a name="RESET">6.6.1</a>&nbsp;Reset sampler</h4>  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6336    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6337    <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
6338    Current number of active voices</h3>
6339    
6340    <p>The front-end can ask for the current number of active voices on
6341                        the sampler by sending the following command:
6342    </p>
6343    <p>
6344                            </p>
6345    <blockquote class="text">
6346    <p>GET TOTAL_VOICE_COUNT
6347    </p>
6348    </blockquote><p>
6349                        
6350    </p>
6351    <p>Possible Answers:
6352    </p>
6353    <p>
6354                            </p>
6355    <blockquote class="text">
6356    <p>LinuxSampler will answer by returning the number of all active
6357                                voices on the sampler.
6358    </p>
6359    </blockquote><p>
6360                        
6361    </p>
6362    <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6363    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6364    <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6365    Maximum amount of active voices</h3>
6366    
6367    <p>The front-end can ask for the maximum number of active voices
6368                        by sending the following command:
6369    </p>
6370    <p>
6371                            </p>
6372    <blockquote class="text">
6373    <p>GET TOTAL_VOICE_COUNT_MAX
6374    </p>
6375    </blockquote><p>
6376                        
6377    </p>
6378    <p>Possible Answers:
6379    </p>
6380    <p>
6381                            </p>
6382    <blockquote class="text">
6383    <p>LinuxSampler will answer by returning the maximum number
6384                                of active voices.
6385    </p>
6386    </blockquote><p>
6387                        
6388    </p>
6389    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6390    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6391    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6392    Current number of active disk streams</h3>
6393    
6394    <p>The front-end can ask for the current number of active disk streams on
6395                        the sampler by sending the following command:
6396    </p>
6397    <p>
6398                            </p>
6399    <blockquote class="text">
6400    <p>GET TOTAL_STREAM_COUNT
6401    </p>
6402    </blockquote><p>
6403                        
6404    </p>
6405    <p>Possible Answers:
6406    </p>
6407    <p>
6408                            </p>
6409    <blockquote class="text">
6410    <p>LinuxSampler will answer by returning the number of all active
6411                                disk streams on the sampler.
6412    </p>
6413    </blockquote><p>
6414                        
6415    </p>
6416    <a name="RESET"></a><br /><hr />
6417    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6418    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6419    Reset sampler</h3>
6420    
6421  <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:
6422  </p>  </p>
6423  <p></p>  <p>
6424                            </p>
6425  <blockquote class="text">  <blockquote class="text">
6426  <p>RESET  <p>RESET
6427  </p>  </p>
6428  </blockquote>  </blockquote><p>
6429                        
6430    </p>
6431  <p>Possible Answers:  <p>Possible Answers:
6432  </p>  </p>
6433  <p></p>  <p>
6434                            </p>
6435  <blockquote class="text">  <blockquote class="text">
6436  <p>"OK" -  <p>"OK" -
6437                                  </p>                                  </p>
# Line 4173  Intellectual Property and Copyright Stat Line 6439  Intellectual Property and Copyright Stat
6439  <p>always  <p>always
6440  </p>  </p>
6441  </blockquote>  </blockquote>
6442                                
6443    
6444  </blockquote>  </blockquote><p>
6445                        
6446    </p>
6447  <p>Examples:  <p>Examples:
6448  </p>  </p>
6449  <p></p>  <p>
6450                            </p>
6451  <blockquote class="text">  <blockquote class="text">
6452  <p>  <p>
6453  </p>  </p>
6454  </blockquote>  </blockquote><p>
6455                        
6456  <a name="rfc.section.6.6.2"></a><h4><a name="GET SERVER INFO">6.6.2</a>&nbsp;General sampler informations</h4>  </p>
6457    <a name="GET SERVER INFO"></a><br /><hr />
6458    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6459    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6460    General sampler informations</h3>
6461    
6462  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6463                         instance by sending the following command:                         instance by sending the following command:
6464  </p>  </p>
6465  <p></p>  <p>
6466                            </p>
6467  <blockquote class="text">  <blockquote class="text">
6468  <p>GET SERVER INFO  <p>GET SERVER INFO
6469  </p>  </p>
6470  </blockquote>  </blockquote><p>
6471                        
6472    </p>
6473  <p>Possible Answers:  <p>Possible Answers:
6474  </p>  </p>
6475  <p></p>  <p>
6476                            </p>
6477  <blockquote class="text">  <blockquote class="text">
6478  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.  <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6479                                 Each answer line begins with the information category name                                 Each answer line begins with the information category name
# Line 4206  Intellectual Property and Copyright Stat Line 6482  Intellectual Property and Copyright Stat
6482                                 moment the following categories are defined:                                 moment the following categories are defined:
6483                                                            
6484  </p>  </p>
6485  <p></p>  <p>
6486                                    </p>
6487  <blockquote class="text">  <blockquote class="text">
6488  <p>DESCRIPTION -  <p>DESCRIPTION -
6489                                          </p>                                          </p>
6490  <blockquote class="text">  <blockquote class="text">
6491  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6492                                                (note that the character string may contain
6493                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6494  </p>  </p>
6495  </blockquote>  </blockquote>
6496                                        
6497    
6498  <p>VERSION -  <p>VERSION -
6499                                          </p>                                          </p>
# Line 4221  Intellectual Property and Copyright Stat Line 6501  Intellectual Property and Copyright Stat
6501  <p>version of the sampler  <p>version of the sampler
6502  </p>  </p>
6503  </blockquote>  </blockquote>
6504                                        
6505    
6506  <p>PROTOCOL_VERSION -  <p>PROTOCOL_VERSION -
6507                                          </p>                                          </p>
6508  <blockquote class="text">  <blockquote class="text">
6509  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6510                                              complies with (see <a class="info" href="#LSCP versioning">Section 2<span>Versioning of this specification</span></a> for details)                                              complies with (see <a class='info' href='#LSCP versioning'>Section&nbsp;2<span> (</span><span class='info'>Versioning of this specification</span><span>)</span></a> for details)
6511  </p>  </p>
6512  </blockquote>  </blockquote>
6513                                        
6514    
6515    <p>INSTRUMENTS_DB_SUPPORT -
6516                                            </p>
6517    <blockquote class="text">
6518    <p>either yes or no, specifies whether the
6519                                                sampler is build with instruments database support.
6520    </p>
6521  </blockquote>  </blockquote>
6522                                        
6523    
6524  </blockquote>  </blockquote>
6525                                
6526    
6527    </blockquote><p>
6528                        
6529    </p>
6530  <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.
6531                      Other fields might be added in future.                      Other fields might be added in future.
6532  </p>  </p>
6533    <a name="GET VOLUME"></a><br /><hr />
6534    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6535    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6536    Getting global volume attenuation</h3>
6537    
6538    <p>The client can ask for the current global sampler-wide volume
6539                        attenuation by sending the following command:
6540    </p>
6541    <p>
6542                            </p>
6543    <blockquote class="text">
6544    <p>GET VOLUME
6545    </p>
6546    </blockquote><p>
6547                        
6548    </p>
6549    <p>Possible Answers:
6550    </p>
6551    <p>
6552                            </p>
6553    <blockquote class="text">
6554    <p>The sampler will always answer by returning the optional
6555                                dotted floating point coefficient, reflecting the current
6556                                global volume attenuation.
6557                                
6558    </p>
6559    </blockquote><p>
6560                        
6561    </p>
6562    <p>Note: it is up to the respective sampler engine whether to obey
6563                        that global volume parameter or not, but in general all engines SHOULD
6564                        use this parameter.
6565    </p>
6566    <a name="SET VOLUME"></a><br /><hr />
6567    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6568    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6569    Setting global volume attenuation</h3>
6570    
6571    <p>The client can alter the current global sampler-wide volume
6572                        attenuation by sending the following command:
6573    </p>
6574    <p>
6575                            </p>
6576    <blockquote class="text">
6577    <p>SET VOLUME &lt;volume&gt;
6578    </p>
6579    </blockquote><p>
6580                        
6581    </p>
6582    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6583                       floating point value, reflecting the new global volume parameter.
6584                       This value might usually be in the range between 0.0 and 1.0, that
6585                       is for attenuating the overall volume.
6586    </p>
6587    <p>Possible Answers:
6588    </p>
6589    <p>
6590                            </p>
6591    <blockquote class="text">
6592    <p>"OK" -
6593                                    </p>
6594    <blockquote class="text">
6595    <p>on success
6596    </p>
6597    </blockquote>
6598                                
6599    
6600    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6601                                    </p>
6602    <blockquote class="text">
6603    <p>if the global volume was set, but there are noteworthy
6604                                        issue(s) related, providing an appropriate warning code and
6605                                        warning message
6606    </p>
6607    </blockquote>
6608                                
6609    
6610    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6611                                    </p>
6612    <blockquote class="text">
6613    <p>in case it failed, providing an appropriate error code and error message
6614    </p>
6615    </blockquote>
6616                                
6617    
6618    </blockquote><p>
6619                        
6620    </p>
6621    <a name="GET VOICES"></a><br /><hr />
6622    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6623    <a name="rfc.section.6.6.8"></a><h3>6.6.8.&nbsp;
6624    Getting global voice limit</h3>
6625    
6626    <p>The client can ask for the current global sampler-wide limit
6627                           for maximum voices by sending the following command:
6628    </p>
6629    <p>
6630                            </p>
6631    <blockquote class="text">
6632    <p>GET VOICES
6633    </p>
6634    </blockquote><p>
6635                        
6636    </p>
6637    <p>Possible Answers:
6638    </p>
6639    <p>
6640                            </p>
6641    <blockquote class="text">
6642    <p>LinuxSampler will answer by returning the number for
6643                                   the current limit of maximum voices.
6644    </p>
6645    </blockquote><p>
6646                        
6647    </p>
6648    <p>The voice limit setting defines how many voices should maximum
6649                           be processed by the sampler at the same time. If the user
6650                           triggers new notes which would exceed that voice limit, the
6651                           sampler engine will react by stealing old voices for those
6652                           newly triggered notes. Note that the amount of voices triggered
6653                           by a new note can be larger than one and is dependent to the
6654                           respective instrument and probably further criterias.
6655    </p>
6656    <a name="SET VOICES"></a><br /><hr />
6657    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6658    <a name="rfc.section.6.6.9"></a><h3>6.6.9.&nbsp;
6659    Setting global voice limit</h3>
6660    
6661    <p>The client can alter the current global sampler-wide limit
6662                        for maximum voices by sending the following command:
6663    </p>
6664    <p>
6665                            </p>
6666    <blockquote class="text">
6667    <p>SET VOICES &lt;max-voices&gt;
6668    </p>
6669    </blockquote><p>
6670                        
6671    </p>
6672    <p>Where &lt;max-voices&gt; should be replaced by the integer
6673                       value, reflecting the new global amount limit of maximum voices.
6674                       This value has to be larger than 0.
6675    </p>
6676    <p>Possible Answers:
6677    </p>
6678    <p>
6679                            </p>
6680    <blockquote class="text">
6681    <p>"OK" -
6682                                    </p>
6683    <blockquote class="text">
6684    <p>on success
6685    </p>
6686    </blockquote>
6687                                
6688    
6689    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6690                                    </p>
6691    <blockquote class="text">
6692    <p>if the voice limit was set, but there are noteworthy
6693                                        issue(s) related, providing an appropriate warning code and
6694                                        warning message
6695    </p>
6696    </blockquote>
6697                                
6698    
6699    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6700                                    </p>
6701    <blockquote class="text">
6702    <p>in case it failed, providing an appropriate error code and error message
6703    </p>
6704    </blockquote>
6705                                
6706    
6707    </blockquote><p>
6708                        
6709    </p>
6710    <p>Note: the given value will be passed to all sampler engine instances.
6711                           The total amount of maximum voices on the running system might thus
6712                           be as big as the given value multiplied by the current amount of engine
6713                           instances.
6714    </p>
6715    <p>Caution: when adjusting the voice limit, you SHOULD also
6716                            adjust the disk stream limit respectively and vice versa.
6717    </p>
6718    <a name="GET STREAMS"></a><br /><hr />
6719    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6720    <a name="rfc.section.6.6.10"></a><h3>6.6.10.&nbsp;
6721    Getting global disk stream limit</h3>
6722    
6723    <p>The client can ask for the current global sampler-wide limit
6724                           for maximum disk streams by sending the following command:
6725    </p>
6726    <p>
6727                            </p>
6728    <blockquote class="text">
6729    <p>GET STREAMS
6730    </p>
6731    </blockquote><p>
6732                        
6733    </p>
6734    <p>Possible Answers:
6735    </p>
6736    <p>
6737                            </p>
6738    <blockquote class="text">
6739    <p>LinuxSampler will answer by returning the number for
6740                                   the current limit of maximum disk streams.
6741    </p>
6742    </blockquote><p>
6743                        
6744    </p>
6745    <p>The disk stream limit setting defines how many disk streams should
6746                           maximum be processed by a sampler engine at the same time. The
6747                           higher this value, the more memory (RAM) will be occupied, since
6748                           every disk streams allocates a certain buffer size for being able
6749                           to perform its streaming operations.
6750    </p>
6751    <a name="SET STREAMS"></a><br /><hr />
6752    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6753    <a name="rfc.section.6.6.11"></a><h3>6.6.11.&nbsp;
6754    Setting global disk stream limit</h3>
6755    
6756    <p>The client can alter the current global sampler-wide limit
6757                        for maximum disk streams by sending the following command:
6758    </p>
6759    <p>
6760                            </p>
6761    <blockquote class="text">
6762    <p>SET STREAMS &lt;max-streams&gt;
6763    </p>
6764    </blockquote><p>
6765                        
6766    </p>
6767    <p>Where &lt;max-streams&gt; should be replaced by the integer
6768                       value, reflecting the new global amount limit of maximum disk streams.
6769                       This value has to be positive.
6770    </p>
6771    <p>Possible Answers:
6772    </p>
6773    <p>
6774                            </p>
6775    <blockquote class="text">
6776    <p>"OK" -
6777                                    </p>
6778    <blockquote class="text">
6779    <p>on success
6780    </p>
6781    </blockquote>
6782                                
6783    
6784    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6785                                    </p>
6786    <blockquote class="text">
6787    <p>if the disk stream limit was set, but there are noteworthy
6788                                        issue(s) related, providing an appropriate warning code and
6789                                        warning message
6790    </p>
6791    </blockquote>
6792                                
6793    
6794    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6795                                    </p>
6796    <blockquote class="text">
6797    <p>in case it failed, providing an appropriate error code and error message
6798    </p>
6799    </blockquote>
6800                                
6801    
6802    </blockquote><p>
6803                        
6804    </p>
6805    <p>Note: the given value will be passed to all sampler engine instances.
6806                           The total amount of maximum disk streams on the running system might
6807                           thus be as big as the given value multiplied by the current amount of
6808                           engine instances.
6809    </p>
6810    <p>Caution: when adjusting the disk stream limit, you SHOULD also
6811                            adjust the voice limit respectively and vice versa.
6812    </p>
6813    <a name="MIDI Instrument Mapping"></a><br /><hr />
6814    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6815    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6816    MIDI Instrument Mapping</h3>
6817    
6818    <p>The MIDI protocol provides a way to switch between instruments
6819                    by sending so called MIDI bank select and MIDI program change
6820                    messages which are essentially just numbers. The following commands
6821                    allow to actually map arbitrary MIDI bank select / program change
6822                    numbers with real instruments.
6823    </p>
6824    <p>The sampler allows to manage an arbitrary amount of MIDI
6825                    instrument maps which define which instrument to load on
6826                    which MIDI program change message.
6827    </p>
6828    <p>By default, that is when the sampler is launched, there is no
6829                    map, thus the sampler will simply ignore all program change
6830                    messages. The front-end has to explicitly create at least one
6831                    map, add entries to the map and tell the respective sampler
6832                    channel(s) which MIDI instrument map to use, so the sampler
6833                    knows how to react on a given program change message on the
6834                    respective sampler channel, that is by switching to the
6835                    respectively defined engine type and loading the respective
6836                    instrument. See command
6837                    <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>
6838                    for how to assign a MIDI instrument map to a sampler channel.
6839    </p>
6840    <p>Also note per MIDI specification a bank select message does not
6841                    cause to switch to another instrument. Instead when receiving a
6842                    bank select message the bank value will be stored and a subsequent
6843                    program change message (which may occur at any time) will finally
6844                    cause the sampler to switch to the respective instrument as
6845                    reflected by the current MIDI instrument map.
6846    </p>
6847    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6848    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6849    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6850    Create a new MIDI instrument map</h3>
6851    
6852    <p>The front-end can add a new MIDI instrument map by sending
6853                        the following command:
6854    </p>
6855    <p>
6856                            </p>
6857    <blockquote class="text">
6858    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6859    </p>
6860    </blockquote><p>
6861                        
6862    </p>
6863    <p>Where &lt;name&gt; is an optional argument allowing to
6864                        assign a custom name to the new map. MIDI instrument Map
6865                        names do not have to be unique, but MUST be encapsulated
6866                        into apostrophes and support escape sequences as described
6867                        in chapter "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
6868                        
6869    </p>
6870    <p>Possible Answers:
6871    </p>
6872    <p>
6873                            </p>
6874    <blockquote class="text">
6875    <p>"OK[&lt;map&gt;]" -
6876                                    </p>
6877    <blockquote class="text">
6878    <p>in case a new MIDI instrument map could
6879                                        be added, where &lt;map&gt; reflects the
6880                                        unique ID of the newly created MIDI
6881                                        instrument map
6882    </p>
6883    </blockquote>
6884                                
6885    
6886    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6887                                    </p>
6888    <blockquote class="text">
6889    <p>when a new map could not be created, which
6890                                        might never occur in practice
6891    </p>
6892    </blockquote>
6893                                
6894    
6895    </blockquote><p>
6896                        
6897    </p>
6898    <p>Examples:
6899    </p>
6900    <p>
6901                            </p>
6902    <blockquote class="text">
6903    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6904    </p>
6905    <p>S: "OK[0]"
6906    </p>
6907    </blockquote><p>
6908                        
6909    </p>
6910    <p>
6911                            </p>
6912    <blockquote class="text">
6913    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6914    </p>
6915    <p>S: "OK[1]"
6916    </p>
6917    </blockquote><p>
6918                        
6919    </p>
6920    <p>
6921                            </p>
6922    <blockquote class="text">
6923    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6924    </p>
6925    <p>S: "OK[5]"
6926    </p>
6927    </blockquote><p>
6928                        
6929    </p>
6930    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6931    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6932    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6933    Delete one particular or all MIDI instrument maps</h3>
6934    
6935    <p>The front-end can delete a particular MIDI instrument map
6936                        by sending the following command:
6937    </p>
6938    <p>
6939                            </p>
6940    <blockquote class="text">
6941    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6942    </p>
6943    </blockquote><p>
6944                        
6945    </p>
6946    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6947                        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>
6948                        command.
6949    </p>
6950    <p>The front-end can delete all MIDI instrument maps by
6951                        sending the following command:
6952    </p>
6953    <p>
6954                            </p>
6955    <blockquote class="text">
6956    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6957    </p>
6958    </blockquote><p>
6959                        
6960    </p>
6961    <p>Possible Answers:
6962    </p>
6963    <p>
6964                            </p>
6965    <blockquote class="text">
6966    <p>"OK" -
6967                                    </p>
6968    <blockquote class="text">
6969    <p>in case the map(s) could be deleted
6970    </p>
6971    </blockquote>
6972                                
6973    
6974    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6975                                    </p>
6976    <blockquote class="text">
6977    <p>when the given map does not exist
6978    </p>
6979    </blockquote>
6980                                
6981    
6982    </blockquote><p>
6983                        
6984    </p>
6985    <p>Examples:
6986    </p>
6987    <p>
6988                            </p>
6989    <blockquote class="text">
6990    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6991    </p>
6992    <p>S: "OK"
6993    </p>
6994    </blockquote><p>
6995                        
6996    </p>
6997    <p>
6998                            </p>
6999    <blockquote class="text">
7000    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
7001    </p>
7002    <p>S: "OK"
7003    </p>
7004    </blockquote><p>
7005                        
7006    </p>
7007    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
7008    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7009    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
7010    Get amount of existing MIDI instrument maps</h3>
7011    
7012    <p>The front-end can retrieve the current amount of MIDI
7013                        instrument maps by sending the following command:
7014    </p>
7015    <p>
7016                            </p>
7017    <blockquote class="text">
7018    <p>GET MIDI_INSTRUMENT_MAPS
7019    </p>
7020    </blockquote><p>
7021                        
7022    </p>
7023    <p>Possible Answers:
7024    </p>
7025    <p>
7026                            </p>
7027    <blockquote class="text">
7028    <p>The sampler will answer by returning the current
7029                                number of MIDI instrument maps.
7030    </p>
7031    </blockquote><p>
7032                        
7033    </p>
7034    <p>Example:
7035    </p>
7036    <p>
7037                            </p>
7038    <blockquote class="text">
7039    <p>C: "GET MIDI_INSTRUMENT_MAPS"
7040    </p>
7041    <p>S: "2"
7042    </p>
7043    </blockquote><p>
7044                        
7045    </p>
7046    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
7047    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7048    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
7049    Getting all created MIDI instrument maps</h3>
7050    
7051    <p>The number of MIDI instrument maps can change on runtime. To get the
7052                        current list of MIDI instrument maps, the front-end can send the
7053                        following command:
7054    </p>
7055    <p>
7056                            </p>
7057    <blockquote class="text">
7058    <p>LIST MIDI_INSTRUMENT_MAPS
7059    </p>
7060    </blockquote><p>
7061                        
7062    </p>
7063    <p>Possible Answers:
7064    </p>
7065    <p>
7066                            </p>
7067    <blockquote class="text">
7068    <p>The sampler will answer by returning a comma separated list
7069                                with all MIDI instrument maps' numerical IDs.
7070    </p>
7071    </blockquote><p>
7072                        
7073    </p>
7074    <p>Example:
7075    </p>
7076    <p>
7077                            </p>
7078    <blockquote class="text">
7079    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
7080    </p>
7081    <p>S: "0,1,5,12"
7082    </p>
7083    </blockquote><p>
7084                        
7085    </p>
7086    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
7087    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7088    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
7089    Getting MIDI instrument map information</h3>
7090    
7091    <p>The front-end can ask for the current settings of a MIDI
7092                        instrument map by sending the following command:
7093    </p>
7094    <p>
7095                            </p>
7096    <blockquote class="text">
7097    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
7098    </p>
7099    </blockquote><p>
7100                        
7101    </p>
7102    <p>Where &lt;map&gt; is the numerical ID of the map the
7103                        front-end is interested in as returned by the
7104                        <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>
7105                        command.
7106    </p>
7107    <p>Possible Answers:
7108    </p>
7109    <p>
7110                            </p>
7111    <blockquote class="text">
7112    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7113                                Each answer line begins with the settings category name
7114                                followed by a colon and then a space character &lt;SP&gt; and finally
7115                                the info character string to that setting category. At the
7116                                moment the following categories are defined:
7117    </p>
7118    <p>
7119                                    </p>
7120    <blockquote class="text">
7121    <p>NAME -
7122                                            </p>
7123    <blockquote class="text">
7124    <p>custom name of the given map,
7125                                                which does not have to be unique
7126                                                (note that this character string may contain
7127                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7128    </p>
7129    </blockquote>
7130                                        
7131    
7132    <p>DEFAULT -
7133                                            </p>
7134    <blockquote class="text">
7135    <p>either true or false,
7136                                                defines whether this map is the default map
7137    </p>
7138    </blockquote>
7139                                        
7140    
7141    </blockquote>
7142                                
7143    
7144    </blockquote><p>
7145                        
7146    </p>
7147    <p>The mentioned fields above don't have to be in particular order.
7148    </p>
7149    <p>Example:
7150    </p>
7151    <p>
7152                            </p>
7153    <blockquote class="text">
7154    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
7155    </p>
7156    <p>S: "NAME: Standard Map"
7157    </p>
7158    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
7159    </p>
7160    <p>&nbsp;&nbsp;&nbsp;"."
7161    </p>
7162    </blockquote><p>
7163                        
7164    </p>
7165    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
7166    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7167    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
7168    Renaming a MIDI instrument map</h3>
7169    
7170    <p>The front-end can alter the custom name of a MIDI
7171                        instrument map by sending the following command:
7172    </p>
7173    <p>
7174                            </p>
7175    <blockquote class="text">
7176    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
7177    </p>
7178    </blockquote><p>
7179                        
7180    </p>
7181    <p>Where &lt;map&gt; is the numerical ID of the map and
7182                        &lt;name&gt; the new custom name of the map, which does not
7183                        have to be unique (name MUST be encapsulated into apostrophes
7184                        and supports escape sequences as described in chapter
7185                        "<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>").
7186                        
7187    </p>
7188    <p>Possible Answers:
7189    </p>
7190    <p>
7191                            </p>
7192    <blockquote class="text">
7193    <p>"OK" -
7194                                    </p>
7195    <blockquote class="text">
7196    <p>on success
7197    </p>
7198    </blockquote>
7199                                
7200    
7201    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7202                                    </p>
7203    <blockquote class="text">
7204    <p>in case the given map does not exist
7205    </p>
7206    </blockquote>
7207                                
7208    
7209    </blockquote><p>
7210                        
7211    </p>
7212    <p>Example:
7213    </p>
7214    <p>
7215                            </p>
7216    <blockquote class="text">
7217    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
7218    </p>
7219    <p>S: "OK"
7220    </p>
7221    </blockquote><p>
7222                        
7223    </p>
7224    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
7225    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7226    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
7227    Create or replace a MIDI instrument map entry</h3>
7228    
7229    <p>The front-end can create a new or replace an existing entry
7230                        in a sampler's MIDI instrument map by sending the following
7231                        command:
7232    </p>
7233    <p>
7234                            </p>
7235    <blockquote class="text">
7236    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
7237                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
7238                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
7239                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
7240    </p>
7241    </blockquote><p>
7242                        
7243    </p>
7244    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
7245                        &lt;midi_bank&gt; is an integer value between
7246                        0..16383 reflecting the MIDI bank select index,
7247                        &lt;midi_prog&gt; an
7248                        integer value between 0..127 reflecting the MIDI program change
7249                        index, &lt;engine_name&gt; a sampler engine name as returned by
7250                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
7251                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
7252                        of the instrument's file to be deployed (encapsulated into apostrophes,
7253                        supporting escape sequences as described in chapter
7254                        "<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>"),
7255                        &lt;instrument_index&gt; the index (integer value) of the instrument
7256                        within the given file, &lt;volume_value&gt; reflects the master
7257                        volume of the instrument as optionally dotted number (where a
7258                        value &lt; 1.0 means attenuation and a value > 1.0 means
7259                        amplification). This parameter easily allows to adjust the
7260                        volume of all intruments within a custom instrument map
7261                        without having to adjust their instrument files. The
7262                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
7263                        time of the instrument, that is when the instrument should
7264                        be loaded, when freed and has exactly the following
7265                        possibilities:
7266    </p>
7267    <p>
7268                            </p>
7269    <blockquote class="text">
7270    <p>"ON_DEMAND" -
7271                                    </p>
7272    <blockquote class="text">
7273    <p>The instrument will be loaded when needed,
7274                                        that is when demanded by at least one sampler
7275                                        channel. It will immediately be freed from memory
7276                                        when not needed by any sampler channel anymore.
7277    </p>
7278    </blockquote>
7279                                
7280    
7281    <p>"ON_DEMAND_HOLD" -
7282                                    </p>
7283    <blockquote class="text">
7284    <p>The instrument will be loaded when needed,
7285                                        that is when demanded by at least one sampler
7286                                        channel. It will be kept in memory even when
7287                                        not needed by any sampler channel anymore.
7288                                        Instruments with this mode are only freed
7289                                        when the sampler is reset or all mapping
7290                                        entries with this mode (and respective
7291                                        instrument) are explicitly changed to
7292                                        "ON_DEMAND" and no sampler channel is using
7293                                        the instrument anymore.
7294    </p>
7295    </blockquote>
7296                                
7297    
7298    <p>"PERSISTENT" -
7299                                    </p>
7300    <blockquote class="text">
7301    <p>The instrument will immediately be loaded
7302                                        into memory when this mapping
7303                                        command is sent and the instrument is kept all
7304                                        the time. Instruments with this mode are
7305                                        only freed when the sampler is reset or all
7306                                        mapping entries with this mode (and
7307                                        respective instrument) are explicitly
7308                                        changed to "ON_DEMAND" and no sampler
7309                                        channel is using the instrument anymore.
7310    </p>
7311    </blockquote>
7312                                
7313    
7314    <p>not supplied -
7315                                    </p>
7316    <blockquote class="text">
7317    <p>In case there is no &lt;instr_load_mode&gt;
7318                                        argument given, it will be up to the
7319                                        InstrumentManager to decide which mode to use.
7320                                        Usually it will use "ON_DEMAND" if an entry
7321                                        for the given instrument does not exist in
7322                                        the InstrumentManager's list yet, otherwise
7323                                        if an entry already exists, it will simply
7324                                        stick with the mode currently reflected by
7325                                        the already existing entry, that is it will
7326                                        not change the mode.
7327    </p>
7328    </blockquote>
7329                                
7330    
7331    </blockquote><p>
7332                        
7333    </p>
7334    <p>
7335                        The &lt;instr_load_mode&gt; argument thus allows to define an
7336                        appropriate strategy (low memory consumption vs. fast
7337                        instrument switching) for each instrument individually. Note, the
7338                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
7339                        "PERSISTENT" have to be supported by the respective sampler engine
7340                        (which is technically the case when the engine provides an
7341                        InstrumentManager for its format). If this is not the case the
7342                        argument will automatically fall back to the default value
7343                        "ON_DEMAND". Also the load mode of one instrument may
7344                        automatically change the laod mode of other instrument(s), i.e.
7345                        because the instruments are part of the same file and the
7346                        engine does not allow a way to manage load modes for them
7347                        individually. Due to this, in case the frontend shows the
7348                        load modes of entries, the frontend should retrieve the actual
7349                        mode by i.e. sending
7350                        <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>
7351                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
7352                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7353                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") for the
7354                        mapping entry, useful for frontends for displaying an appropriate name for
7355                        mapped instruments (using
7356                        <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>).
7357                        
7358    </p>
7359    <p>
7360                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
7361                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
7362                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
7363                        immediately, that is to let the sampler establish the mapping in the
7364                        background. So this argument might be especially useful for mappings with
7365                        a "PERSISTENT" type, because these have to load the respective instruments
7366                        immediately and might thus block for a very long time. It is recommended
7367                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
7368                        because it has the following drawbacks: as "NON_MODAL" instructions return
7369                        immediately, they may not necessarily return an error i.e. when the given
7370                        instrument file turns out to be corrupt, beside that subsequent commands
7371                        in a LSCP instruction sequence might fail, because mandatory mappings are
7372                        not yet completed.
7373                        
7374    </p>
7375    <p>Possible Answers:
7376    </p>
7377    <p>
7378                            </p>
7379    <blockquote class="text">
7380    <p>"OK" -
7381                                    </p>
7382    <blockquote class="text">
7383    <p>usually
7384    </p>
7385    </blockquote>
7386                                
7387    
7388    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7389                                    </p>
7390    <blockquote class="text">
7391    <p>when the given map or engine does not exist or a value
7392                                        is out of range
7393    </p>
7394    </blockquote>
7395                                
7396    
7397    </blockquote><p>
7398                        
7399    </p>
7400    <p>Examples:
7401    </p>
7402    <p>
7403                            </p>
7404    <blockquote class="text">
7405    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
7406    </p>
7407    <p>S: "OK"
7408    </p>
7409    </blockquote><p>
7410                        
7411    </p>
7412    <p>
7413                            </p>
7414    <blockquote class="text">
7415    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
7416    </p>
7417    <p>S: "OK"
7418    </p>
7419    </blockquote><p>
7420                        
7421    </p>
7422    <p>
7423                            </p>
7424    <blockquote class="text">
7425    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
7426    </p>
7427    <p>S: "OK"
7428    </p>
7429    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
7430    </p>
7431    <p>S: "OK"
7432    </p>
7433    </blockquote><p>
7434                        
7435    </p>
7436    <p>
7437                            </p>
7438    <blockquote class="text">
7439    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
7440    </p>
7441    <p>S: "OK"
7442    </p>
7443    </blockquote><p>
7444                        
7445    </p>
7446    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
7447    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7448    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
7449    Getting ammount of MIDI instrument map entries</h3>
7450    
7451    <p>The front-end can query the amount of currently existing
7452                        entries in a MIDI instrument map by sending the following
7453                        command:
7454    </p>
7455    <p>
7456                            </p>
7457    <blockquote class="text">
7458    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
7459    </p>
7460    </blockquote><p>
7461                        
7462    </p>
7463    <p>The front-end can query the amount of currently existing
7464                        entries in all MIDI instrument maps by sending the following
7465                        command:
7466    </p>
7467    <p>
7468                            </p>
7469    <blockquote class="text">
7470    <p>GET MIDI_INSTRUMENTS ALL
7471    </p>
7472    </blockquote><p>
7473                        
7474    </p>
7475    <p>Possible Answers:
7476    </p>
7477    <p>
7478                            </p>
7479    <blockquote class="text">
7480    <p>The sampler will answer by sending the current number of
7481                                entries in the MIDI instrument map(s).
7482    </p>
7483    </blockquote><p>
7484                        
7485    </p>
7486    <p>Example:
7487    </p>
7488    <p>
7489                            </p>
7490    <blockquote class="text">
7491    <p>C: "GET MIDI_INSTRUMENTS 0"
7492    </p>
7493    <p>S: "234"
7494    </p>
7495    </blockquote><p>
7496                        
7497    </p>
7498    <p>
7499                            </p>
7500    <blockquote class="text">
7501    <p>C: "GET MIDI_INSTRUMENTS ALL"
7502    </p>
7503    <p>S: "954"
7504    </p>
7505    </blockquote><p>
7506                        
7507    </p>
7508    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7509    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7510    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7511    Getting indeces of all entries of a MIDI instrument map</h3>
7512    
7513    <p>The front-end can query a list of all currently existing
7514                        entries in a certain MIDI instrument map by sending the following
7515                        command:
7516    </p>
7517    <p>
7518                            </p>
7519    <blockquote class="text">
7520    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7521    </p>
7522    </blockquote><p>
7523                        
7524    </p>
7525    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7526    </p>
7527    <p>The front-end can query a list of all currently existing
7528                        entries of all MIDI instrument maps by sending the following
7529                        command:
7530    </p>
7531    <p>
7532                            </p>
7533    <blockquote class="text">
7534    <p>LIST MIDI_INSTRUMENTS ALL
7535    </p>
7536    </blockquote><p>
7537                        
7538    </p>
7539    <p>Possible Answers:
7540    </p>
7541    <p>
7542                            </p>
7543    <blockquote class="text">
7544    <p>The sampler will answer by sending a comma separated
7545                                list of map ID - MIDI bank - MIDI program triples, where
7546                                each triple is encapsulated into curly braces. The
7547                                list is returned in one single line. Each triple
7548                                just reflects the key of the respective map entry,
7549                                thus subsequent
7550                                <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>
7551                                command(s) are necessary to retrieve detailed informations
7552                                about each entry.
7553    </p>
7554    </blockquote><p>
7555                        
7556    </p>
7557    <p>Example:
7558    </p>
7559    <p>
7560                            </p>
7561    <blockquote class="text">
7562    <p>C: "LIST MIDI_INSTRUMENTS 0"
7563    </p>
7564    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7565    </p>
7566    </blockquote><p>
7567                        
7568    </p>
7569    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7570    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7571    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7572    Remove an entry from the MIDI instrument map</h3>
7573    
7574    <p>The front-end can delete an entry from a MIDI instrument
7575                        map by sending the following command:
7576    </p>
7577    <p>
7578                            </p>
7579    <blockquote class="text">
7580    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7581    </p>
7582    </blockquote><p>
7583                        
7584    </p>
7585    <p>
7586                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7587                        &lt;midi_bank&gt; is an integer value between 0..16383
7588                        reflecting the MIDI bank value and
7589                        &lt;midi_prog&gt; an integer value between
7590                        0..127 reflecting the MIDI program value of the map's entrie's key
7591                        index triple.
7592                        
7593    </p>
7594    <p>Possible Answers:
7595    </p>
7596    <p>
7597                            </p>
7598    <blockquote class="text">
7599    <p>"OK" -
7600                                    </p>
7601    <blockquote class="text">
7602    <p>usually
7603    </p>
7604    </blockquote>
7605                                
7606    
7607    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7608                                    </p>
7609    <blockquote class="text">
7610    <p>when index out of bounds
7611    </p>
7612    </blockquote>
7613                                
7614    
7615    </blockquote><p>
7616                        
7617    </p>
7618    <p>Example:
7619    </p>
7620    <p>
7621                            </p>
7622    <blockquote class="text">
7623    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7624    </p>
7625    <p>S: "OK"
7626    </p>
7627    </blockquote><p>
7628                        
7629    </p>
7630    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7631    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7632    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7633    Get current settings of MIDI instrument map entry</h3>
7634    
7635    <p>The front-end can retrieve the current settings of a certain
7636                        instrument map entry by sending the following command:
7637    </p>
7638    <p>
7639                            </p>
7640    <blockquote class="text">
7641    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7642    </p>
7643    </blockquote><p>
7644                        
7645    </p>
7646    <p>
7647                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7648                        &lt;midi_bank&gt; is an integer value between 0..16383
7649                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7650                        and &lt;midi_prog&gt; an integer value between
7651                        0..127 reflecting the MIDI program value of the map's entrie's key
7652                        index triple.
7653                        
7654    </p>
7655    <p>Possible Answers:
7656    </p>
7657    <p>
7658                            </p>
7659    <blockquote class="text">
7660    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7661                                separated list. Each answer line begins with the
7662                                information category name followed by a colon and then
7663                                a space character &lt;SP&gt; and finally the info
7664                                character string to that info category. At the moment
7665                                the following categories are defined:
7666    </p>
7667    <p>"NAME" -
7668                                    </p>
7669    <blockquote class="text">
7670    <p>Name for this MIDI instrument map entry (if defined).
7671                                        This name shall be used by frontends for displaying a
7672                                        name for this mapped instrument. It can be set and
7673                                        changed with the
7674                                        <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>
7675                                        command and does not have to be unique.
7676                                        (note that this character string may contain
7677                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7678    </p>
7679    </blockquote>
7680                                
7681    
7682    <p>"ENGINE_NAME" -
7683                                    </p>
7684    <blockquote class="text">
7685    <p>Name of the engine to be deployed for this
7686                                        instrument.
7687    </p>
7688    </blockquote>
7689                                
7690    
7691    <p>"INSTRUMENT_FILE" -
7692                                    </p>
7693    <blockquote class="text">
7694    <p>File name of the instrument
7695                                        (note that this path may contain
7696                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7697    </p>
7698    </blockquote>
7699                                
7700    
7701    <p>"INSTRUMENT_NR" -
7702                                    </p>
7703    <blockquote class="text">
7704    <p>Index of the instrument within the file.
7705    </p>
7706    </blockquote>
7707                                
7708    
7709    <p>"INSTRUMENT_NAME" -
7710                                    </p>
7711    <blockquote class="text">
7712    <p>Name of the loaded instrument as reflected by its file.
7713                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7714                                        cannot be changed (note that this character string may contain
7715                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7716    </p>
7717    </blockquote>
7718                                
7719    
7720    <p>"LOAD_MODE" -
7721                                    </p>
7722    <blockquote class="text">
7723    <p>Life time of instrument
7724                                        (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).
7725    </p>
7726    </blockquote>
7727                                
7728    
7729    <p>"VOLUME" -
7730                                    </p>
7731    <blockquote class="text">
7732    <p>master volume of the instrument as optionally
7733                                        dotted number (where a value &lt; 1.0 means attenuation
7734                                        and a value > 1.0 means amplification)
7735    </p>
7736    </blockquote>
7737                                
7738    
7739    <p>The mentioned fields above don't have to be in particular order.
7740    </p>
7741    </blockquote><p>
7742                        
7743    </p>
7744    <p>Example:
7745    </p>
7746    <p>
7747                            </p>
7748    <blockquote class="text">
7749    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7750    </p>
7751    <p>S: "NAME: Drums for Foo Song"
7752    </p>
7753    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7754    </p>
7755    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7756    </p>
7757    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7758    </p>
7759    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7760    </p>
7761    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7762    </p>
7763    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7764    </p>
7765    <p>&nbsp;&nbsp;&nbsp;"."
7766    </p>
7767    </blockquote><p>
7768                        
7769    </p>
7770    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7771    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7772    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7773    Clear MIDI instrument map</h3>
7774    
7775    <p>The front-end can clear a whole MIDI instrument map, that
7776                        is delete all its entries by sending the following command:
7777    </p>
7778    <p>
7779                            </p>
7780    <blockquote class="text">
7781    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7782    </p>
7783    </blockquote><p>
7784                        
7785    </p>
7786    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7787    </p>
7788    <p>The front-end can clear all MIDI instrument maps, that
7789                        is delete all entries of all maps by sending the following
7790                        command:
7791    </p>
7792    <p>
7793                            </p>
7794    <blockquote class="text">
7795    <p>CLEAR MIDI_INSTRUMENTS ALL
7796    </p>
7797    </blockquote><p>
7798                        
7799    </p>
7800    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7801                        maps, only their entries, thus the map's settings like
7802                        custom name will be preservevd.
7803    </p>
7804    <p>Possible Answers:
7805    </p>
7806    <p>
7807                            </p>
7808    <blockquote class="text">
7809    <p>"OK" -
7810                                    </p>
7811    <blockquote class="text">
7812    <p>always
7813    </p>
7814    </blockquote>
7815                                
7816    
7817    </blockquote><p>
7818                        
7819    </p>
7820    <p>Examples:
7821    </p>
7822    <p>
7823                           </p>
7824    <blockquote class="text">
7825    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7826    </p>
7827    <p>S: "OK"
7828    </p>
7829    </blockquote><p>
7830                        
7831    </p>
7832    <p>
7833                           </p>
7834    <blockquote class="text">
7835    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7836    </p>
7837    <p>S: "OK"
7838    </p>
7839    </blockquote><p>
7840                        
7841    </p>
7842    <a name="Managing Instruments Database"></a><br /><hr />
7843    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7844    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7845    Managing Instruments Database</h3>
7846    
7847    <p>The following commands describe how to use and manage
7848                    the instruments database.
7849    </p>
7850    <p>Notice:
7851    </p>
7852    <p>
7853                            </p>
7854    <blockquote class="text">
7855    <p>All command arguments representing a path or
7856                                instrument/directory name support escape sequences as described in chapter
7857                                "<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>".
7858                                
7859    </p>
7860    <p>All occurrences of a forward slash in instrument and directory
7861                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7862                                
7863    </p>
7864    </blockquote><p>
7865                        
7866    </p>
7867    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7868    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7869    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7870    Creating a new instrument directory</h3>
7871    
7872    <p>The front-end can add a new instrument directory to the
7873                        instruments database by sending the following command:
7874    </p>
7875    <p>
7876                            </p>
7877    <blockquote class="text">
7878    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7879    </p>
7880    </blockquote><p>
7881                        
7882    </p>
7883    <p>Where &lt;dir&gt; is the absolute path name of the directory
7884                        to be created (encapsulated into apostrophes).
7885    </p>
7886    <p>Possible Answers:
7887    </p>
7888    <p>
7889                            </p>
7890    <blockquote class="text">
7891    <p>"OK" -
7892                                    </p>
7893    <blockquote class="text">
7894    <p>on success
7895    </p>
7896    </blockquote>
7897                                
7898    
7899    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7900                                    </p>
7901    <blockquote class="text">
7902    <p>when the directory could not be created, which
7903                                        can happen if the directory already exists or the
7904                                        name contains not allowed symbols
7905    </p>
7906    </blockquote>
7907                                
7908    
7909    </blockquote><p>
7910                        
7911    </p>
7912    <p>Examples:
7913    </p>
7914    <p>
7915                            </p>
7916    <blockquote class="text">
7917    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7918    </p>
7919    <p>S: "OK"
7920    </p>
7921    </blockquote><p>
7922                        
7923    </p>
7924    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7925    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7926    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7927    Deleting an instrument directory</h3>
7928    
7929    <p>The front-end can delete a particular instrument directory
7930                        from the instruments database by sending the following command:
7931    </p>
7932    <p>
7933                            </p>
7934    <blockquote class="text">
7935    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7936    </p>
7937    </blockquote><p>
7938                        
7939    </p>
7940    <p>Where &lt;dir&gt; is the absolute path name of the directory
7941                        to delete. The optional FORCE argument can be used to
7942                        force the deletion of a non-empty directory and all its content.
7943    </p>
7944    <p>Possible Answers:
7945    </p>
7946    <p>
7947                            </p>
7948    <blockquote class="text">
7949    <p>"OK" -
7950                                    </p>
7951    <blockquote class="text">
7952    <p>if the directory is deleted successfully
7953    </p>
7954    </blockquote>
7955                                
7956    
7957    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7958                                    </p>
7959    <blockquote class="text">
7960    <p>if the given directory does not exist, or
7961                                        if trying to delete a non-empty directory,
7962                                        without using the FORCE argument.
7963    </p>
7964    </blockquote>
7965                                
7966    
7967    </blockquote><p>
7968                        
7969    </p>
7970    <p>Examples:
7971    </p>
7972    <p>
7973                            </p>
7974    <blockquote class="text">
7975    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7976    </p>
7977    <p>S: "OK"
7978    </p>
7979    </blockquote><p>
7980                        
7981    </p>
7982    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7983    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7984    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7985    Getting amount of instrument directories</h3>
7986    
7987    <p>The front-end can retrieve the current amount of
7988                        directories in a specific directory by sending the following command:
7989    </p>
7990    <p>
7991                            </p>
7992    <blockquote class="text">
7993    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7994    </p>
7995    </blockquote><p>
7996                        
7997    </p>
7998    <p>Where &lt;dir&gt; should be replaced by the absolute path
7999                        name of the directory. If RECURSIVE is specified, the number of
8000                        all directories, including those located in subdirectories of the
8001                        specified directory, will be returned.
8002    </p>
8003    <p>Possible Answers:
8004    </p>
8005    <p>
8006                            </p>
8007    <blockquote class="text">
8008    <p>The current number of instrument directories
8009                                in the specified directory.
8010    </p>
8011    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8012                                    </p>
8013    <blockquote class="text">
8014    <p>if the given directory does not exist.
8015    </p>
8016    </blockquote>
8017                                
8018    
8019    </blockquote><p>
8020                        
8021    </p>
8022    <p>Example:
8023    </p>
8024    <p>
8025                            </p>
8026    <blockquote class="text">
8027    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
8028    </p>
8029    <p>S: "2"
8030    </p>
8031    </blockquote><p>
8032                        
8033    </p>
8034    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8035    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8036    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
8037    Listing all directories in specific directory</h3>
8038    
8039    <p>The front-end can retrieve the current list of directories
8040                        in specific directory by sending the following command:
8041    </p>
8042    <p>
8043                            </p>
8044    <blockquote class="text">
8045    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
8046    </p>
8047    </blockquote><p>
8048                        
8049    </p>
8050    <p>Where &lt;dir&gt; should be replaced by the absolute path
8051                        name of the directory. If RECURSIVE is specified, the absolute path names
8052                        of all directories, including those located in subdirectories of the
8053                        specified directory, will be returned.
8054    </p>
8055    <p>Possible Answers:
8056    </p>
8057    <p>
8058                            </p>
8059    <blockquote class="text">
8060    <p>A comma separated list of all instrument directories
8061                                (encapsulated into apostrophes) in the specified directory.
8062    </p>
8063    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8064                                    </p>
8065    <blockquote class="text">
8066    <p>if the given directory does not exist.
8067    </p>
8068    </blockquote>
8069                                
8070    
8071    </blockquote><p>
8072                        
8073    </p>
8074    <p>Example:
8075    </p>
8076    <p>
8077                            </p>
8078    <blockquote class="text">
8079    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
8080    </p>
8081    <p>S: "'Piano Collection','Percussion Collection'"
8082    </p>
8083    </blockquote><p>
8084                        
8085    </p>
8086    <p>
8087                            </p>
8088    <blockquote class="text">
8089    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
8090    </p>
8091    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
8092    </p>
8093    </blockquote><p>
8094                        
8095    </p>
8096    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
8097    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8098    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
8099    Getting instrument directory information</h3>
8100    
8101    <p>The front-end can ask for the current settings of an
8102                        instrument directory by sending the following command:
8103    </p>
8104    <p>
8105                            </p>
8106    <blockquote class="text">
8107    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
8108    </p>
8109    </blockquote><p>
8110                        
8111    </p>
8112    <p>Where &lt;dir&gt; should be replaced by the absolute path
8113                        name of the directory the front-end is interested in.
8114    </p>
8115    <p>Possible Answers:
8116    </p>
8117    <p>
8118                            </p>
8119    <blockquote class="text">
8120    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8121                                Each answer line begins with the settings category name
8122                                followed by a colon and then a space character &lt;SP&gt; and finally
8123                                the info character string to that setting category. At the
8124                                moment the following categories are defined:
8125    </p>
8126    <p>
8127                                    </p>
8128    <blockquote class="text">
8129    <p>DESCRIPTION -
8130                                            </p>
8131    <blockquote class="text">
8132    <p>A brief description of the directory content.
8133                                                Note that the character string may contain
8134                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8135    </p>
8136    </blockquote>
8137                                        
8138    
8139    <p>CREATED -
8140                                            </p>
8141    <blockquote class="text">
8142    <p>The creation date and time of the directory,
8143                                                represented in "YYYY-MM-DD HH:MM:SS" format
8144    </p>
8145    </blockquote>
8146                                        
8147    
8148    <p>MODIFIED -
8149                                            </p>
8150    <blockquote class="text">
8151    <p>The date and time of the last modification of the
8152                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
8153    </p>
8154    </blockquote>
8155                                        
8156    
8157    </blockquote>
8158                                
8159    
8160    </blockquote><p>
8161                        
8162    </p>
8163    <p>The mentioned fields above don't have to be in particular order.
8164    </p>
8165    <p>Example:
8166    </p>
8167    <p>
8168                            </p>
8169    <blockquote class="text">
8170    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
8171    </p>
8172    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
8173    </p>
8174    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8175    </p>
8176    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8177    </p>
8178    <p>&nbsp;&nbsp;&nbsp;"."
8179    </p>
8180    </blockquote><p>
8181                        
8182    </p>
8183    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
8184    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8185    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
8186    Renaming an instrument directory</h3>
8187    
8188    <p>The front-end can alter the name of a specific
8189                        instrument directory by sending the following command:
8190    </p>
8191    <p>
8192                            </p>
8193    <blockquote class="text">
8194    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
8195    </p>
8196    </blockquote><p>
8197                        
8198    </p>
8199    <p>Where &lt;dir&gt; is the absolute path name of the directory and
8200                        &lt;name&gt; is the new name for that directory.
8201    </p>
8202    <p>Possible Answers:
8203    </p>
8204    <p>
8205                            </p>
8206    <blockquote class="text">
8207    <p>"OK" -
8208                                    </p>
8209    <blockquote class="text">
8210    <p>on success
8211    </p>
8212    </blockquote>
8213                                
8214    
8215    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8216                                    </p>
8217    <blockquote class="text">
8218    <p>in case the given directory does not exists,
8219                                        or if a directory with name equal to the new
8220                                        name already exists.
8221    </p>
8222    </blockquote>
8223                                
8224    
8225    </blockquote><p>
8226                        
8227    </p>
8228    <p>Example:
8229    </p>
8230    <p>
8231                            </p>
8232    <blockquote class="text">
8233    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
8234    </p>
8235    <p>S: "OK"
8236    </p>
8237    </blockquote><p>
8238                        
8239    </p>
8240    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8241    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8242    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
8243    Moving an instrument directory</h3>
8244    
8245    <p>The front-end can move a specific
8246                        instrument directory by sending the following command:
8247    </p>
8248    <p>
8249                            </p>
8250    <blockquote class="text">
8251    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8252    </p>
8253    </blockquote><p>
8254                        
8255    </p>
8256    <p>Where &lt;dir&gt; is the absolute path name of the directory
8257                        to move and &lt;dst&gt; is the location where the directory will
8258                        be moved to.
8259    </p>
8260    <p>Possible Answers:
8261    </p>
8262    <p>
8263                            </p>
8264    <blockquote class="text">
8265    <p>"OK" -
8266                                    </p>
8267    <blockquote class="text">
8268    <p>on success
8269    </p>
8270    </blockquote>
8271                                
8272    
8273    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8274                                    </p>
8275    <blockquote class="text">
8276    <p>in case a given directory does not exists,
8277                                        or if a directory with name equal to the name
8278                                        of the specified directory already exists in
8279                                        the destination directory. Error is also thrown
8280                                        when trying to move a directory to a subdirectory
8281                                        of itself.
8282    </p>
8283    </blockquote>
8284                                
8285    
8286    </blockquote><p>
8287                        
8288    </p>
8289    <p>Example:
8290    </p>
8291    <p>
8292                            </p>
8293    <blockquote class="text">
8294    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
8295    </p>
8296    <p>S: "OK"
8297    </p>
8298    </blockquote><p>
8299                        
8300    </p>
8301    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8302    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8303    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
8304    Copying instrument directories</h3>
8305    
8306    <p>The front-end can copy a specific
8307                        instrument directory by sending the following command:
8308    </p>
8309    <p>
8310                            </p>
8311    <blockquote class="text">
8312    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8313    </p>
8314    </blockquote><p>
8315                        
8316    </p>
8317    <p>Where &lt;dir&gt; is the absolute path name of the directory
8318                        to copy and &lt;dst&gt; is the location where the directory will
8319                        be copied to.
8320    </p>
8321    <p>Possible Answers:
8322    </p>
8323    <p>
8324                            </p>
8325    <blockquote class="text">
8326    <p>"OK" -
8327                                    </p>
8328    <blockquote class="text">
8329    <p>on success
8330    </p>
8331    </blockquote>
8332                                
8333    
8334    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8335                                    </p>
8336    <blockquote class="text">
8337    <p>in case a given directory does not exists,
8338                                        or if a directory with name equal to the name
8339                                        of the specified directory already exists in
8340                                        the destination directory. Error is also thrown
8341                                        when trying to copy a directory to a subdirectory
8342                                        of itself.
8343    </p>
8344    </blockquote>
8345                                
8346    
8347    </blockquote><p>
8348                        
8349    </p>
8350    <p>Example:
8351    </p>
8352    <p>
8353                            </p>
8354    <blockquote class="text">
8355    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
8356    </p>
8357    <p>S: "OK"
8358    </p>
8359    </blockquote><p>
8360                        
8361    </p>
8362    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
8363    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8364    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
8365    Changing the description of directory</h3>
8366    
8367    <p>The front-end can alter the description of a specific
8368                        instrument directory by sending the following command:
8369    </p>
8370    <p>
8371                            </p>
8372    <blockquote class="text">
8373    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
8374    </p>
8375    </blockquote><p>
8376                        
8377    </p>
8378    <p>Where &lt;dir&gt; is the absolute path name of the directory and
8379                        &lt;desc&gt; is the new description for the directory
8380                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8381                        "<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>").
8382    </p>
8383    <p>Possible Answers:
8384    </p>
8385    <p>
8386                            </p>
8387    <blockquote class="text">
8388    <p>"OK" -
8389                                    </p>
8390    <blockquote class="text">
8391    <p>on success
8392    </p>
8393    </blockquote>
8394                                
8395    
8396    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8397                                    </p>
8398    <blockquote class="text">
8399    <p>in case the given directory does not exists.
8400    </p>
8401    </blockquote>
8402                                
8403    
8404    </blockquote><p>
8405                        
8406    </p>
8407    <p>Example:
8408    </p>
8409    <p>
8410                            </p>
8411    <blockquote class="text">
8412    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
8413    </p>
8414    <p>S: "OK"
8415    </p>
8416    </blockquote><p>
8417                        
8418    </p>
8419    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8420    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8421    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
8422    Finding directories</h3>
8423    
8424    <p>The front-end can search for directories
8425                        in specific directory by sending the following command:
8426    </p>
8427    <p>
8428                            </p>
8429    <blockquote class="text">
8430    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8431    </p>
8432    </blockquote><p>
8433                        
8434    </p>
8435    <p>Where &lt;dir&gt; should be replaced by the absolute path
8436                        name of the directory to search in. If NON_RECURSIVE is specified, the
8437                        directories located in subdirectories of the specified directory will not
8438                        be searched. &lt;criteria-list&gt; is a list of search criterias
8439                        in form of "key1=val1 key2=val2 ...". The following criterias are
8440                        allowed:
8441    </p>
8442    <p>
8443                          
8444    <p>NAME='&lt;search-string&gt;'
8445                              </p>
8446    <blockquote class="text">
8447    <p>Restricts the search to directories, which names
8448                                  satisfy the supplied search string (encapsulated into apostrophes,
8449                                  supporting escape sequences as described in chapter
8450                                  "<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>").
8451    </p>
8452    </blockquote><p>
8453                          
8454    </p>
8455    
8456                          
8457    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8458                              </p>
8459    <blockquote class="text">
8460    <p>Restricts the search to directories, which creation
8461                                  date satisfies the specified period, where &lt;date-after&gt;
8462                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8463                                  If &lt;date-after&gt; is omitted the search is restricted to
8464                                  directories created before &lt;date-before&gt;. If
8465                                  &lt;date-before&gt; is omitted, the search is restricted
8466                                  to directories created after &lt;date-after&gt;.
8467    </p>
8468    </blockquote><p>
8469                          
8470    </p>
8471    
8472                          
8473    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8474                              </p>
8475    <blockquote class="text">
8476    <p>Restricts the search to directories, which
8477                                  date of last modification satisfies the specified period, where
8478                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8479                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8480                                  directories, which are last modified before &lt;date-before&gt;. If
8481                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
8482                                  which are last modified after &lt;date-after&gt;.
8483    </p>
8484    </blockquote><p>
8485                          
8486    </p>
8487    
8488                          
8489    <p>DESCRIPTION='&lt;search-string&gt;'
8490                              </p>
8491    <blockquote class="text">
8492    <p>Restricts the search to directories with description
8493                                  that satisfies the supplied search string
8494                                  (encapsulated into apostrophes, supporting escape
8495                                  sequences as described in chapter
8496                                  "<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>").
8497    </p>
8498    </blockquote><p>
8499                          
8500    </p>
8501                        
8502    
8503    <p>Where &lt;search-string&gt; is either a regular expression, or a
8504                        word list separated with spaces for OR search and with '+' for AND search.
8505    </p>
8506    <p>Possible Answers:
8507    </p>
8508    <p>
8509                            </p>
8510    <blockquote class="text">
8511    <p>A comma separated list with the absolute path names (encapsulated into
8512                                apostrophes) of all directories in the specified directory that satisfy
8513                                the supplied search criterias.
8514    </p>
8515    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8516                                    </p>
8517    <blockquote class="text">
8518    <p>if the given directory does not exist.
8519    </p>
8520    </blockquote>
8521                                
8522    
8523    </blockquote><p>
8524                        
8525    </p>
8526    <p>Example:
8527    </p>
8528    <p>
8529                            </p>
8530    <blockquote class="text">
8531    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8532    </p>
8533    <p>S: "'/Piano Collection'"
8534    </p>
8535    </blockquote><p>
8536                        
8537    </p>
8538    <p>
8539                            </p>
8540    <blockquote class="text">
8541    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8542    </p>
8543    <p>S: "'/Piano Collection','/Percussions'"
8544    </p>
8545    </blockquote><p>
8546                        
8547    </p>
8548    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8549    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8550    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8551    Adding instruments to the instruments database</h3>
8552    
8553    <p>The front-end can add one or more instruments
8554                        to the instruments database by sending the following command:
8555    </p>
8556    <p>
8557                            </p>
8558    <blockquote class="text">
8559    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;[ FILE_AS_DIR]] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8560    </p>
8561    </blockquote><p>
8562                        
8563    </p>
8564    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8565                        (encapsulated into apostrophes) in the instruments database in which
8566                        only the new instruments (that are not already in the database) will
8567                        be added, &lt;file_path&gt; is the absolute path name of a file or
8568                        directory in the file system (encapsulated into apostrophes). In case
8569                        an instrument file is supplied, only the instruments in the specified
8570                        file will be added to the instruments database. If the optional
8571                        &lt;instr_index&gt; (the index of the instrument within the given file)
8572                        is supplied too, then only the specified instrument will be added.
8573                        In case a directory is supplied, the instruments in that directory
8574                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8575                        when a directory is provided as &lt;file_path&gt; and specifies how the
8576                        scanning will be done and has exactly the following possibilities:
8577    </p>
8578    <p>
8579                            </p>
8580    <blockquote class="text">
8581    <p>"RECURSIVE" -
8582                                    </p>
8583    <blockquote class="text">
8584    <p>All instruments will be processed, including those
8585                                        in the subdirectories, and the respective subdirectory
8586                                        tree structure will be recreated in the instruments
8587                                        database
8588    </p>
8589    </blockquote>
8590                                
8591    
8592    <p>"NON_RECURSIVE" -
8593                                    </p>
8594    <blockquote class="text">
8595    <p>Only the instruments in the specified directory
8596                                        will be added, the instruments in the subdirectories
8597                                        will not be processed.
8598    </p>
8599    </blockquote>
8600                                
8601    
8602    <p>"FLAT" -
8603                                    </p>
8604    <blockquote class="text">
8605    <p>All instruments will be processed, including those
8606                                        in the subdirectories, but the respective subdirectory
8607                                        structure will not be recreated in the instruments
8608                                        database. All instruments will be added directly in
8609                                        the specified database directory.
8610    </p>
8611    </blockquote>
8612                                
8613    
8614    </blockquote><p>
8615                        
8616    </p>
8617    <p> If FILE_AS_DIR argument is supplied, all instruments in an instrument
8618                     file will be added to a separate directory in the instruments database, which
8619                     name will be the name of the instrument file with the file extension stripped off.
8620                    
8621    </p>
8622    <p>The difference between regular and NON_MODAL versions of the command
8623                        is that the regular command returns when the scanning is finished
8624                        while NON_MODAL version returns immediately and a background process is launched.
8625                        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>
8626                        command can be used to monitor the scanning progress.
8627    </p>
8628    <p>Possible Answers:
8629    </p>
8630    <p>
8631                            </p>
8632    <blockquote class="text">
8633    <p>"OK" -
8634                                    </p>
8635    <blockquote class="text">
8636    <p>on success when NON_MODAL is not supplied
8637    </p>
8638    </blockquote>
8639                                
8640    
8641    <p>"OK[&lt;job-id&gt;]" -
8642                                    </p>
8643    <blockquote class="text">
8644    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8645                                        is a numerical ID used to obtain status information about the job progress.
8646                                        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>
8647                                        
8648    </p>
8649    </blockquote>
8650                                
8651    
8652    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8653                                    </p>
8654    <blockquote class="text">
8655    <p>if an invalid path is specified.
8656    </p>
8657    </blockquote>
8658                                
8659    
8660    </blockquote><p>
8661                        
8662    </p>
8663    <p>Examples:
8664    </p>
8665    <p>
8666                            </p>
8667    <blockquote class="text">
8668    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8669    </p>
8670    <p>S: "OK"
8671    </p>
8672    </blockquote><p>
8673                        
8674    </p>
8675    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8676    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8677    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8678    Removing an instrument</h3>
8679    
8680    <p>The front-end can remove a particular instrument
8681                        from the instruments database by sending the following command:
8682    </p>
8683    <p>
8684                            </p>
8685    <blockquote class="text">
8686    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8687    </p>
8688    </blockquote><p>
8689                        
8690    </p>
8691    <p>Where &lt;instr_path&gt; is the absolute path name
8692                        (in the instruments database) of the instrument to remove.
8693    </p>
8694    <p>Possible Answers:
8695    </p>
8696    <p>
8697                            </p>
8698    <blockquote class="text">
8699    <p>"OK" -
8700                                    </p>
8701    <blockquote class="text">
8702    <p>if the instrument is removed successfully
8703    </p>
8704    </blockquote>
8705                                
8706    
8707    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8708                                    </p>
8709    <blockquote class="text">
8710    <p>if the given path does not exist or
8711                                        is a directory.
8712    </p>
8713    </blockquote>
8714                                
8715    
8716    </blockquote><p>
8717                        
8718    </p>
8719    <p>Examples:
8720    </p>
8721    <p>
8722                            </p>
8723    <blockquote class="text">
8724    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8725    </p>
8726    <p>S: "OK"
8727    </p>
8728    </blockquote><p>
8729                        
8730    </p>
8731    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8732    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8733    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8734    Getting amount of instruments</h3>
8735    
8736    <p>The front-end can retrieve the current amount of
8737                        instruments in a specific directory by sending the following command:
8738    </p>
8739    <p>
8740                            </p>
8741    <blockquote class="text">
8742    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8743    </p>
8744    </blockquote><p>
8745                        
8746    </p>
8747    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8748                        of the directory. If RECURSIVE is specified, the number of all
8749                        instruments, including those located in subdirectories of the
8750                        specified directory, will be returned.
8751    </p>
8752    <p>Possible Answers:
8753    </p>
8754    <p>
8755                            </p>
8756    <blockquote class="text">
8757    <p>The current number of instruments
8758                                in the specified directory.
8759    </p>
8760    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8761                                    </p>
8762    <blockquote class="text">
8763    <p>if the given directory does not exist.
8764    </p>
8765    </blockquote>
8766                                
8767    
8768    </blockquote><p>
8769                        
8770    </p>
8771    <p>Example:
8772    </p>
8773    <p>
8774                            </p>
8775    <blockquote class="text">
8776    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8777    </p>
8778    <p>S: "2"
8779    </p>
8780    </blockquote><p>
8781                        
8782    </p>
8783    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8784    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8785    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8786    Listing all instruments in specific directory</h3>
8787    
8788    <p>The front-end can retrieve the current list of instruments
8789                        in specific directory by sending the following command:
8790    </p>
8791    <p>
8792                            </p>
8793    <blockquote class="text">
8794    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8795    </p>
8796    </blockquote><p>
8797                        
8798    </p>
8799    <p>Where &lt;dir&gt; should be replaced by the absolute path
8800                        name of the directory. If RECURSIVE is specified, the absolute path
8801                        names of all instruments, including those located in subdirectories
8802                        of the specified directory, will be returned.
8803    </p>
8804    <p>Possible Answers:
8805    </p>
8806    <p>
8807                            </p>
8808    <blockquote class="text">
8809    <p>A comma separated list of all instruments
8810                                (encapsulated into apostrophes) in the specified directory.
8811    </p>
8812    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8813                                    </p>
8814    <blockquote class="text">
8815    <p>if the given directory does not exist.
8816    </p>
8817    </blockquote>
8818                                
8819    
8820    </blockquote><p>
8821                        
8822    </p>
8823    <p>Example:
8824    </p>
8825    <p>
8826                            </p>
8827    <blockquote class="text">
8828    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8829    </p>
8830    <p>S: "'Bosendorfer 290','Steinway D'"
8831    </p>
8832    </blockquote><p>
8833                        
8834    </p>
8835    <p>
8836                            </p>
8837    <blockquote class="text">
8838    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8839    </p>
8840    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8841    </p>
8842    </blockquote><p>
8843                        
8844    </p>
8845    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8846    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8847    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8848    Getting instrument information</h3>
8849    
8850    <p>The front-end can ask for the current settings of an
8851                        instrument by sending the following command:
8852    </p>
8853    <p>
8854                            </p>
8855    <blockquote class="text">
8856    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8857    </p>
8858    </blockquote><p>
8859                        
8860    </p>
8861    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8862                        name of the instrument the front-end is interested in.
8863    </p>
8864    <p>Possible Answers:
8865    </p>
8866    <p>
8867                            </p>
8868    <blockquote class="text">
8869    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8870                                Each answer line begins with the settings category name
8871                                followed by a colon and then a space character &lt;SP&gt; and finally
8872                                the info character string to that setting category. At the
8873                                moment the following categories are defined:
8874    </p>
8875    <p>
8876                                    </p>
8877    <blockquote class="text">
8878    <p>INSTRUMENT_FILE -
8879                                            </p>
8880    <blockquote class="text">
8881    <p>File name of the instrument.
8882                                                Note that the character string may contain
8883                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8884    </p>
8885    </blockquote>
8886                                        
8887    
8888    <p>INSTRUMENT_NR -
8889                                            </p>
8890    <blockquote class="text">
8891    <p>Index of the instrument within the file.
8892    </p>
8893    </blockquote>
8894                                        
8895    
8896    <p>FORMAT_FAMILY -
8897                                            </p>
8898    <blockquote class="text">
8899    <p>The format family of the instrument.
8900    </p>
8901    </blockquote>
8902                                        
8903    
8904    <p>FORMAT_VERSION -
8905                                            </p>
8906    <blockquote class="text">
8907    <p>The format version of the instrument.
8908    </p>
8909    </blockquote>
8910                                        
8911    
8912    <p>SIZE -
8913                                            </p>
8914    <blockquote class="text">
8915    <p>The size of the instrument in bytes.
8916    </p>
8917    </blockquote>
8918                                        
8919    
8920    <p>CREATED -
8921                                            </p>
8922    <blockquote class="text">
8923    <p>The date and time when the instrument is added
8924                                                in the instruments database, represented in
8925                                               "YYYY-MM-DD HH:MM:SS" format
8926    </p>
8927    </blockquote>
8928                                        
8929    
8930    <p>MODIFIED -
8931                                            </p>
8932    <blockquote class="text">
8933    <p>The date and time of the last modification of the
8934                                                instrument's database settings, represented in
8935                                                "YYYY-MM-DD HH:MM:SS" format
8936    </p>
8937    </blockquote>
8938                                        
8939    
8940    <p>DESCRIPTION -
8941                                            </p>
8942    <blockquote class="text">
8943    <p>A brief description of the instrument.
8944                                                Note that the character string may contain
8945                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8946    </p>
8947    </blockquote>
8948                                        
8949    
8950    <p>IS_DRUM -
8951                                            </p>
8952    <blockquote class="text">
8953    <p>either true or false, determines whether the
8954                                                instrument is a drumkit or a chromatic instrument
8955    </p>
8956    </blockquote>
8957                                        
8958    
8959    <p>PRODUCT -
8960                                            </p>
8961    <blockquote class="text">
8962    <p>The product title of the instrument.
8963                                                Note that the character string may contain
8964                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8965    </p>
8966    </blockquote>
8967                                        
8968    
8969    <p>ARTISTS -
8970                                            </p>
8971    <blockquote class="text">
8972    <p>Lists the artist names.
8973                                                Note that the character string may contain
8974                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8975    </p>
8976    </blockquote>
8977                                        
8978    
8979    <p>KEYWORDS -
8980                                            </p>
8981    <blockquote class="text">
8982    <p>Provides a list of keywords that refer to the instrument.
8983                                                Keywords are separated with semicolon and blank.
8984                                                Note that the character string may contain
8985                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8986    </p>
8987    </blockquote>
8988                                        
8989    
8990    </blockquote>
8991                                
8992    
8993    </blockquote><p>
8994                        
8995    </p>
8996    <p>The mentioned fields above don't have to be in particular order.
8997    </p>
8998    <p>Example:
8999    </p>
9000    <p>
9001                            </p>
9002    <blockquote class="text">
9003    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
9004    </p>
9005    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
9006    </p>
9007    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
9008    </p>
9009    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9010    </p>
9011    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
9012    </p>
9013    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
9014    </p>
9015    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
9016    </p>
9017    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
9018    </p>
9019    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
9020    </p>
9021    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
9022    </p>
9023    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
9024    </p>
9025    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
9026    </p>
9027    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
9028    </p>
9029    <p>&nbsp;&nbsp;&nbsp;"."
9030    </p>
9031    </blockquote><p>
9032                        
9033    </p>
9034    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
9035    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9036    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
9037    Renaming an instrument</h3>
9038    
9039    <p>The front-end can alter the name of a specific
9040                        instrument by sending the following command:
9041    </p>
9042    <p>
9043                            </p>
9044    <blockquote class="text">
9045    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
9046    </p>
9047    </blockquote><p>
9048                        
9049    </p>
9050    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
9051                        &lt;name&gt; is the new name for that instrument.
9052    </p>
9053    <p>Possible Answers:
9054    </p>
9055    <p>
9056                            </p>
9057    <blockquote class="text">
9058    <p>"OK" -
9059                                    </p>
9060    <blockquote class="text">
9061    <p>on success
9062    </p>
9063    </blockquote>
9064                                
9065    
9066    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9067                                    </p>
9068    <blockquote class="text">
9069    <p>in case the given instrument does not exists,
9070                                        or if an instrument with name equal to the new
9071                                        name already exists.
9072    </p>
9073    </blockquote>
9074                                
9075    
9076    </blockquote><p>
9077                        
9078    </p>
9079    <p>Example:
9080    </p>
9081    <p>
9082                            </p>
9083    <blockquote class="text">
9084    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
9085    </p>
9086    <p>S: "OK"
9087    </p>
9088    </blockquote><p>
9089                        
9090    </p>
9091    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
9092    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9093    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
9094    Moving an instrument</h3>
9095    
9096    <p>The front-end can move a specific instrument to another directory by
9097                        sending the following command:
9098    </p>
9099    <p>
9100                            </p>
9101    <blockquote class="text">
9102    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
9103    </p>
9104    </blockquote><p>
9105                        
9106    </p>
9107    <p>Where &lt;instr&gt; is the absolute path name of the instrument
9108                        to move and &lt;dst&gt; is the directory where the instrument will
9109                        be moved to.
9110    </p>
9111    <p>Possible Answers:
9112    </p>
9113    <p>
9114                            </p>
9115    <blockquote class="text">
9116    <p>"OK" -
9117                                    </p>
9118    <blockquote class="text">
9119    <p>on success
9120    </p>
9121    </blockquote>
9122                                
9123    
9124    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9125                                    </p>
9126    <blockquote class="text">
9127    <p>in case the given instrument does not exists,
9128                                        or if an instrument with name equal to the name of the
9129                                        specified instrument already exists in the destination
9130                                        directory.
9131    </p>
9132    </blockquote>
9133                                
9134    
9135    </blockquote><p>
9136                        
9137    </p>
9138    <p>Example:
9139    </p>
9140    <p>
9141                            </p>
9142    <blockquote class="text">
9143    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
9144    </p>
9145    <p>S: "OK"
9146    </p>
9147    </blockquote><p>
9148                        
9149    </p>
9150    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
9151    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9152    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
9153    Copying instruments</h3>
9154    
9155    <p>The front-end can copy a specific instrument to another directory by
9156                        sending the following command:
9157    </p>
9158    <p>
9159                            </p>
9160    <blockquote class="text">
9161    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
9162    </p>
9163    </blockquote><p>
9164                        
9165    </p>
9166    <p>Where &lt;instr&gt; is the absolute path name of the instrument
9167                        to copy and &lt;dst&gt; is the directory where the instrument will
9168                        be copied to.
9169    </p>
9170    <p>Possible Answers:
9171    </p>
9172    <p>
9173                            </p>
9174    <blockquote class="text">
9175    <p>"OK" -
9176                                    </p>
9177    <blockquote class="text">
9178    <p>on success
9179    </p>
9180    </blockquote>
9181                                
9182    
9183    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9184                                    </p>
9185    <blockquote class="text">
9186    <p>in case the given instrument does not exists,
9187                                        or if an instrument with name equal to the name of the
9188                                        specified instrument already exists in the destination
9189                                        directory.
9190    </p>
9191    </blockquote>
9192                                
9193    
9194    </blockquote><p>
9195                        
9196    </p>
9197    <p>Example:
9198    </p>
9199    <p>
9200                            </p>
9201    <blockquote class="text">
9202    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
9203    </p>
9204    <p>S: "OK"
9205    </p>
9206    </blockquote><p>
9207                        
9208    </p>
9209    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
9210    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9211    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
9212    Changing the description of instrument</h3>
9213    
9214    <p>The front-end can alter the description of a specific
9215                        instrument by sending the following command:
9216    </p>
9217    <p>
9218                            </p>
9219    <blockquote class="text">
9220    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
9221    </p>
9222    </blockquote><p>
9223                        
9224    </p>
9225    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
9226                        &lt;desc&gt; is the new description for the instrument
9227                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
9228                        "<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>").
9229    </p>
9230    <p>Possible Answers:
9231    </p>
9232    <p>
9233                            </p>
9234    <blockquote class="text">
9235    <p>"OK" -
9236                                    </p>
9237    <blockquote class="text">
9238    <p>on success
9239    </p>
9240    </blockquote>
9241                                
9242    
9243    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9244                                    </p>
9245    <blockquote class="text">
9246    <p>in case the given instrument does not exists.
9247    </p>
9248    </blockquote>
9249                                
9250    
9251    </blockquote><p>
9252                        
9253    </p>
9254    <p>Example:
9255    </p>
9256    <p>
9257                            </p>
9258    <blockquote class="text">
9259    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
9260    </p>
9261    <p>S: "OK"
9262    </p>
9263    </blockquote><p>
9264                        
9265    </p>
9266    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
9267    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9268    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
9269    Finding instruments</h3>
9270    
9271    <p>The front-end can search for instruments
9272                        in specific directory by sending the following command:
9273    </p>
9274    <p>
9275                            </p>
9276    <blockquote class="text">
9277    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
9278    </p>
9279    </blockquote><p>
9280                        
9281    </p>
9282    <p>Where &lt;dir&gt; should be replaced by the absolute path
9283                        name of the directory to search in. If NON_RECURSIVE is specified, the
9284                        directories located in subdirectories of the specified directory will not
9285                        be searched. &lt;criteria-list&gt; is a list of search criterias
9286                        in form of "key1=val1 key2=val2 ...". The following criterias are
9287                        allowed:
9288    </p>
9289    <p>
9290                          
9291    <p>NAME='&lt;search-string&gt;'
9292                              </p>
9293    <blockquote class="text">
9294    <p>Restricts the search to instruments, which names
9295                                  satisfy the supplied search string (encapsulated into apostrophes,
9296                                  supporting escape sequences as described in chapter
9297                                  "<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>").
9298    </p>
9299    </blockquote><p>
9300                          
9301    </p>
9302    
9303                          
9304    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
9305                              </p>
9306    <blockquote class="text">
9307    <p>Restricts the search to instruments, which
9308                                  size is in the specified range. If &lt;min&gt; is omitted,
9309                                  the search results are restricted to instruments with size less then
9310                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
9311                                  search is restricted to instruments with size greater then
9312                                  or equal to &lt;min&gt;.
9313    </p>
9314    </blockquote><p>
9315                          
9316    </p>
9317    
9318                          
9319    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9320                              </p>
9321    <blockquote class="text">
9322    <p>Restricts the search to instruments, which creation
9323                                  date satisfies the specified period, where &lt;date-after&gt;
9324                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
9325                                  If &lt;date-after&gt; is omitted the search is restricted to
9326                                  instruments created before &lt;date-before&gt;. If
9327                                  &lt;date-before&gt; is omitted, the search is restricted
9328                                  to instruments created after &lt;date-after&gt;.
9329    </p>
9330    </blockquote><p>
9331                          
9332    </p>
9333    
9334                          
9335    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9336                              </p>
9337    <blockquote class="text">
9338    <p>Restricts the search to instruments, which
9339                                  date of last modification satisfies the specified period, where
9340                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
9341                                  format. If &lt;date-after&gt; is omitted the search is restricted to
9342                                  instruments, which are last modified before &lt;date-before&gt;. If
9343                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
9344                                  which are last modified after &lt;date-after&gt;.
9345    </p>
9346    </blockquote><p>
9347                          
9348    </p>
9349    
9350                          
9351    <p>DESCRIPTION='&lt;search-string&gt;'
9352                              </p>
9353    <blockquote class="text">
9354    <p>Restricts the search to instruments with description
9355                                  that satisfies the supplied search string (encapsulated into apostrophes,
9356                                  supporting escape sequences as described in chapter
9357                                  "<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>").
9358    </p>
9359    </blockquote><p>
9360                          
9361    </p>
9362    
9363                          
9364    <p>PRODUCT='&lt;search-string&gt;'
9365                              </p>
9366    <blockquote class="text">
9367    <p>Restricts the search to instruments with product info
9368                                  that satisfies the supplied search string (encapsulated into apostrophes,
9369                                  supporting escape sequences as described in chapter
9370                                  "<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>").
9371    </p>
9372    </blockquote><p>
9373                          
9374    </p>
9375    
9376                          
9377    <p>ARTISTS='&lt;search-string&gt;'
9378                              </p>
9379    <blockquote class="text">
9380    <p>Restricts the search to instruments with artists info
9381                                  that satisfies the supplied search string (encapsulated into apostrophes,
9382                                  supporting escape sequences as described in chapter
9383                                  "<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>").
9384    </p>
9385    </blockquote><p>
9386                          
9387    </p>
9388    
9389                          
9390    <p>KEYWORDS='&lt;search-string&gt;'
9391                              </p>
9392    <blockquote class="text">
9393    <p>Restricts the search to instruments with keyword list
9394                                  that satisfies the supplied search string (encapsulated into apostrophes,
9395                                  supporting escape sequences as described in chapter
9396                                  "<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>").
9397    </p>
9398    </blockquote><p>
9399                          
9400    </p>
9401    
9402                          
9403    <p>IS_DRUM=true | false
9404                              </p>
9405    <blockquote class="text">
9406    <p>Either true or false. Restricts the search to
9407                                  drum kits or chromatic instruments.
9408    </p>
9409    </blockquote><p>
9410                          
9411    </p>
9412    
9413                          
9414    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
9415                              </p>
9416    <blockquote class="text">
9417    <p>Restricts the search to instruments of the supplied format families,
9418                                  where &lt;format-list&gt; is a comma separated list of format families.
9419    </p>
9420    </blockquote><p>
9421                          
9422    </p>
9423                        
9424    
9425    <p>Where &lt;search-string&gt; is either a regular expression, or a
9426                        word list separated with spaces for OR search and with '+' for AND search.
9427    </p>
9428    <p>Possible Answers:
9429    </p>
9430    <p>
9431                            </p>
9432    <blockquote class="text">
9433    <p>A comma separated list with the absolute path names (encapsulated into
9434                                apostrophes) of all instruments in the specified directory that satisfy
9435                                the supplied search criterias.
9436    </p>
9437    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9438                                    </p>
9439    <blockquote class="text">
9440    <p>if the given directory does not exist.
9441    </p>
9442    </blockquote>
9443                                
9444    
9445    </blockquote><p>
9446                        
9447    </p>
9448    <p>Example:
9449    </p>
9450    <p>
9451                            </p>
9452    <blockquote class="text">
9453    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
9454    </p>
9455    <p>S: "'/Piano Collection/Bosendorfer 290'"
9456    </p>
9457    </blockquote><p>
9458                        
9459    </p>
9460    <p>
9461                            </p>
9462    <blockquote class="text">
9463    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
9464    </p>
9465    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
9466    </p>
9467    </blockquote><p>
9468                        
9469    </p>
9470    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9471    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9472    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9473    Getting job status information</h3>
9474    
9475    <p>The front-end can ask for the current status of a
9476                        particular database instruments job by sending the following command:
9477    </p>
9478    <p>
9479                            </p>
9480    <blockquote class="text">
9481    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9482    </p>
9483    </blockquote><p>
9484                        
9485    </p>
9486    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9487                        of the job the front-end is interested in.
9488    </p>
9489    <p>Possible Answers:
9490    </p>
9491    <p>
9492                            </p>
9493    <blockquote class="text">
9494    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9495                                Each answer line begins with the settings category name
9496                                followed by a colon and then a space character &lt;SP&gt; and finally
9497                                the info character string to that setting category. At the
9498                                moment the following categories are defined:
9499    </p>
9500    <p>
9501                                    </p>
9502    <blockquote class="text">
9503    <p>FILES_TOTAL -
9504                                            </p>
9505    <blockquote class="text">
9506    <p>The total number of files scheduled for scanning
9507    </p>
9508    </blockquote>
9509                                        
9510    
9511    <p>FILES_SCANNED -
9512                                            </p>
9513    <blockquote class="text">
9514    <p>The current number of scanned files
9515    </p>
9516    </blockquote>
9517                                        
9518    
9519    <p>SCANNING -
9520                                            </p>
9521    <blockquote class="text">
9522    <p>The absolute path name of the file which is currently
9523                                                being scanned
9524    </p>
9525    </blockquote>
9526                                        
9527    
9528    <p>STATUS -
9529                                            </p>
9530    <blockquote class="text">
9531    <p>An integer value between 0 and 100 indicating the
9532                                                scanning progress percentage of the file which is
9533                                                currently being scanned
9534    </p>
9535    </blockquote>
9536                                        
9537    
9538    </blockquote>
9539                                
9540    
9541    </blockquote><p>
9542                        
9543    </p>
9544    <p>The mentioned fields above don't have to be in particular order.
9545    </p>
9546    <p>Example:
9547    </p>
9548    <p>
9549                            </p>
9550    <blockquote class="text">
9551    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9552    </p>
9553    <p>S: "FILES_TOTAL: 12"
9554    </p>
9555    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9556    </p>
9557    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9558    </p>
9559    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9560    </p>
9561    <p>&nbsp;&nbsp;&nbsp;"."
9562    </p>
9563    </blockquote><p>
9564                        
9565    </p>
9566    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9567    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9568    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9569    Formatting the instruments database</h3>
9570    
9571    <p>The front-end can remove all instruments and directories and re-create
9572                        the instruments database structure (e.g., in case of a database corruption)
9573                        by sending the following command:
9574    </p>
9575    <p>
9576                            </p>
9577    <blockquote class="text">
9578    <p>FORMAT INSTRUMENTS_DB
9579    </p>
9580    </blockquote><p>
9581                        
9582    </p>
9583    <p>Possible Answers:
9584    </p>
9585    <p>
9586                            </p>
9587    <blockquote class="text">
9588    <p>"OK" -
9589                                    </p>
9590    <blockquote class="text">
9591    <p>on success
9592    </p>
9593    </blockquote>
9594                                
9595    
9596    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9597                                    </p>
9598    <blockquote class="text">
9599    <p>If the formatting of the instruments database
9600                                        failed.
9601    </p>
9602    </blockquote>
9603                                
9604    
9605    </blockquote><p>
9606                        
9607    </p>
9608    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9609    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9610    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9611    Checking for lost instrument files</h3>
9612    
9613    <p>The front-end can retrieve the list of all instrument files in the instruments database
9614                        that don't exist in the filesystem by sending the following command:
9615    </p>
9616    <p>
9617                            </p>
9618    <blockquote class="text">
9619    <p>FIND LOST DB_INSTRUMENT_FILES
9620    </p>
9621    </blockquote><p>
9622                        
9623    </p>
9624    <p>Possible Answers:
9625    </p>
9626    <p>
9627                            </p>
9628    <blockquote class="text">
9629    <p>A comma separated list with the absolute path names
9630                                (encapsulated into apostrophes) of all lost instrument files.
9631    </p>
9632    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9633                                    </p>
9634    <blockquote class="text">
9635    <p>in case it failed, providing an appropriate error code and error message.
9636    </p>
9637    </blockquote>
9638                                
9639    
9640    </blockquote><p>
9641                        
9642    </p>
9643    <p>Example:
9644    </p>
9645    <p>
9646                            </p>
9647    <blockquote class="text">
9648    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9649    </p>
9650    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9651    </p>
9652    </blockquote><p>
9653                        
9654    </p>
9655    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9656    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9657    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9658    Replacing an instrument file</h3>
9659    
9660    <p>The front-end can substitute all occurrences of an instrument file
9661                        in the instruments database with a new one by sending the following command:
9662    </p>
9663    <p>
9664                            </p>
9665    <blockquote class="text">
9666    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9667    </p>
9668    </blockquote><p>
9669                        
9670    </p>
9671    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9672                        to substitute with &lt;new_path&gt;.
9673    </p>
9674    <p>Possible Answers:
9675    </p>
9676    <p>
9677                            </p>
9678    <blockquote class="text">
9679    <p>"OK" -
9680                                    </p>
9681    <blockquote class="text">
9682    <p>on success
9683    </p>
9684    </blockquote>
9685                                
9686    
9687    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9688                                    </p>
9689    <blockquote class="text">
9690    <p>in case it failed, providing an appropriate error code and error message.
9691    </p>
9692    </blockquote>
9693                                
9694    
9695    </blockquote><p>
9696                        
9697    </p>
9698    <p>Example:
9699    </p>
9700    <p>
9701                            </p>
9702    <blockquote class="text">
9703    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9704    </p>
9705    <p>S: "OK"
9706    </p>
9707    </blockquote><p>
9708                        
9709    </p>
9710    <a name="editing_instruments"></a><br /><hr />
9711    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9712    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9713    Editing Instruments</h3>
9714    
9715    <p>The sampler allows to edit instruments while playing with the
9716                    sampler by spawning an external (3rd party) instrument editor
9717                    application for a given instrument. The 3rd party instrument
9718                    editor applications have to place a respective plugin DLL file
9719                    into the sampler's plugins directory. The sampler will
9720                    automatically try to load all plugin DLLs in that directory on
9721                    startup and only on startup!
9722    </p>
9723    <p>At the moment there is only one command for this feature set,
9724                    but this will most probably change in future.
9725    </p>
9726    <a name="EDIT INSTRUMENT"></a><br /><hr />
9727    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9728    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9729    Opening an appropriate instrument editor application</h3>
9730    
9731    <p>The front-end can request to open an appropriate instrument
9732                        editor application by sending the following command:
9733    </p>
9734    <p>
9735                            </p>
9736    <blockquote class="text">
9737    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9738    </p>
9739    </blockquote><p>
9740                        
9741    </p>
9742    <p>Where &lt;sampler-channel&gt; should be replaced by the
9743                        number of the sampler channel as given by the
9744                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9745                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9746                        command.
9747    </p>
9748    <p>The sampler will try to ask all registered instrument
9749                        editors (or to be more specific: their sampler plugins)
9750                        whether they are capable to handle the instrument on the
9751                        given sampler channel. The sampler will simply use the first
9752                        instrument editor application which replied with a positive
9753                        answer and spawn that instrument editor application within
9754                        the sampler's process and provide that application access
9755                        to the instrument's data structures, so both applications
9756                        can share and access the same instruments data at the same
9757                        time, thus allowing to immediately hear changes with the
9758                        sampler made by the instrument editor.
9759    </p>
9760    <p>Note: consequently instrument editors are always spawned
9761                        locally on the same machine where the sampler is running
9762                        on!
9763    </p>
9764    <p>Possible Answers:
9765    </p>
9766    <p>
9767                            </p>
9768    <blockquote class="text">
9769    <p>"OK" -
9770                                    </p>
9771    <blockquote class="text">
9772    <p>when an appropriate instrument editor was
9773                                        launched
9774    </p>
9775    </blockquote>
9776                                
9777    
9778    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9779                                    </p>
9780    <blockquote class="text">
9781    <p>when an appropriate instrument editor was
9782                                        launched, but there are noteworthy issues
9783    </p>
9784    </blockquote>
9785                                
9786    
9787    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9788                                    </p>
9789    <blockquote class="text">
9790    <p>when an appropriate instrument editor
9791                                        could not be launched
9792    </p>
9793    </blockquote>
9794                                
9795    
9796    </blockquote><p>
9797                        
9798    </p>
9799    <p>Examples:
9800    </p>
9801    <p>
9802                            </p>
9803    <blockquote class="text">
9804    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9805    </p>
9806    <p>S: "OK"
9807    </p>
9808    </blockquote><p>
9809                        
9810    </p>
9811    <a name="file_management"></a><br /><hr />
9812    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9813    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9814    Managing Files</h3>
9815    
9816    <p>You can query detailed informations about files located
9817                    at the same system where the sampler instance is running on.
9818                    Using this command set allows to retrieve file informations
9819                    even remotely from another machine.
9820    </p>
9821    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9822    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9823    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9824    Retrieving amount of instruments of a file</h3>
9825    
9826    <p>The front-end can retrieve the amount of instruments
9827                        within a given instrument file by sending the
9828                        following command:
9829    </p>
9830    <p>
9831                            </p>
9832    <blockquote class="text">
9833    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9834    </p>
9835    </blockquote><p>
9836                        
9837    </p>
9838    <p>Where &lt;filename&gt; is the name of the instrument
9839                        file (encapsulated into apostrophes, supporting escape
9840                        sequences as described in chapter
9841                        "<a class='info' href='#character_set'>Character Set and Escape
9842                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9843    </p>
9844    <p>The sampler will try to ask all sampler engines,
9845                        whether they support the given file and ask the first
9846                        engine with a positive answer for the amount of
9847                        instruments.
9848    </p>
9849    <p>Possible Answers:
9850    </p>
9851    <p>
9852                            </p>
9853    <blockquote class="text">
9854    <p>On success, the sampler will answer by
9855                                   returning the amount of instruments.
9856                                
9857    </p>
9858    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9859                                    </p>
9860    <blockquote class="text">
9861    <p>if the file could not be handled
9862    </p>
9863    </blockquote>
9864                                
9865    
9866    </blockquote><p>
9867                        
9868    </p>
9869    <p>Examples:
9870    </p>
9871    <p>
9872                            </p>
9873    <blockquote class="text">
9874    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9875    </p>
9876    <p>S: "10"
9877    </p>
9878    </blockquote><p>
9879                        
9880    </p>
9881    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9882    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9883    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9884    Retrieving all instruments of a file</h3>
9885    
9886    <p>The front-end can retrieve a list of all instruments
9887                        within a given instrument file by sending the
9888                        following command:
9889    </p>
9890    <p>
9891                            </p>
9892    <blockquote class="text">
9893    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9894    </p>
9895    </blockquote><p>
9896                        
9897    </p>
9898    <p>Where &lt;filename&gt; is the name of the instrument
9899                        file (encapsulated into apostrophes, supporting escape
9900                        sequences as described in chapter
9901                        "<a class='info' href='#character_set'>Character Set and Escape
9902                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9903    </p>
9904    <p>The sampler will try to ask all sampler engines,
9905                        whether they support the given file and ask the first
9906                        engine with a positive answer for a list of IDs for the
9907                        instruments in the given file.
9908    </p>
9909    <p>Possible Answers:
9910    </p>
9911    <p>
9912                            </p>
9913    <blockquote class="text">
9914    <p>On success, the sampler will answer by
9915                                   returning a comma separated list of
9916                                   instrument IDs.
9917                                
9918    </p>
9919    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9920                                    </p>
9921    <blockquote class="text">
9922    <p>if the file could not be handled
9923    </p>
9924    </blockquote>
9925                                
9926    
9927    </blockquote><p>
9928                        
9929    </p>
9930    <p>Examples:
9931    </p>
9932    <p>
9933                            </p>
9934    <blockquote class="text">
9935    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9936    </p>
9937    <p>S: "0,1,2,3,4,5,6,7,8,9"
9938    </p>
9939    </blockquote><p>
9940                        
9941    </p>
9942    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9943    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9944    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9945    Retrieving informations about one instrument in a file</h3>
9946    
9947    <p>The front-end can retrieve detailed informations
9948                        about a specific instrument within a given instrument
9949                        file by sending the following command:
9950    </p>
9951    <p>
9952                            </p>
9953    <blockquote class="text">
9954    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9955                                &lt;instr-id&gt;
9956    </p>
9957    </blockquote><p>
9958                        
9959    </p>
9960    <p>Where &lt;filename&gt; is the name of the instrument
9961                        file (encapsulated into apostrophes, supporting escape
9962                        sequences as described in chapter
9963                        "<a class='info' href='#character_set'>Character Set and Escape
9964                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9965                        instrument ID as returned by the
9966                        <a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> command.
9967    </p>
9968    <p>The sampler will try to ask all sampler engines,
9969                        whether they support the given file and ask the first
9970                        engine with a positive answer for informations about the
9971                        specific instrument in the given file.
9972    </p>
9973    <p>Possible Answers:
9974    </p>
9975    <p>
9976                            </p>
9977    <blockquote class="text">
9978    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9979                                Each answer line begins with the settings category name
9980                                followed by a colon and then a space character &lt;SP&gt; and finally
9981                                the info character string to that setting category. At the
9982                                moment the following categories are defined:
9983    </p>
9984    <p>
9985                                    </p>
9986    <blockquote class="text">
9987    <p>NAME -
9988                                            </p>
9989    <blockquote class="text">
9990    <p>name of the instrument as
9991                                                stored in the instrument file
9992    </p>
9993    </blockquote>
9994                                        
9995    
9996    <p>FORMAT_FAMILY -
9997                                            </p>
9998    <blockquote class="text">
9999    <p>name of the sampler format
10000                                                of the given instrument
10001    </p>
10002    </blockquote>
10003                                        
10004    
10005    <p>FORMAT_VERSION -
10006                                            </p>
10007    <blockquote class="text">
10008    <p>version of the sampler format
10009                                                the instrumen is stored as
10010    </p>
10011    </blockquote>
10012                                        
10013    
10014    <p>PRODUCT -
10015                                            </p>
10016    <blockquote class="text">
10017    <p>official product name of the
10018                                                instrument as stored in the file
10019                                                
10020    </p>
10021    </blockquote>
10022                                        
10023    
10024    <p>ARTISTS -
10025                                            </p>
10026    <blockquote class="text">
10027    <p>artists / sample library
10028                                                vendor of the instrument
10029    </p>
10030    </blockquote>
10031                                        
10032    
10033    <p>KEY_BINDINGS -
10034                                            </p>
10035    <blockquote class="text">
10036    <p>comma separated list of integer values representing
10037                                                   the instrument's key mapping in the range between 0 .. 127,
10038                                                   reflecting the analog meaning of the MIDI specification.
10039    </p>
10040    </blockquote>
10041                                        
10042    
10043    <p>KEYSWITCH_BINDINGS -
10044                                            </p>
10045    <blockquote class="text">
10046    <p>comma separated list of integer values representing
10047                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
10048                                                   reflecting the analog meaning of the MIDI specification.
10049    </p>
10050    </blockquote>
10051                                        
10052    
10053    </blockquote>
10054                                
10055    
10056    </blockquote><p>
10057                        
10058    </p>
10059    <p>The mentioned fields above don't have to be in particular order.
10060    </p>
10061    <p>Example:
10062    </p>
10063    <p>
10064                            </p>
10065    <blockquote class="text">
10066    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
10067    </p>
10068    <p>S: "NAME: Lunatic Loops"
10069    </p>
10070    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
10071    </p>
10072    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
10073    </p>
10074    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
10075    </p>
10076    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
10077    </p>
10078    <p>&nbsp;&nbsp;&nbsp;"."
10079    </p>
10080    </blockquote><p>
10081                        
10082    </p>
10083    <a name="effects"></a><br /><hr />
10084    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10085    <a name="rfc.section.6.11"></a><h3>6.11.&nbsp;
10086    Managing Effects</h3>
10087    
10088    <p>Audio effects (e.g. reverb, delay, compression) can be
10089                    applied to the audio signals generated by the sampler. The
10090                    sampler usually provides a set of internal audio effects for
10091                    this task. The exact set of effects depends on the availability
10092                    of third party effect plugins installed on the system where the
10093                    sampler runs on.
10094    </p>
10095    <p>At the moment only "send effects" are supported. Support for
10096                    "insert effects" and "master effects" is planned to be added at
10097                    a later point.
10098    </p>
10099    <p>The following commands allow to retrieve the set of internal
10100                    effects available to the sampler, detailed informations about
10101                    those effects and to create and destroy instances of such
10102                    effects. After an instance of an effect is created, the effect
10103                    instance can be inserted into the audio signal path of the
10104                    sampler, e.g. as send effect.
10105    </p>
10106    <p>The sampler allows to create an arbitrary amount of so called
10107                    send effect chains. Each effect chain can host an arbitrary
10108                    amount of effect instances. The output of the first effect
10109                    instance in an effect chain is fed to the input of the second
10110                    effect instance of the chain and so on. So effects in one chain
10111                    are processed sequentially. Send effect chains however are
10112                    processed in parallel to other send effect chains. Audio signals
10113                    of sampler channels are fed to send effects by creating FX sends
10114                    to the respective sampler channel and assigning a destination
10115                    send effect to that FX by using the
10116                    <a class='info' href='#SET FX_SEND SEND_EFFECT'>"SET FX_SEND SEND_EFFECT"<span> (</span><span class='info'>Assigning destination effect to an effect send</span><span>)</span></a>
10117                    command. The latter allows to route the FX send to the beginning
10118                    of a send effect chain, as well as directly to any other
10119                    position of the send effect chain.
10120    </p>
10121    <a name="GET AVAILABLE_EFFECTS"></a><br /><hr />
10122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10123    <a name="rfc.section.6.11.1"></a><h3>6.11.1.&nbsp;
10124    Retrieve amount of available effects</h3>
10125    
10126    <p>The front-end can retrieve the amount of internal
10127                        effects, available to the sampler by sending
10128                        the following command:
10129    </p>
10130    <p>
10131                            </p>
10132    <blockquote class="text">
10133    <p>GET AVAILABLE_EFFECTS
10134    </p>
10135    </blockquote><p>
10136                        
10137    </p>
10138    <p>Possible Answers:
10139    </p>
10140    <p>
10141                            </p>
10142    <blockquote class="text">
10143    <p>The sampler will answer by returning the current
10144                                number of effects available to the sampler.
10145    </p>
10146    </blockquote><p>
10147                        
10148    </p>
10149    <p>Examples:
10150    </p>
10151    <p>
10152                            </p>
10153    <blockquote class="text">
10154    <p>C: "GET AVAILABLE_EFFECTS"
10155    </p>
10156    <p>S: "129"
10157    </p>
10158    </blockquote><p>
10159                        
10160    </p>
10161    <a name="LIST AVAILABLE_EFFECTS"></a><br /><hr />
10162    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10163    <a name="rfc.section.6.11.2"></a><h3>6.11.2.&nbsp;
10164    Get list of available effects</h3>
10165    
10166    <p>The set of available internal effects can change at
10167                        runtime. The front-end can retrieve the list of internal
10168                        effects, available to the sampler by sending the following
10169                        command:
10170    </p>
10171    <p>
10172                            </p>
10173    <blockquote class="text">
10174    <p>LIST AVAILABLE_EFFECTS
10175    </p>
10176    </blockquote><p>
10177                        
10178    </p>
10179    <p>Possible Answers:
10180    </p>
10181    <p>
10182                            </p>
10183    <blockquote class="text">
10184    <p>The sampler will answer by returning a comma
10185                                separated list with numerical IDs of effects. Note:
10186                                the numercial ID of an effect is generated by the
10187                                sampler for the current moment. The numerical ID of
10188                                the same effect can change at runtime, e.g. when the
10189                                user requests a rescan of available effect plugins.
10190                                
10191    </p>
10192    </blockquote><p>
10193                        
10194    </p>
10195    <p>Example:
10196    </p>
10197    <p>
10198                            </p>
10199    <blockquote class="text">
10200    <p>C: "LIST AVAILABLE_EFFECTS"
10201    </p>
10202    <p>S: "5,6,7,120,121,122,123,124"
10203    </p>
10204    </blockquote><p>
10205                        
10206    </p>
10207    <a name="GET EFFECT INFO"></a><br /><hr />
10208    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10209    <a name="rfc.section.6.11.3"></a><h3>6.11.3.&nbsp;
10210    Retrieving general information about an effect</h3>
10211    
10212    <p>The front-end can ask for general informations about an
10213                        effect by sending the following command:
10214    </p>
10215    <p>
10216                            </p>
10217    <blockquote class="text">
10218    <p>GET EFFECT INFO &lt;effect-index&gt;
10219    </p>
10220    </blockquote><p>
10221                        
10222    </p>
10223    <p>Where &lt;effect-index&gt; is the numerical ID of an
10224                        effect as returned by the
10225                        <a class='info' href='#LIST AVAILABLE_EFFECTS'>"LIST AVAILABLE_EFFECTS"<span> (</span><span class='info'>Get list of available effects</span><span>)</span></a>
10226                        command.
10227    </p>
10228    <p>Possible Answers:
10229    </p>
10230    <p>
10231                            </p>
10232    <blockquote class="text">
10233    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10234                                Each answer line begins with the effect information
10235                                category name, followed by a colon and then a space
10236                                character &lt;SP&gt; and finally the info character
10237                                string to that effect information category. At the
10238                                moment the following categories are defined:
10239    </p>
10240    <p>
10241                                    </p>
10242    <blockquote class="text">
10243    <p>SYSTEM -
10244                                            </p>
10245    <blockquote class="text">
10246    <p>name of the effect plugin system
10247                                                the effect is based on
10248                                                (e.g. "LADSPA")
10249    </p>
10250    </blockquote>
10251                                        
10252    
10253    <p>MODULE -
10254                                            </p>
10255    <blockquote class="text">
10256    <p>module of the effect plugin
10257                                                system that contains this effect,
10258                                                the module is usually the
10259                                                dynamic-linked library (DLL)
10260                                                filename of the effect plugin,
10261                                                including full path (note that this
10262                                                filename may contain
10263                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10264    </p>
10265    </blockquote>
10266                                        
10267    
10268    <p>NAME -
10269                                            </p>
10270    <blockquote class="text">
10271    <p>character string defining the
10272                                                unique name of the effect within its
10273                                                module (note that the character
10274                                                string may contain
10275                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10276    </p>
10277    </blockquote>
10278                                        
10279    
10280    <p>DESCRIPTION -
10281                                            </p>
10282    <blockquote class="text">
10283    <p>human readable name of the
10284                                                effect, intended to be displayed in
10285                                                user interfaces (note that the
10286                                                character string may contain
10287                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10288    </p>
10289    </blockquote>
10290                                        
10291    
10292    </blockquote>
10293                                
10294    
10295    </blockquote><p>
10296                        
10297    </p>
10298    <p>The mentioned fields above don't have to be in particular order.
10299    </p>
10300    <p>Example:
10301    </p>
10302    <p>
10303                            </p>
10304    <blockquote class="text">
10305    <p>C: "GET EFFECT INFO 121"
10306    </p>
10307    <p>S: "SYSTEM: LADSPA"
10308    </p>
10309    <p>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/lowpass_iir_1891.so"
10310    </p>
10311    <p>&nbsp;&nbsp;&nbsp;"NAME: lowpass_iir"
10312    </p>
10313    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Glame Lowpass Filter"
10314    </p>
10315    <p>&nbsp;&nbsp;&nbsp;"."
10316    </p>
10317    </blockquote><p>
10318                        
10319    </p>
10320    <a name="CREATE EFFECT_INSTANCE"></a><br /><hr />
10321    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10322    <a name="rfc.section.6.11.4"></a><h3>6.11.4.&nbsp;
10323    Creating an instance of an effect by its portable ID</h3>
10324    
10325    <p>The front-end can spawn an instance of the desired
10326                        effect by sending the following command:
10327    </p>
10328    <p>
10329                            </p>
10330    <blockquote class="text">
10331    <p>CREATE EFFECT_INSTANCE &lt;effect-system&gt; &lt;module&gt; &lt;effect-name&gt;
10332    </p>
10333    </blockquote><p>
10334                        
10335    </p>
10336    <p>Where &lt;effect-system&gt; is the "SYSTEM" field,
10337                        &lt;module&gt; the "MODULE" field and &lt;effect-name&gt;
10338                        the "NAME" field as returned by the
10339                        <a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
10340                        command. The filename of argument &lt;module&gt; and the
10341                        character string of argument &lt;effect-name&gt; may contain
10342                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
10343    </p>
10344    <p>The sampler will try to load the requested effect and to
10345                        create an instance of it. To allow loading the same effect
10346                        on a different machine, probably even running a completely
10347                        different operating system (e.g. Linux vs. Windows), the
10348                        sampler tries to match &lt;module&gt; "softly". That means
10349                        it first tries to find an effect that exactly matches the
10350                        given &lt;module&gt; argument. If there is no exact match,
10351                        the sampler will try to lower the restrictions on matching
10352                        the &lt;module&gt; argument more and more, e.g. by ignoring
10353                        upper / lower case differences and by ignoring the path of
10354                        the DLL filename and file extension. If there is still no
10355                        match at the end, the sampler will try to ignore the
10356                        &lt;module&gt; argument completely and as a last resort
10357                        search for an effect that only matches the given
10358                        &lt;effect-system&gt; and &lt;effect-name&gt; arguments.
10359    </p>
10360    <p>Possible Answers:
10361    </p>
10362    <p>
10363                            </p>
10364    <blockquote class="text">
10365    <p>"OK[&lt;effect-instance&gt;]" -
10366                                    </p>
10367    <blockquote class="text">
10368    <p>in case the effect instance was
10369                                        successfully created, where
10370                                        &lt;effect-instance&gt; is the numerical ID
10371                                        of the new effect instance
10372    </p>
10373    </blockquote>
10374                                
10375    
10376    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
10377                                    </p>
10378    <blockquote class="text">
10379    <p>in case the effect instance was spawned
10380                                        successfully, but there are noteworthy
10381                                        issue(s) related, providing an appropriate
10382                                        warning code and warning message
10383    </p>
10384    </blockquote>
10385                                
10386    
10387    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10388                                    </p>
10389    <blockquote class="text">
10390    <p>if the effect could not be instantiated
10391    </p>
10392    </blockquote>
10393                                
10394    
10395    </blockquote><p>
10396                        
10397    </p>
10398    <p>Examples:
10399    </p>
10400    <p>
10401                            </p>
10402    <blockquote class="text">
10403    <p>C: "CREATE EFFECT_INSTANCE LADSPA '/usr/lib/ladspa/mod_delay_1419.so' 'modDelay'"
10404    </p>
10405    <p>S: "OK[0]"
10406    </p>
10407    </blockquote><p>
10408                        
10409    </p>
10410    <a name="CREATE EFFECT_INSTANCE (non-portable)"></a><br /><hr />
10411    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10412    <a name="rfc.section.6.11.5"></a><h3>6.11.5.&nbsp;
10413    Creating an instance of an effect by its numerical ID</h3>
10414    
10415    <p>The front-end can spawn an instance of the desired
10416                        effect by sending the following command:
10417    </p>
10418    <p>
10419                            </p>
10420    <blockquote class="text">
10421    <p>CREATE EFFECT_INSTANCE &lt;effect-index&gt;
10422    </p>
10423    </blockquote><p>
10424                        
10425    </p>
10426    <p>Where &lt;effect-index&gt; is the numerical ID of the
10427                        effect as returned by the
10428                        <a class='info' href='#LIST AVAILABLE_EFFECTS'>"LIST AVAILABLE_EFFECTS"<span> (</span><span class='info'>Get list of available effects</span><span>)</span></a>
10429                        command.
10430    </p>
10431    <p>The sampler will try to load the requested effect and to
10432                        create an instance of it.
10433    </p>
10434    <p>Note: Since the numerical ID of a certain effect can
10435                        change at any time, you should not use this command in
10436                        LSCP files to restore a certain effect at a later time! To
10437                        store a sampler session including all its effects, use the
10438                        <a class='info' href='#CREATE EFFECT_INSTANCE'>portable text-based
10439                        version of "CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> instead! This
10440                        allows to restore a sampler session with all its effects
10441                        also on other machines, possibly even running a completely
10442                        different operating system (e.g. Linux vs. Windows), with
10443                        different plugin directories or plugin DLL names.
10444    </p>
10445    <p>Possible Answers:
10446    </p>
10447    <p>
10448                            </p>
10449    <blockquote class="text">
10450    <p>"OK[&lt;effect-instance&gt;]" -
10451                                    </p>
10452    <blockquote class="text">
10453    <p>in case the effect instance was
10454                                        successfully created, where
10455                                        &lt;effect-instance&gt; is the numerical ID
10456                                        of the new effect instance
10457    </p>
10458    </blockquote>
10459                                
10460    
10461    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
10462                                    </p>
10463    <blockquote class="text">
10464    <p>in case the effect instance was spawned
10465                                        successfully, but there are noteworthy
10466                                        issue(s) related, providing an appropriate
10467                                        warning code and warning message
10468    </p>
10469    </blockquote>
10470                                
10471    
10472    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10473                                    </p>
10474    <blockquote class="text">
10475    <p>if the effect could not be instantiated
10476    </p>
10477    </blockquote>
10478                                
10479    
10480    </blockquote><p>
10481                        
10482    </p>
10483    <p>Examples:
10484    </p>
10485    <p>
10486                            </p>
10487    <blockquote class="text">
10488    <p>C: "CREATE EFFECT_INSTANCE 72"
10489    </p>
10490    <p>S: "OK[5]"
10491    </p>
10492    </blockquote><p>
10493                        
10494    </p>
10495    <a name="DESTROY EFFECT_INSTANCE"></a><br /><hr />
10496    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10497    <a name="rfc.section.6.11.6"></a><h3>6.11.6.&nbsp;
10498    Destroy an effect instance</h3>
10499    
10500    <p>The front-end can destroy an unusued effect instance and
10501                        thus freeing it from memory by sending the following command:
10502    </p>
10503    <p>
10504                            </p>
10505    <blockquote class="text">
10506    <p>DESTROY EFFECT_INSTANCE &lt;effect-instance&gt;
10507    </p>
10508    </blockquote><p>
10509                        
10510    </p>
10511    <p>Where &lt;effect-instance&gt; is the numerical ID of the
10512                        effect instance as returned by the
10513                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
10514                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10515                        command.
10516    </p>
10517    <p>The effect instance can only be destroyed if it's not
10518                        used in any part of the sampler's audio signal path anymore.
10519                        If the effect instance is still in use somewhere, trying to
10520                        destroy the effect instance will result in an error
10521                        message.
10522    </p>
10523    <p>Possible Answers:
10524    </p>
10525    <p>
10526                            </p>
10527    <blockquote class="text">
10528    <p>"OK" -
10529                                    </p>
10530    <blockquote class="text">
10531    <p>in case the effect instance was successfully destroyed
10532    </p>
10533    </blockquote>
10534                                
10535    
10536    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10537                                    </p>
10538    <blockquote class="text">
10539    <p>in case it failed, providing an appropriate error code and
10540                                        error message
10541    </p>
10542    </blockquote>
10543                                
10544    
10545    </blockquote><p>
10546                        
10547    </p>
10548    <p>Examples:
10549    </p>
10550    <p>
10551                            </p>
10552    <blockquote class="text">
10553    <p>C: "DESTROY EFFECT_INSTANCE 5"
10554    </p>
10555    <p>S: "OK"
10556    </p>
10557    </blockquote><p>
10558                        
10559    </p>
10560    <a name="GET EFFECT_INSTANCES"></a><br /><hr />
10561    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10562    <a name="rfc.section.6.11.7"></a><h3>6.11.7.&nbsp;
10563    Retrieve amount of effect instances</h3>
10564    
10565    <p>The front-end can retrieve the current amount of effect
10566                        instances by sending the following command:
10567    </p>
10568    <p>
10569                            </p>
10570    <blockquote class="text">
10571    <p>GET EFFECT_INSTANCES
10572    </p>
10573    </blockquote><p>
10574                        
10575    </p>
10576    <p>Possible Answers:
10577    </p>
10578    <p>
10579                            </p>
10580    <blockquote class="text">
10581    <p>The sampler will answer by returning the current
10582                                number of effect instances created and not yet
10583                                destroyed in the current sampler session.
10584    </p>
10585    </blockquote><p>
10586                        
10587    </p>
10588    <p>Examples:
10589    </p>
10590    <p>
10591                            </p>
10592    <blockquote class="text">
10593    <p>C: "GET EFFECT_INSTANCES"
10594    </p>
10595    <p>S: "14"
10596    </p>
10597    </blockquote><p>
10598                        
10599    </p>
10600    <a name="LIST EFFECT_INSTANCES"></a><br /><hr />
10601    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10602    <a name="rfc.section.6.11.8"></a><h3>6.11.8.&nbsp;
10603    Get list of effect instances</h3>
10604    
10605    <p>The front-end can retrieve the current list of effect
10606                        instances by sending the following command:
10607    </p>
10608    <p>
10609                            </p>
10610    <blockquote class="text">
10611    <p>LIST EFFECT_INSTANCES
10612    </p>
10613    </blockquote><p>
10614                        
10615    </p>
10616    <p>Possible Answers:
10617    </p>
10618    <p>
10619                            </p>
10620    <blockquote class="text">
10621    <p>The sampler will answer by returning a comma
10622                                separated list with numerical IDs of effects
10623                                instances.
10624                                
10625    </p>
10626    </blockquote><p>
10627                        
10628    </p>
10629    <p>Example:
10630    </p>
10631    <p>
10632                            </p>
10633    <blockquote class="text">
10634    <p>C: "LIST EFFECT_INSTANCES"
10635    </p>
10636    <p>S: "9,11,14,15,16,17,25"
10637    </p>
10638    </blockquote><p>
10639                        
10640    </p>
10641    <a name="GET EFFECT_INSTANCE INFO"></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.6.11.9"></a><h3>6.11.9.&nbsp;
10644    Retrieving current information about an effect instance</h3>
10645    
10646    <p>The front-end can ask for the current informations about
10647                        a particular effect instance by sending the following command:
10648    </p>
10649    <p>
10650                            </p>
10651    <blockquote class="text">
10652    <p>GET EFFECT_INSTANCE INFO &lt;effect-instance&gt;
10653    </p>
10654    </blockquote><p>
10655                        
10656    </p>
10657    <p>Where &lt;effect-instance&gt; is the numerical ID of an
10658                        effect instance as returned by the
10659                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
10660                        or
10661                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10662                        command.
10663    </p>
10664    <p>Possible Answers:
10665    </p>
10666    <p>
10667                            </p>
10668    <blockquote class="text">
10669    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10670                                Each answer line begins with the information
10671                                category name, followed by a colon and then a space
10672                                character &lt;SP&gt; and finally the info character
10673                                string to that information category. At the
10674                                moment the following categories are defined:
10675    </p>
10676    <p>
10677                                    </p>
10678    <blockquote class="text">
10679    <p>SYSTEM -
10680                                            </p>
10681    <blockquote class="text">
10682    <p>name of the effect plugin system
10683                                                the effect is based on
10684                                                (e.g. "LADSPA")
10685    </p>
10686    </blockquote>
10687                                        
10688    
10689    <p>MODULE -
10690                                            </p>
10691    <blockquote class="text">
10692    <p>module of the effect plugin
10693                                                system that contains this effect,
10694                                                the module is usually the
10695                                                dynamic-linked library (DLL)
10696                                                filename of the effect plugin,
10697                                                including full path (note that this
10698                                                filename may contain
10699                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10700    </p>
10701    </blockquote>
10702                                        
10703    
10704    <p>NAME -
10705                                            </p>
10706    <blockquote class="text">
10707    <p>character string defining the
10708                                                unique name of the effect within its
10709                                                module (note that the character
10710                                                string may contain
10711                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10712    </p>
10713    </blockquote>
10714                                        
10715    
10716    <p>DESCRIPTION -
10717                                            </p>
10718    <blockquote class="text">
10719    <p>human readable name of the
10720                                                effect, intended to be displayed in
10721                                                user interfaces (note that the
10722                                                character string may contain
10723                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10724    </p>
10725    </blockquote>
10726                                        
10727    
10728    <p>INPUT_CONTROLS -
10729                                            </p>
10730    <blockquote class="text">
10731    <p>amount of input controls the
10732                                                effect instance provides, to allow
10733                                                controlling the effect parameters in
10734                                                realtime
10735    </p>
10736    </blockquote>
10737                                        
10738    
10739    </blockquote>
10740                                
10741    
10742    </blockquote><p>
10743                        
10744    </p>
10745    <p>The mentioned fields above don't have to be in particular order.
10746    </p>
10747    <p>Example:
10748    </p>
10749    <p>
10750                            </p>
10751    <blockquote class="text">
10752    <p>C: "GET EFFECT_INSTANCE INFO 3"
10753    </p>
10754    <p>S: "SYSTEM: LADSPA"
10755    </p>
10756    <p>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/mod_delay_1419.so"
10757    </p>
10758    <p>&nbsp;&nbsp;&nbsp;"NAME: modDelay"
10759    </p>
10760    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Modulatable delay"
10761    </p>
10762    <p>&nbsp;&nbsp;&nbsp;"INPUT_CONTROLS: 1"
10763    </p>
10764    <p>&nbsp;&nbsp;&nbsp;"."
10765    </p>
10766    </blockquote><p>
10767                        
10768    </p>
10769    <a name="GET EFFECT_INSTANCE_INPUT_CONTROL INFO"></a><br /><hr />
10770    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10771    <a name="rfc.section.6.11.10"></a><h3>6.11.10.&nbsp;
10772    Retrieving information about an effect parameter</h3>
10773    
10774    <p>Effects typically provide a certain set of effect
10775                        parameters which can be altered by the user in realtime
10776                        (e.g. depth of a reverb effect, duration of a delay effect,
10777                        dry / wet signal ratio). Those controllable effect parameters
10778                        are called "input controls". The front-end can ask for the
10779                        current informations of an effect instance's input control
10780                        by sending the following command:
10781    </p>
10782    <p>
10783                            </p>
10784    <blockquote class="text">
10785    <p>GET EFFECT_INSTANCE_INPUT_CONTROL INFO &lt;effect-instance&gt; &lt;input-control&gt;
10786    </p>
10787    </blockquote><p>
10788                        
10789    </p>
10790    <p>Where &lt;effect-instance&gt; is the numerical ID of an
10791                        effect instance as returned by the
10792                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
10793                        or
10794                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10795                        command and &lt;input-control&gt; is the index of the input
10796                        control within the numerical bounds as returned by the
10797                        "INPUT_CONTROLS" field of the
10798                        <a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
10799                        command.
10800    </p>
10801    <p>Possible Answers:
10802    </p>
10803    <p>
10804                            </p>
10805    <blockquote class="text">
10806    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10807                                Each answer line begins with the information
10808                                category name, followed by a colon and then a space
10809                                character &lt;SP&gt; and finally the info character
10810                                string to that information category. There are
10811                                information categories which are always returned,
10812                                independent of the respective effect parameter and
10813                                there are optional information categories
10814                                which are only shown for certain effect parameters.
10815                                At the moment the following categories are defined:
10816    </p>
10817    <p>
10818                                    </p>
10819    <blockquote class="text">
10820    <p>DESCRIPTION -
10821                                            </p>
10822    <blockquote class="text">
10823    <p>(always returned)
10824                                                human readable name of the
10825                                                effect parameter, intended to be
10826                                                displayed in user interfaces (note
10827                                                that the character string may
10828                                                contain <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10829    </p>
10830    </blockquote>
10831                                        
10832    
10833    <p>VALUE -
10834                                            </p>
10835    <blockquote class="text">
10836    <p>
10837                                                (always returned)
10838                                                current (optional dotted)
10839                                                floating point value of this effect
10840                                                parameter
10841    </p>
10842    </blockquote>
10843                                        
10844    
10845    <p>RANGE_MIN -
10846                                            </p>
10847    <blockquote class="text">
10848    <p>
10849                                                (optionally returned)
10850                                                minimum allowed value for this
10851                                                effect parameter
10852    </p>
10853    </blockquote>
10854                                        
10855    
10856    <p>RANGE_MAX -
10857                                            </p>
10858    <blockquote class="text">
10859    <p>
10860                                                (optionally returned)
10861                                                maximum allowed value for this
10862                                                effect parameter
10863    </p>
10864    </blockquote>
10865                                        
10866    
10867    <p>POSSIBILITIES -
10868                                            </p>
10869    <blockquote class="text">
10870    <p>
10871                                                (optionally returned)
10872                                                comma separated list of
10873                                                (optional dotted) floating point
10874                                                numbers, reflecting the exact set of
10875                                                possible values for this effect
10876                                                parameter
10877    </p>
10878    </blockquote>
10879                                        
10880    
10881    <p>DEFAULT -
10882                                            </p>
10883    <blockquote class="text">
10884    <p>
10885                                                (optionally returned)
10886                                                default value of this effect
10887                                                parameter
10888    </p>
10889    </blockquote>
10890                                        
10891    
10892    </blockquote>
10893                                
10894    
10895    </blockquote><p>
10896                        
10897    </p>
10898    <p>The mentioned fields above don't have to be in particular order.
10899    </p>
10900    <p>Example:
10901    </p>
10902    <p>
10903                            </p>
10904    <blockquote class="text">
10905    <p>C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0"
10906    </p>
10907    <p>S: "SYSTEM: LADSPA"
10908    </p>
10909    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Base delay (s)"
10910    </p>
10911    <p>&nbsp;&nbsp;&nbsp;"VALUE: 0.500"
10912    </p>
10913    <p>&nbsp;&nbsp;&nbsp;"RANGE_MIN: 0.000"
10914    </p>
10915    <p>&nbsp;&nbsp;&nbsp;"."
10916    </p>
10917    </blockquote><p>
10918                        
10919    </p>
10920    <a name="SET EFFECT_INSTANCE_INPUT_CONTROL VALUE"></a><br /><hr />
10921    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10922    <a name="rfc.section.6.11.11"></a><h3>6.11.11.&nbsp;
10923    Altering an effect parameter</h3>
10924    
10925    <p>The front-end can alter the current value of an effect
10926                        parameter by sending the following command:
10927    </p>
10928    <p>
10929                            </p>
10930    <blockquote class="text">
10931    <p>SET EFFECT_INSTANCE_INPUT_CONTROL VALUE &lt;effect-instance&gt; &lt;input-control&gt; &lt;value&gt;
10932    </p>
10933    </blockquote><p>
10934                        
10935    </p>
10936    <p>Where &lt;effect-instance&gt; is the numerical ID of the
10937                        effect instance as returned by the
10938                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
10939                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10940                        command, &lt;input-control&gt; is the index of the input
10941                        control within the numerical bounds as returned by the
10942                        "INPUT_CONTROLS" field of the
10943                        <a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
10944                        command and &lt;value&gt; is the new (optional dotted)
10945                        floating point value for this effect parameter.
10946    </p>
10947    <p>Possible Answers:
10948    </p>
10949    <p>
10950                            </p>
10951    <blockquote class="text">
10952    <p>"OK" -
10953                                    </p>
10954    <blockquote class="text">
10955    <p>in case the effect was altered successfully
10956    </p>
10957    </blockquote>
10958                                
10959    
10960    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10961                                    </p>
10962    <blockquote class="text">
10963    <p>in case it failed, providing an appropriate error code and
10964                                        error message
10965    </p>
10966    </blockquote>
10967                                
10968    
10969    </blockquote><p>
10970                        
10971    </p>
10972    <p>Examples:
10973    </p>
10974    <p>
10975                            </p>
10976    <blockquote class="text">
10977    <p>C: "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE 0 1 0.5"
10978    </p>
10979    <p>S: "OK"
10980    </p>
10981    </blockquote><p>
10982                        
10983    </p>
10984    <a name="GET SEND_EFFECT_CHAINS"></a><br /><hr />
10985    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10986    <a name="rfc.section.6.11.12"></a><h3>6.11.12.&nbsp;
10987    Retrieve amount of send effect chains</h3>
10988    
10989    <p>The front-end can retrieve the current amount of send
10990                        effect chains of an audio output device by sending the
10991                        following command:
10992    </p>
10993    <p>
10994                            </p>
10995    <blockquote class="text">
10996    <p>GET SEND_EFFECT_CHAINS &lt;audio-device&gt;
10997    </p>
10998    </blockquote><p>
10999                        
11000    </p>
11001    <p>Where &lt;audio-device&gt; should be replaced by the
11002                        numerical ID of the audio output device as given by the
11003                        <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>
11004                        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>
11005                        command.
11006    </p>
11007    <p>Possible Answers:
11008    </p>
11009    <p>
11010                            </p>
11011    <blockquote class="text">
11012    <p>The sampler will answer by returning the current
11013                                number of send effect chains of the supplied audio
11014                                output device.
11015    </p>
11016    </blockquote><p>
11017                        
11018    </p>
11019    <p>Examples:
11020    </p>
11021    <p>
11022                            </p>
11023    <blockquote class="text">
11024    <p>C: "GET SEND_EFFECT_CHAINS 0"
11025    </p>
11026    <p>S: "4"
11027    </p>
11028    </blockquote><p>
11029                        
11030    </p>
11031    <a name="LIST SEND_EFFECT_CHAINS"></a><br /><hr />
11032    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11033    <a name="rfc.section.6.11.13"></a><h3>6.11.13.&nbsp;
11034    Retrieve list of send effect chains</h3>
11035    
11036    <p>The front-end can retrieve the current list of send
11037                        effect chains of an audio output device by sending the
11038                        following command:
11039    </p>
11040    <p>
11041                            </p>
11042    <blockquote class="text">
11043    <p>LIST SEND_EFFECT_CHAINS &lt;audio-device&gt;
11044    </p>
11045    </blockquote><p>
11046                        
11047    </p>
11048    <p>Where &lt;audio-device&gt; should be replaced by the
11049                        numerical ID of the audio output device as given by the
11050                        <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>
11051                        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>
11052                        command.
11053    </p>
11054    <p>Possible Answers:
11055    </p>
11056    <p>
11057                            </p>
11058    <blockquote class="text">
11059    <p>The sampler will answer by returning a comma
11060                                separated list with numerical IDs of send effect
11061                                chains of the supplied audio output device.
11062                                
11063    </p>
11064    </blockquote><p>
11065                        
11066    </p>
11067    <p>Examples:
11068    </p>
11069    <p>
11070                            </p>
11071    <blockquote class="text">
11072    <p>C: "LIST SEND_EFFECT_CHAINS 0"
11073    </p>
11074    <p>S: "3,4,7"
11075    </p>
11076    </blockquote><p>
11077                        
11078    </p>
11079    <a name="ADD SEND_EFFECT_CHAIN"></a><br /><hr />
11080    <table 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    <a name="rfc.section.6.11.14"></a><h3>6.11.14.&nbsp;
11082    Add send effect chain</h3>
11083    
11084    <p>The front-end can add a send effect chain by sending the
11085                        following command:
11086    </p>
11087    <p>
11088                            </p>
11089    <blockquote class="text">
11090    <p>ADD SEND_EFFECT_CHAIN &lt;audio-device&gt;
11091    </p>
11092    </blockquote><p>
11093                        
11094    </p>
11095    <p>Where &lt;audio-device&gt; should be replaced by the
11096                        numerical ID of the audio output device as given by the
11097                        <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>
11098                        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>
11099                        command.
11100    </p>
11101    <p>Possible Answers:
11102    </p>
11103    <p>
11104                            </p>
11105    <blockquote class="text">
11106    <p>"OK[&lt;effect-chain&gt;]" -
11107                                    </p>
11108    <blockquote class="text">
11109    <p>in case the send effect chain was
11110                                        added successfully, where
11111                                        &lt;effect-chain&gt; is the numerical ID
11112                                        of the new send effect chain
11113    </p>
11114    </blockquote>
11115                                
11116    
11117    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11118                                    </p>
11119    <blockquote class="text">
11120    <p>if the send effect chain could not be added
11121    </p>
11122    </blockquote>
11123                                
11124    
11125    </blockquote><p>
11126                        
11127    </p>
11128    <p>Examples:
11129    </p>
11130    <p>
11131                            </p>
11132    <blockquote class="text">
11133    <p>C: "ADD SEND_EFFECT_CHAIN 0"
11134    </p>
11135    <p>S: "OK[2]"
11136    </p>
11137    </blockquote><p>
11138                        
11139    </p>
11140    <a name="REMOVE SEND_EFFECT_CHAIN"></a><br /><hr />
11141    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11142    <a name="rfc.section.6.11.15"></a><h3>6.11.15.&nbsp;
11143    Remove send effect chain</h3>
11144    
11145    <p>The front-end can remove a send effect chain by sending
11146                        the following command:
11147    </p>
11148    <p>
11149                            </p>
11150    <blockquote class="text">
11151    <p>REMOVE SEND_EFFECT_CHAIN &lt;audio-device&gt; &lt;effect-chain&gt;
11152    </p>
11153    </blockquote><p>
11154                        
11155    </p>
11156    <p>Where &lt;audio-device&gt; should be replaced by the
11157                        numerical ID of the audio output device as given by the
11158                        <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>
11159                        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>
11160                        command and &lt;effect-chain&gt; by the numerical ID as
11161                        returned by the
11162                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11163                        or
11164                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11165                        command.
11166    </p>
11167    <p>Possible Answers:
11168    </p>
11169    <p>
11170                            </p>
11171    <blockquote class="text">
11172    <p>"OK" -
11173                                    </p>
11174    <blockquote class="text">
11175    <p>in case the send effect chain was
11176                                        removed successfully
11177    </p>
11178    </blockquote>
11179                                
11180    
11181    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11182                                    </p>
11183    <blockquote class="text">
11184    <p>if the send effect chain could not be removed
11185    </p>
11186    </blockquote>
11187                                
11188    
11189    </blockquote><p>
11190                        
11191    </p>
11192    <p>Examples:
11193    </p>
11194    <p>
11195                            </p>
11196    <blockquote class="text">
11197    <p>C: "REMOVE SEND_EFFECT_CHAIN 0 2"
11198    </p>
11199    <p>S: "OK"
11200    </p>
11201    </blockquote><p>
11202                        
11203    </p>
11204    <a name="GET SEND_EFFECT_CHAIN INFO"></a><br /><hr />
11205    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11206    <a name="rfc.section.6.11.16"></a><h3>6.11.16.&nbsp;
11207    Retrieving information about a send effect chain</h3>
11208    
11209    <p>The front-end can ask for informations of a send effect
11210                        chain by sending the following command:
11211    </p>
11212    <p>
11213                            </p>
11214    <blockquote class="text">
11215    <p>GET SEND_EFFECT_CHAIN INFO &lt;audio-device&gt; &lt;effect-chain&gt;
11216    </p>
11217    </blockquote><p>
11218                        
11219    </p>
11220    <p>Where &lt;audio-device&gt; should be replaced by the
11221                        numerical ID of the audio output device as given by the
11222                        <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>
11223                        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>
11224                        command and &lt;effect-chain&gt; by the numerical ID as
11225                        returned by the
11226                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11227                        or
11228                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11229                        command.
11230    </p>
11231    <p>Possible Answers:
11232    </p>
11233    <p>
11234                            </p>
11235    <blockquote class="text">
11236    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
11237                                Each answer line begins with the information
11238                                category name, followed by a colon and then a space
11239                                character &lt;SP&gt; and finally the info character
11240                                string to that information category.
11241                                At the moment the following categories are defined:
11242    </p>
11243    <p>
11244                                    </p>
11245    <blockquote class="text">
11246    <p>EFFECT_COUNT -
11247                                            </p>
11248    <blockquote class="text">
11249    <p>amount of effects in this send
11250                                                effect chain
11251    </p>
11252    </blockquote>
11253                                        
11254    
11255    <p>EFFECT_SEQUENCE -
11256                                            </p>
11257    <blockquote class="text">
11258    <p>comma separated list of the
11259                                                numerical IDs of the effect
11260                                                instances in this send effect chain,
11261                                                in the order as they are procssed in
11262                                                the effect chain
11263    </p>
11264    </blockquote>
11265                                        
11266    
11267    </blockquote>
11268                                
11269    
11270    </blockquote><p>
11271                        
11272    </p>
11273    <p>The mentioned fields above don't have to be in particular order.
11274    </p>
11275    <p>Example:
11276    </p>
11277    <p>
11278                            </p>
11279    <blockquote class="text">
11280    <p>C: "GET SEND_EFFECT_CHAIN INFO 0 2"
11281    </p>
11282    <p>S: "EFFECT_COUNT: 3"
11283    </p>
11284    <p>&nbsp;&nbsp;&nbsp;"EFFECT_SEQUENCE: 31,4,7"
11285    </p>
11286    <p>&nbsp;&nbsp;&nbsp;"."
11287    </p>
11288    </blockquote><p>
11289                        
11290    </p>
11291    <a name="APPEND SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11292    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11293    <a name="rfc.section.6.11.17"></a><h3>6.11.17.&nbsp;
11294    Append effect instance to a send effect chain</h3>
11295    
11296    <p>The front-end can add an unused effect instance to the
11297                        end of a send effect chain by sending the following command:
11298    </p>
11299    <p>
11300                            </p>
11301    <blockquote class="text">
11302    <p>APPEND SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;effect-instance&gt;
11303    </p>
11304    </blockquote><p>
11305                        
11306    </p>
11307    <p>Where &lt;audio-device&gt; should be replaced by the
11308                        numerical ID of the audio output device as given by the
11309                        <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>
11310                        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>
11311                        command and &lt;effect-chain&gt; by the numerical ID as
11312                        returned by the
11313                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11314                        or
11315                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11316                        command and &lt;effect-instance&gt; as returned by the
11317                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
11318                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11319                        command.
11320    </p>
11321    <p>Only unused effect instances can be added to the effect
11322                        chain. Trying to add an effect instance which is already in
11323                        use somewhere in the audio signal path of the sampler will
11324                        result in an error.
11325    </p>
11326    <p>Possible Answers:
11327    </p>
11328    <p>
11329                            </p>
11330    <blockquote class="text">
11331    <p>"OK" -
11332                                    </p>
11333    <blockquote class="text">
11334    <p>in case the effect instance was
11335                                        added successfully to the chain
11336    </p>
11337    </blockquote>
11338                                
11339    
11340    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11341                                    </p>
11342    <blockquote class="text">
11343    <p>if the effect instance could not be added
11344    </p>
11345    </blockquote>
11346                                
11347    
11348    </blockquote><p>
11349                        
11350    </p>
11351    <p>Examples:
11352    </p>
11353    <p>
11354                            </p>
11355    <blockquote class="text">
11356    <p>C: "APPEND SEND_EFFECT_CHAIN EFFECT 0 2 38"
11357    </p>
11358    <p>S: "OK"
11359    </p>
11360    </blockquote><p>
11361                        
11362    </p>
11363    <a name="INSERT SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11364    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11365    <a name="rfc.section.6.11.18"></a><h3>6.11.18.&nbsp;
11366    Insert effect instance to a send effect chain</h3>
11367    
11368    <p>The front-end can add an unused effect instance to a
11369                        certain position of a send effect chain by sending the
11370                        following command:
11371    </p>
11372    <p>
11373                            </p>
11374    <blockquote class="text">
11375    <p>INSERT SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt; &lt;effect-instance&gt;
11376    </p>
11377    </blockquote><p>
11378                        
11379    </p>
11380    <p>Where &lt;audio-device&gt; should be replaced by the
11381                        numerical ID of the audio output device as given by the
11382                        <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>
11383                        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>
11384                        command, &lt;effect-chain&gt; by the numerical ID as
11385                        returned by the
11386                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11387                        or
11388                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11389                        command, &lt;effect-instance&gt; as returned by the
11390                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
11391                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11392                        command and &lt;chain-pos&gt; the exact position of the
11393                        effect chain where the supplied effect shall be inserted
11394                        to.
11395    </p>
11396    <p>Only unused effect instances can be added to the effect
11397                        chain. Trying to add an effect instance which is already in
11398                        use somewhere in the audio signal path of the sampler will
11399                        result in an error.
11400    </p>
11401    <p>Possible Answers:
11402    </p>
11403    <p>
11404                            </p>
11405    <blockquote class="text">
11406    <p>"OK" -
11407                                    </p>
11408    <blockquote class="text">
11409    <p>in case the effect instance was
11410                                        added successfully to the chain
11411    </p>
11412    </blockquote>
11413                                
11414    
11415    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11416                                    </p>
11417    <blockquote class="text">
11418    <p>if the effect instance could not be added
11419    </p>
11420    </blockquote>
11421                                
11422    
11423    </blockquote><p>
11424                        
11425    </p>
11426    <p>Examples:
11427    </p>
11428    <p>
11429                            </p>
11430    <blockquote class="text">
11431    <p>C: "INSERT SEND_EFFECT_CHAIN EFFECT 0 2 4 38"
11432    </p>
11433    <p>S: "OK"
11434    </p>
11435    </blockquote><p>
11436                        
11437    </p>
11438    <a name="REMOVE SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11439    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11440    <a name="rfc.section.6.11.19"></a><h3>6.11.19.&nbsp;
11441    Remove effect instance from send effect chain</h3>
11442    
11443    <p>The front-end can remove an effect instance from a
11444                        certain position of a send effect chain by sending the
11445                        following command:
11446    </p>
11447    <p>
11448                            </p>
11449    <blockquote class="text">
11450    <p>REMOVE SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;
11451    </p>
11452    </blockquote><p>
11453                        
11454    </p>
11455    <p>Where &lt;audio-device&gt; should be replaced by the
11456                        numerical ID of the audio output device as given by the
11457                        <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>
11458                        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>
11459                        command, &lt;effect-chain&gt; by the numerical ID as
11460                        returned by the
11461                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11462                        or
11463                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11464                        command and &lt;chain-pos&gt; the exact position of the
11465                        effect instance to be removed from the effect chain.
11466    </p>
11467    <p>Possible Answers:
11468    </p>
11469    <p>
11470                            </p>
11471    <blockquote class="text">
11472    <p>"OK" -
11473                                    </p>
11474    <blockquote class="text">
11475    <p>in case the effect instance was
11476                                        removed successfully
11477    </p>
11478    </blockquote>
11479                                
11480    
11481    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11482                                    </p>
11483    <blockquote class="text">
11484    <p>if the effect instance could not be removed
11485    </p>
11486    </blockquote>
11487                                
11488    
11489    </blockquote><p>
11490                        
11491    </p>
11492    <p>Examples:
11493    </p>
11494    <p>
11495                            </p>
11496    <blockquote class="text">
11497    <p>C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"
11498    </p>
11499    <p>S: "OK"
11500    </p>
11501    </blockquote><p>
11502                        
11503    </p>
11504  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
11505  <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>
11506  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
11507    Command Syntax</h3>
11508    
11509  <p>The grammar of the control protocol as descibed in <a class="info" href="#control_commands">Section 6<span>Description for control commands</span></a>  <p>The grammar of the control protocol as descibed in <a class='info' href='#control_commands'>Section&nbsp;6<span> (</span><span class='info'>Description for control commands</span><span>)</span></a>
11510              is defined below using Backus-Naur Form (BNF as described in <a class="info" href="#RFC2234">[RFC2234]<span>Crocker, D. and P. Overell, Augmented BNF for Syntax Specifications, 1997.</span></a>)              is defined below using Backus-Naur Form (BNF as described in <a class='info' href='#RFC2234'>[RFC2234]<span> (</span><span class='info'>Crocker, D. and P. Overell, &ldquo;Augmented BNF for Syntax Specifications,&rdquo; 1997.</span><span>)</span></a>)
11511              where applicable.              where applicable.
11512                            
11513  </p>  </p>
# Line 4255  Intellectual Property and Copyright Stat Line 11520  Intellectual Property and Copyright Stat
11520  <p>/ line CR LF  <p>/ line CR LF
11521                                    
11522  </p>  </p>
11523  </blockquote>  </blockquote><p>
11524    
11525    </p>
11526  <p>line =  <p>line =
11527          </p>          </p>
11528  <blockquote class="text">  <blockquote class="text">
# Line 4272  Intellectual Property and Copyright Stat Line 11538  Intellectual Property and Copyright Stat
11538  <p>/ error  <p>/ error
11539                                    
11540  </p>  </p>
11541  </blockquote>  </blockquote><p>
11542    
11543    </p>
11544  <p>comment =  <p>comment =
11545          </p>          </p>
11546  <blockquote class="text">  <blockquote class="text">
# Line 4292  Intellectual Property and Copyright Stat Line 11559  Intellectual Property and Copyright Stat
11559  <p>/ comment string  <p>/ comment string
11560                                    
11561  </p>  </p>
11562  </blockquote>  </blockquote><p>
11563    
11564    </p>
11565  <p>command =  <p>command =
11566          </p>          </p>
11567  <blockquote class="text">  <blockquote class="text">
11568  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
11569                    
11570    </p>
11571    <p>/ MAP SP map_instruction
11572                    
11573    </p>
11574    <p>/ UNMAP SP unmap_instruction
11575                                    
11576  </p>  </p>
11577  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 4315  Intellectual Property and Copyright Stat Line 11589  Intellectual Property and Copyright Stat
11589  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
11590                                    
11591  </p>  </p>
11592  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
11593                                    
11594  </p>  </p>
11595  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 4327  Intellectual Property and Copyright Stat Line 11601  Intellectual Property and Copyright Stat
11601  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
11602                                    
11603  </p>  </p>
11604  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
11605                                    
11606  </p>  </p>
11607  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ CLEAR SP clear_instruction
11608                    
11609    </p>
11610    <p>/ FIND SP find_instruction
11611                    
11612    </p>
11613    <p>/ MOVE SP move_instruction
11614                    
11615    </p>
11616    <p>/ COPY SP copy_instruction
11617                    
11618    </p>
11619    <p>/ EDIT SP edit_instruction
11620                    
11621    </p>
11622    <p>/ FORMAT SP format_instruction
11623                    
11624    </p>
11625    <p>/ SEND SP send_instruction
11626                    
11627    </p>
11628    <p>/ APPEND SP append_instruction
11629                    
11630    </p>
11631    <p>/ INSERT SP insert_instruction
11632                                    
11633  </p>  </p>
11634  <p>/ RESET  <p>/ RESET
# Line 4339  Intellectual Property and Copyright Stat Line 11637  Intellectual Property and Copyright Stat
11637  <p>/ QUIT  <p>/ QUIT
11638                                    
11639  </p>  </p>
11640  </blockquote>  </blockquote><p>
11641    
11642    </p>
11643    <p>add_instruction =
11644            </p>
11645    <blockquote class="text">
11646    <p>CHANNEL
11647                    
11648    </p>
11649    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11650                    
11651    </p>
11652    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
11653                    
11654    </p>
11655    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11656                    
11657    </p>
11658    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
11659                    
11660    </p>
11661    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11662                    
11663    </p>
11664    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
11665                    
11666    </p>
11667    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
11668                    
11669    </p>
11670    <p>/ DB_INSTRUMENTS SP db_path SP filename
11671                    
11672    </p>
11673    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
11674                    
11675    </p>
11676    <p>/ MIDI_INSTRUMENT_MAP
11677                    
11678    </p>
11679    <p>/ MIDI_INSTRUMENT_MAP SP map_name
11680                    
11681    </p>
11682    <p>/ SEND_EFFECT_CHAIN SP device_index
11683                    
11684    </p>
11685    </blockquote><p>
11686    
11687    </p>
11688  <p>subscribe_event =  <p>subscribe_event =
11689          </p>          </p>
11690  <blockquote class="text">  <blockquote class="text">
11691  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
11692                    
11693    </p>
11694    <p>/ AUDIO_OUTPUT_DEVICE_INFO
11695                    
11696    </p>
11697    <p>/ MIDI_INPUT_DEVICE_COUNT
11698                    
11699    </p>
11700    <p>/ MIDI_INPUT_DEVICE_INFO
11701                    
11702    </p>
11703    <p>/ CHANNEL_COUNT
11704                    
11705    </p>
11706    <p>/ CHANNEL_MIDI
11707                    
11708    </p>
11709    <p>/ DEVICE_MIDI
11710                                    
11711  </p>  </p>
11712  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 4359  Intellectual Property and Copyright Stat Line 11721  Intellectual Property and Copyright Stat
11721  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11722                                    
11723  </p>  </p>
11724    <p>/ FX_SEND_COUNT
11725                    
11726    </p>
11727    <p>/ FX_SEND_INFO
11728                    
11729    </p>
11730    <p>/ MIDI_INSTRUMENT_MAP_COUNT
11731                    
11732    </p>
11733    <p>/ MIDI_INSTRUMENT_MAP_INFO
11734                    
11735    </p>
11736    <p>/ MIDI_INSTRUMENT_COUNT
11737                    
11738    </p>
11739    <p>/ MIDI_INSTRUMENT_INFO
11740                    
11741    </p>
11742    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11743                    
11744    </p>
11745    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11746                    
11747    </p>
11748    <p>/ DB_INSTRUMENT_COUNT
11749                    
11750    </p>
11751    <p>/ DB_INSTRUMENT_INFO
11752                    
11753    </p>
11754    <p>/ DB_INSTRUMENTS_JOB_INFO
11755                    
11756    </p>
11757  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11758                                    
11759  </p>  </p>
11760  </blockquote>  <p>/ TOTAL_STREAM_COUNT
11761                    
11762    </p>
11763    <p>/ TOTAL_VOICE_COUNT
11764                    
11765    </p>
11766    <p>/ GLOBAL_INFO
11767                    
11768    </p>
11769    </blockquote><p>
11770    
11771    </p>
11772  <p>unsubscribe_event =  <p>unsubscribe_event =
11773          </p>          </p>
11774  <blockquote class="text">  <blockquote class="text">
11775  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
11776                    
11777    </p>
11778    <p>/ AUDIO_OUTPUT_DEVICE_INFO
11779                    
11780    </p>
11781    <p>/ MIDI_INPUT_DEVICE_COUNT
11782                    
11783    </p>
11784    <p>/ MIDI_INPUT_DEVICE_INFO
11785                    
11786    </p>
11787    <p>/ CHANNEL_COUNT
11788                    
11789    </p>
11790    <p>/ CHANNEL_MIDI
11791                    
11792    </p>
11793    <p>/ DEVICE_MIDI
11794                                    
11795  </p>  </p>
11796  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 4382  Intellectual Property and Copyright Stat Line 11805  Intellectual Property and Copyright Stat
11805  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11806                                    
11807  </p>  </p>
11808    <p>/ FX_SEND_COUNT
11809                    
11810    </p>
11811    <p>/ FX_SEND_INFO
11812                    
11813    </p>
11814    <p>/ MIDI_INSTRUMENT_MAP_COUNT
11815                    
11816    </p>
11817    <p>/ MIDI_INSTRUMENT_MAP_INFO
11818                    
11819    </p>
11820    <p>/ MIDI_INSTRUMENT_COUNT
11821                    
11822    </p>
11823    <p>/ MIDI_INSTRUMENT_INFO
11824                    
11825    </p>
11826    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11827                    
11828    </p>
11829    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11830                    
11831    </p>
11832    <p>/ DB_INSTRUMENT_COUNT
11833                    
11834    </p>
11835    <p>/ DB_INSTRUMENT_INFO
11836                    
11837    </p>
11838    <p>/ DB_INSTRUMENTS_JOB_INFO
11839                    
11840    </p>
11841  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11842                                    
11843  </p>  </p>
11844  </blockquote>  <p>/ TOTAL_STREAM_COUNT
11845                    
11846    </p>
11847    <p>/ TOTAL_VOICE_COUNT
11848                    
11849    </p>
11850    <p>/ GLOBAL_INFO
11851                    
11852    </p>
11853    </blockquote><p>
11854    
11855    </p>
11856    <p>map_instruction =
11857            </p>
11858    <blockquote class="text">
11859    <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
11860                    
11861    </p>
11862    <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
11863                    
11864    </p>
11865    <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
11866                    
11867    </p>
11868    <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
11869                    
11870    </p>
11871    </blockquote><p>
11872    
11873    </p>
11874    <p>unmap_instruction =
11875            </p>
11876    <blockquote class="text">
11877    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
11878                    
11879    </p>
11880    </blockquote><p>
11881    
11882    </p>
11883    <p>remove_instruction =
11884            </p>
11885    <blockquote class="text">
11886    <p>CHANNEL SP sampler_channel
11887                    
11888    </p>
11889    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
11890                    
11891    </p>
11892    <p>/ MIDI_INSTRUMENT_MAP SP ALL
11893                    
11894    </p>
11895    <p>/ SEND_EFFECT_CHAIN SP device_index SP effect_chain
11896                    
11897    </p>
11898    <p>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos
11899                    
11900    </p>
11901    <p>/ FX_SEND SP SEND_EFFECT SP sampler_channel SP fx_send_id
11902                    
11903    </p>
11904    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
11905                    
11906    </p>
11907    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11908                    
11909    </p>
11910    <p>/ DB_INSTRUMENT SP db_path
11911                    
11912    </p>
11913    </blockquote><p>
11914    
11915    </p>
11916  <p>get_instruction =  <p>get_instruction =
11917          </p>          </p>
11918  <blockquote class="text">  <blockquote class="text">
11919  <p>AVAILABLE_ENGINES  <p>AVAILABLE_ENGINES
11920                                    
11921  </p>  </p>
11922    <p>/ AVAILABLE_EFFECTS
11923                    
11924    </p>
11925    <p>/ EFFECT_INSTANCES
11926                    
11927    </p>
11928    <p>/ EFFECT SP INFO SP effect_index
11929                    
11930    </p>
11931    <p>/ EFFECT_INSTANCE SP INFO SP effect_instance
11932                    
11933    </p>
11934    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP INFO SP effect_instance SP input_control
11935                    
11936    </p>
11937    <p>/ SEND_EFFECT_CHAINS SP device_index
11938                    
11939    </p>
11940    <p>/ SEND_EFFECT_CHAIN SP INFO SP device_index SP effect_chain
11941                    
11942    </p>
11943  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
11944                                    
11945  </p>  </p>
# Line 4462  Intellectual Property and Copyright Stat Line 12009  Intellectual Property and Copyright Stat
12009  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
12010                                    
12011  </p>  </p>
12012  </blockquote>  <p>/ TOTAL_STREAM_COUNT
12013                    
12014    </p>
12015    <p>/ TOTAL_VOICE_COUNT
12016                    
12017    </p>
12018    <p>/ TOTAL_VOICE_COUNT_MAX
12019                    
12020    </p>
12021    <p>/ MIDI_INSTRUMENTS SP midi_map
12022                    
12023    </p>
12024    <p>/ MIDI_INSTRUMENTS SP ALL
12025                    
12026    </p>
12027    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
12028                    
12029    </p>
12030    <p>/ MIDI_INSTRUMENT_MAPS
12031                    
12032    </p>
12033    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
12034                    
12035    </p>
12036    <p>/ FX_SENDS SP sampler_channel
12037                    
12038    </p>
12039    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
12040                    
12041    </p>
12042    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12043                    
12044    </p>
12045    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12046                    
12047    </p>
12048    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
12049                    
12050    </p>
12051    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12052                    
12053    </p>
12054    <p>/ DB_INSTRUMENTS SP db_path
12055                    
12056    </p>
12057    <p>/ DB_INSTRUMENT SP INFO SP db_path
12058                    
12059    </p>
12060    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
12061                    
12062    </p>
12063    <p>/ VOLUME
12064                    
12065    </p>
12066    <p>/ VOICES
12067                    
12068    </p>
12069    <p>/ STREAMS
12070                    
12071    </p>
12072    <p>/ FILE SP INSTRUMENTS SP filename
12073                    
12074    </p>
12075    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
12076                    
12077    </p>
12078    </blockquote><p>
12079    
12080    </p>
12081  <p>set_instruction =  <p>set_instruction =
12082          </p>          </p>
12083  <blockquote class="text">  <blockquote class="text">
# Line 4476  Intellectual Property and Copyright Stat Line 12090  Intellectual Property and Copyright Stat
12090  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
12091                                    
12092  </p>  </p>
12093    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
12094                    
12095    </p>
12096  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
12097                                    
12098  </p>  </p>
12099    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP input_control SP control_value
12100                    
12101    </p>
12102  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
12103                                    
12104  </p>  </p>
12105    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
12106                    
12107    </p>
12108    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
12109                    
12110    </p>
12111    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
12112                    
12113    </p>
12114    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
12115                    
12116    </p>
12117    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
12118                    
12119    </p>
12120    <p>/ FX_SEND SP SEND_EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos
12121                    
12122    </p>
12123    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
12124                    
12125    </p>
12126    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
12127                    
12128    </p>
12129    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
12130                    
12131    </p>
12132    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
12133                    
12134    </p>
12135    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
12136                    
12137    </p>
12138  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
12139                                    
12140  </p>  </p>
12141  </blockquote>  <p>/ VOLUME SP volume_value
12142                    
12143    </p>
12144    <p>/ VOICES SP number
12145                    
12146    </p>
12147    <p>/ STREAMS SP number
12148                    
12149    </p>
12150    </blockquote><p>
12151    
12152    </p>
12153  <p>create_instruction =  <p>create_instruction =
12154          </p>          </p>
12155  <blockquote class="text">  <blockquote class="text">
# Line 4502  Intellectual Property and Copyright Stat Line 12165  Intellectual Property and Copyright Stat
12165  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
12166                                    
12167  </p>  </p>
12168  </blockquote>  <p>/ FX_SEND SP sampler_channel SP midi_ctrl
12169                    
12170    </p>
12171    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
12172                    
12173    </p>
12174    <p>/ EFFECT_INSTANCE SP effect_index
12175                    
12176    </p>
12177    <p>/ EFFECT_INSTANCE SP effect_system SP module SP effect_name
12178                    
12179    </p>
12180    </blockquote><p>
12181    
12182    </p>
12183    <p>reset_instruction =
12184            </p>
12185    <blockquote class="text">
12186    <p>CHANNEL SP sampler_channel
12187                    
12188    </p>
12189    </blockquote><p>
12190    
12191    </p>
12192    <p>clear_instruction =
12193            </p>
12194    <blockquote class="text">
12195    <p>MIDI_INSTRUMENTS SP midi_map
12196                    
12197    </p>
12198    <p>/ MIDI_INSTRUMENTS SP ALL
12199                    
12200    </p>
12201    </blockquote><p>
12202    
12203    </p>
12204    <p>find_instruction =
12205            </p>
12206    <blockquote class="text">
12207    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
12208                    
12209    </p>
12210    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
12211                    
12212    </p>
12213    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
12214                    
12215    </p>
12216    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
12217                    
12218    </p>
12219    <p>/ LOST SP DB_INSTRUMENT_FILES
12220                    
12221    </p>
12222    </blockquote><p>
12223    
12224    </p>
12225    <p>move_instruction =
12226            </p>
12227    <blockquote class="text">
12228    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12229                    
12230    </p>
12231    <p>/ DB_INSTRUMENT SP db_path SP db_path
12232                    
12233    </p>
12234    </blockquote><p>
12235    
12236    </p>
12237    <p>copy_instruction =
12238            </p>
12239    <blockquote class="text">
12240    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12241                    
12242    </p>
12243    <p>/ DB_INSTRUMENT SP db_path SP db_path
12244                    
12245    </p>
12246    </blockquote><p>
12247    
12248    </p>
12249  <p>destroy_instruction =  <p>destroy_instruction =
12250          </p>          </p>
12251  <blockquote class="text">  <blockquote class="text">
# Line 4513  Intellectual Property and Copyright Stat Line 12255  Intellectual Property and Copyright Stat
12255  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
12256                                    
12257  </p>  </p>
12258  </blockquote>  <p>/ FX_SEND SP sampler_channel SP fx_send_id
12259                    
12260    </p>
12261    <p>/ EFFECT_INSTANCE SP number
12262                    
12263    </p>
12264    </blockquote><p>
12265    
12266    </p>
12267  <p>load_instruction =  <p>load_instruction =
12268          </p>          </p>
12269  <blockquote class="text">  <blockquote class="text">
# Line 4524  Intellectual Property and Copyright Stat Line 12273  Intellectual Property and Copyright Stat
12273  <p>/ ENGINE SP load_engine_args  <p>/ ENGINE SP load_engine_args
12274                                    
12275  </p>  </p>
12276  </blockquote>  </blockquote><p>
12277    
12278    </p>
12279    <p>append_instruction =
12280            </p>
12281    <blockquote class="text">
12282    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP effect_instance
12283                    
12284    </p>
12285    </blockquote><p>
12286    
12287    </p>
12288    <p>insert_instruction =
12289            </p>
12290    <blockquote class="text">
12291    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos SP effect_instance
12292                    
12293    </p>
12294    </blockquote><p>
12295    
12296    </p>
12297  <p>set_chan_instruction =  <p>set_chan_instruction =
12298          </p>          </p>
12299  <blockquote class="text">  <blockquote class="text">
# Line 4556  Intellectual Property and Copyright Stat Line 12324  Intellectual Property and Copyright Stat
12324  <p>/ VOLUME SP sampler_channel SP volume_value  <p>/ VOLUME SP sampler_channel SP volume_value
12325                                    
12326  </p>  </p>
12327  </blockquote>  <p>/ MUTE SP sampler_channel SP boolean
12328                    
12329    </p>
12330    <p>/ SOLO SP sampler_channel SP boolean
12331                    
12332    </p>
12333    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
12334                    
12335    </p>
12336    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
12337                    
12338    </p>
12339    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
12340                    
12341    </p>
12342    </blockquote><p>
12343    
12344    </p>
12345    <p>edit_instruction =
12346            </p>
12347    <blockquote class="text">
12348    <p>CHANNEL SP INSTRUMENT SP sampler_channel
12349                    
12350    </p>
12351    </blockquote><p>
12352    
12353    </p>
12354    <p>format_instruction =
12355            </p>
12356    <blockquote class="text">
12357    <p>INSTRUMENTS_DB
12358                    
12359    </p>
12360    </blockquote><p>
12361    
12362    </p>
12363    <p>modal_arg =
12364            </p>
12365    <blockquote class="text">
12366    <p>/* epsilon (empty argument) */
12367                    
12368    </p>
12369    <p>/ NON_MODAL SP
12370                    
12371    </p>
12372    </blockquote><p>
12373    
12374    </p>
12375  <p>key_val_list =  <p>key_val_list =
12376          </p>          </p>
12377  <blockquote class="text">  <blockquote class="text">
# Line 4567  Intellectual Property and Copyright Stat Line 12381  Intellectual Property and Copyright Stat
12381  <p>/ key_val_list SP string '=' param_val_list  <p>/ key_val_list SP string '=' param_val_list
12382                                    
12383  </p>  </p>
12384  </blockquote>  </blockquote><p>
12385    
12386    </p>
12387  <p>buffer_size_type =  <p>buffer_size_type =
12388          </p>          </p>
12389  <blockquote class="text">  <blockquote class="text">
# Line 4578  Intellectual Property and Copyright Stat Line 12393  Intellectual Property and Copyright Stat
12393  <p>/ PERCENTAGE  <p>/ PERCENTAGE
12394                                    
12395  </p>  </p>
12396  </blockquote>  </blockquote><p>
12397    
12398    </p>
12399  <p>list_instruction =  <p>list_instruction =
12400          </p>          </p>
12401  <blockquote class="text">  <blockquote class="text">
# Line 4595  Intellectual Property and Copyright Stat Line 12411  Intellectual Property and Copyright Stat
12411  <p>/ AVAILABLE_ENGINES  <p>/ AVAILABLE_ENGINES
12412                                    
12413  </p>  </p>
12414    <p>/ AVAILABLE_EFFECTS
12415                    
12416    </p>
12417    <p>/ EFFECT_INSTANCES
12418                    
12419    </p>
12420    <p>/ SEND_EFFECT_CHAINS SP number
12421                    
12422    </p>
12423  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
12424                                    
12425  </p>  </p>
12426  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
12427                                    
12428  </p>  </p>
12429  </blockquote>  <p>/ MIDI_INSTRUMENTS SP midi_map
12430                    
12431    </p>
12432    <p>/ MIDI_INSTRUMENTS SP ALL
12433                    
12434    </p>
12435    <p>/ MIDI_INSTRUMENT_MAPS
12436                    
12437    </p>
12438    <p>/ FX_SENDS SP sampler_channel
12439                    
12440    </p>
12441    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12442                    
12443    </p>
12444    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12445                    
12446    </p>
12447    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12448                    
12449    </p>
12450    <p>/ DB_INSTRUMENTS SP db_path
12451                    
12452    </p>
12453    <p>/ FILE SP INSTRUMENTS SP filename
12454                    
12455    </p>
12456    </blockquote><p>
12457    
12458    </p>
12459    <p>send_instruction =
12460            </p>
12461    <blockquote class="text">
12462    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
12463                    
12464    </p>
12465    </blockquote><p>
12466    
12467    </p>
12468  <p>load_instr_args =  <p>load_instr_args =
12469          </p>          </p>
12470  <blockquote class="text">  <blockquote class="text">
# Line 4612  Intellectual Property and Copyright Stat Line 12474  Intellectual Property and Copyright Stat
12474  <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel  <p>/ NON_MODAL SP filename SP instrument_index SP sampler_channel
12475                                    
12476  </p>  </p>
12477  </blockquote>  </blockquote><p>
12478    
12479    </p>
12480  <p>load_engine_args =  <p>load_engine_args =
12481          </p>          </p>
12482  <blockquote class="text">  <blockquote class="text">
12483  <p>engine_name SP sampler_channel  <p>engine_name SP sampler_channel
12484                                    
12485  </p>  </p>
12486  </blockquote>  </blockquote><p>
12487    
12488    </p>
12489    <p>instr_load_mode =
12490            </p>
12491    <blockquote class="text">
12492    <p>ON_DEMAND
12493                    
12494    </p>
12495    <p>/ ON_DEMAND_HOLD
12496                    
12497    </p>
12498    <p>/ PERSISTENT
12499                    
12500    </p>
12501    </blockquote><p>
12502    
12503    </p>
12504    <p>effect_instance =
12505            </p>
12506    <blockquote class="text">
12507    <p>number
12508                    
12509    </p>
12510    </blockquote><p>
12511    
12512    </p>
12513  <p>device_index =  <p>device_index =
12514          </p>          </p>
12515  <blockquote class="text">  <blockquote class="text">
12516  <p>number  <p>number
12517                                    
12518  </p>  </p>
12519  </blockquote>  </blockquote><p>
12520    
12521    </p>
12522  <p>audio_channel_index =  <p>audio_channel_index =
12523          </p>          </p>
12524  <blockquote class="text">  <blockquote class="text">
12525  <p>number  <p>number
12526                                    
12527  </p>  </p>
12528  </blockquote>  </blockquote><p>
12529    
12530    </p>
12531  <p>audio_output_type_name =  <p>audio_output_type_name =
12532          </p>          </p>
12533  <blockquote class="text">  <blockquote class="text">
12534  <p>string  <p>string
12535                                    
12536  </p>  </p>
12537  </blockquote>  </blockquote><p>
12538    
12539    </p>
12540  <p>midi_input_port_index =  <p>midi_input_port_index =
12541          </p>          </p>
12542  <blockquote class="text">  <blockquote class="text">
12543  <p>number  <p>number
12544                                    
12545  </p>  </p>
12546  </blockquote>  </blockquote><p>
12547    
12548    </p>
12549  <p>midi_input_channel_index =  <p>midi_input_channel_index =
12550          </p>          </p>
12551  <blockquote class="text">  <blockquote class="text">
# Line 4663  Intellectual Property and Copyright Stat Line 12555  Intellectual Property and Copyright Stat
12555  <p>/ ALL  <p>/ ALL
12556                                    
12557  </p>  </p>
12558  </blockquote>  </blockquote><p>
12559    
12560    </p>
12561  <p>midi_input_type_name =  <p>midi_input_type_name =
12562          </p>          </p>
12563  <blockquote class="text">  <blockquote class="text">
12564  <p>string  <p>string
12565                                    
12566  </p>  </p>
12567  </blockquote>  </blockquote><p>
12568    
12569    </p>
12570    <p>midi_map =
12571            </p>
12572    <blockquote class="text">
12573    <p>number
12574                    
12575    </p>
12576    </blockquote><p>
12577    
12578    </p>
12579    <p>midi_bank =
12580            </p>
12581    <blockquote class="text">
12582    <p>number
12583                    
12584    </p>
12585    </blockquote><p>
12586    
12587    </p>
12588    <p>midi_prog =
12589            </p>
12590    <blockquote class="text">
12591    <p>number
12592                    
12593    </p>
12594    </blockquote><p>
12595    
12596    </p>
12597    <p>midi_ctrl =
12598            </p>
12599    <blockquote class="text">
12600    <p>number
12601                    
12602    </p>
12603    </blockquote><p>
12604    
12605    </p>
12606  <p>volume_value =  <p>volume_value =
12607          </p>          </p>
12608  <blockquote class="text">  <blockquote class="text">
# Line 4682  Intellectual Property and Copyright Stat Line 12612  Intellectual Property and Copyright Stat
12612  <p>/ number  <p>/ number
12613                                    
12614  </p>  </p>
12615  </blockquote>  </blockquote><p>
12616    
12617    </p>
12618    <p>control_value =
12619            </p>
12620    <blockquote class="text">
12621    <p>real
12622                    
12623    </p>
12624    </blockquote><p>
12625    
12626    </p>
12627  <p>sampler_channel =  <p>sampler_channel =
12628          </p>          </p>
12629  <blockquote class="text">  <blockquote class="text">
12630  <p>number  <p>number
12631                                    
12632  </p>  </p>
12633  </blockquote>  </blockquote><p>
12634    
12635    </p>
12636  <p>instrument_index =  <p>instrument_index =
12637          </p>          </p>
12638  <blockquote class="text">  <blockquote class="text">
12639  <p>number  <p>number
12640                                    
12641  </p>  </p>
12642  </blockquote>  </blockquote><p>
12643    
12644    </p>
12645    <p>fx_send_id =
12646            </p>
12647    <blockquote class="text">
12648    <p>number
12649                    
12650    </p>
12651    </blockquote><p>
12652    
12653    </p>
12654  <p>engine_name =  <p>engine_name =
12655          </p>          </p>
12656  <blockquote class="text">  <blockquote class="text">
12657  <p>string  <p>string
12658                                    
12659  </p>  </p>
12660  </blockquote>  </blockquote><p>
12661    
12662    </p>
12663  <p>filename =  <p>filename =
12664          </p>          </p>
12665  <blockquote class="text">  <blockquote class="text">
12666  <p>stringval  <p>path
12667                                    
12668  </p>  </p>
12669  </blockquote>  </blockquote><p>
12670    
12671    </p>
12672    <p>db_path =
12673            </p>
12674    <blockquote class="text">
12675    <p>path
12676                    
12677    </p>
12678    </blockquote><p>
12679    
12680    </p>
12681    <p>map_name =
12682            </p>
12683    <blockquote class="text">
12684    <p>stringval_escaped
12685                    
12686    </p>
12687    </blockquote><p>
12688    
12689    </p>
12690    <p>entry_name =
12691            </p>
12692    <blockquote class="text">
12693    <p>stringval_escaped
12694                    
12695    </p>
12696    </blockquote><p>
12697    
12698    </p>
12699    <p>fx_send_name =
12700            </p>
12701    <blockquote class="text">
12702    <p>stringval_escaped
12703                    
12704    </p>
12705    </blockquote><p>
12706    
12707    </p>
12708    <p>effect_name =
12709            </p>
12710    <blockquote class="text">
12711    <p>stringval_escaped
12712                    
12713    </p>
12714    </blockquote><p>
12715    
12716    </p>
12717    <p>effect_index =
12718            </p>
12719    <blockquote class="text">
12720    <p>number
12721                    
12722    </p>
12723    </blockquote><p>
12724    
12725    </p>
12726    <p>effect_chain =
12727            </p>
12728    <blockquote class="text">
12729    <p>number
12730                    
12731    </p>
12732    </blockquote><p>
12733    
12734    </p>
12735    <p>chain_pos =
12736            </p>
12737    <blockquote class="text">
12738    <p>number
12739                    
12740    </p>
12741    </blockquote><p>
12742    
12743    </p>
12744    <p>input_control =
12745            </p>
12746    <blockquote class="text">
12747    <p>number
12748                    
12749    </p>
12750    </blockquote><p>
12751    
12752    </p>
12753  <p>param_val_list =  <p>param_val_list =
12754          </p>          </p>
12755  <blockquote class="text">  <blockquote class="text">
# Line 4725  Intellectual Property and Copyright Stat Line 12759  Intellectual Property and Copyright Stat
12759  <p>/ param_val_list','param_val  <p>/ param_val_list','param_val
12760                                    
12761  </p>  </p>
12762  </blockquote>  </blockquote><p>
12763    
12764    </p>
12765  <p>param_val =  <p>param_val =
12766          </p>          </p>
12767  <blockquote class="text">  <blockquote class="text">
12768  <p>string  <p>string
12769                                    
12770  </p>  </p>
12771  <p>/ '\'' string '\''  <p>/ stringval
                   
 </p>  
 <p>/ '\"' string '\"'  
12772                                    
12773  </p>  </p>
12774  <p>/ number  <p>/ number
# Line 4745  Intellectual Property and Copyright Stat Line 12777  Intellectual Property and Copyright Stat
12777  <p>/ dotnum  <p>/ dotnum
12778                                    
12779  </p>  </p>
12780  </blockquote>  </blockquote><p>
12781    
12782    </p>
12783    <p>query_val_list =
12784            </p>
12785    <blockquote class="text">
12786    <p>string '=' query_val
12787                    
12788    </p>
12789    <p>/ query_val_list SP string '=' query_val
12790                    
12791    </p>
12792    </blockquote><p>
12793    
12794    </p>
12795    <p>query_val =
12796            </p>
12797    <blockquote class="text">
12798    <p>text_escaped
12799                    
12800    </p>
12801    <p>/ stringval_escaped
12802                    
12803    </p>
12804    </blockquote><p>
12805    
12806    </p>
12807    <p>scan_mode =
12808            </p>
12809    <blockquote class="text">
12810    <p>RECURSIVE
12811                    
12812    </p>
12813    <p>/ NON_RECURSIVE
12814                    
12815    </p>
12816    <p>/ FLAT
12817                    
12818    </p>
12819    </blockquote><p>
12820    
12821    </p>
12822    <p>effect_system =
12823            </p>
12824    <blockquote class="text">
12825    <p>string
12826                    
12827    </p>
12828    </blockquote><p>
12829    
12830    </p>
12831    <p>module =
12832            </p>
12833    <blockquote class="text">
12834    <p>filename
12835                    
12836    </p>
12837    </blockquote><p>
12838    
12839    </p>
12840    <a name="character_set"></a><br /><hr />
12841    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12842    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
12843    Character Set and Escape Sequences</h3>
12844    
12845    <p>Older versions of this protocol up to and including v1.1 only
12846                    supported the standard ASCII character set (ASCII code 0 - 127)
12847                    <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
12848                    however support the Extended ASCII character set (ASCII code
12849                    0 - 255). The same group of younger protocols also support
12850                    escape sequences, but only for certain, explicitly declared
12851                    parts of the protocol. The supported escape sequences are
12852                    defined as follows:
12853    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
12854    <col align="left"><col align="left">
12855    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
12856    <tr>
12857    <td align="left">\n</td>
12858    <td align="left">new line</td>
12859    </tr>
12860    <tr>
12861    <td align="left">\r</td>
12862    <td align="left">carriage return</td>
12863    </tr>
12864    <tr>
12865    <td align="left">\f</td>
12866    <td align="left">form feed</td>
12867    </tr>
12868    <tr>
12869    <td align="left">\t</td>
12870    <td align="left">horizontal tab</td>
12871    </tr>
12872    <tr>
12873    <td align="left">\v</td>
12874    <td align="left">vertical tab</td>
12875    </tr>
12876    <tr>
12877    <td align="left">\'</td>
12878    <td align="left">apostrophe</td>
12879    </tr>
12880    <tr>
12881    <td align="left">\"</td>
12882    <td align="left">quotation mark</td>
12883    </tr>
12884    <tr>
12885    <td align="left">\\</td>
12886    <td align="left">backslash</td>
12887    </tr>
12888    <tr>
12889    <td align="left">\OOO</td>
12890    <td align="left">three digit octal ASCII code of the character</td>
12891    </tr>
12892    <tr>
12893    <td align="left">\xHH</td>
12894    <td align="left">two digit hex ASCII code of the character</td>
12895    </tr>
12896    </table>
12897    <br clear="all" />
12898    
12899    <p>Notice: due to the transition of certain parts of the
12900                    protocol which now support escape sequences, a slight backward
12901                    incompatibility to protocols version v1.1 and younger has been
12902                    introduced. The only difference is that in parts of the protocol
12903                    where escape characters are now supported, a backslash characters
12904                    MUST be escaped as well (that is as double backslash), whereas
12905                    in the old versions a single backslash was sufficient.
12906    </p>
12907    <p>The following LSCP commands support escape sequences as part
12908                    of their filename / path based arguments and / or may contain
12909                    a filename / path with escape sequences in their response:
12910                    </p>
12911    <blockquote class="text">
12912    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
12913    </p>
12914    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
12915    </p>
12916    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
12917    </p>
12918    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
12919    </p>
12920    <p><a class='info' href='#ADD DB_INSTRUMENT_DIRECTORY'>"ADD DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Creating a new instrument directory</span><span>)</span></a>
12921    </p>
12922    <p><a class='info' href='#ADD DB_INSTRUMENTS'>"ADD DB_INSTRUMENTS"<span> (</span><span class='info'>Adding instruments to the instruments database</span><span>)</span></a>
12923    </p>
12924    <p><a class='info' href='#REMOVE DB_INSTRUMENT_DIRECTORY'>"REMOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Deleting an instrument directory</span><span>)</span></a>
12925    </p>
12926    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
12927    </p>
12928    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORIES'>"GET DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Getting amount of instrument directories</span><span>)</span></a>
12929    </p>
12930    <p><a class='info' href='#LIST DB_INSTRUMENT_DIRECTORIES'>"LIST DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Listing all directories in specific directory</span><span>)</span></a>
12931    </p>
12932    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
12933    </p>
12934    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
12935    </p>
12936    <p><a class='info' href='#LIST DB_INSTRUMENTS'>"LIST DB_INSTRUMENTS"<span> (</span><span class='info'>Listing all instruments in specific directory</span><span>)</span></a>
12937    </p>
12938    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
12939    </p>
12940    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
12941    </p>
12942    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
12943    </p>
12944    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
12945    </p>
12946    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
12947    </p>
12948    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
12949    </p>
12950    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
12951    </p>
12952    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
12953    </p>
12954    <p><a class='info' href='#MOVE DB_INSTRUMENT_DIRECTORY'>"MOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Moving an instrument directory</span><span>)</span></a>
12955    </p>
12956    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
12957    </p>
12958    <p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a>
12959    </p>
12960    <p><a class='info' href='#FIND LOST DB_INSTRUMENT_FILES'>"FIND LOST DB_INSTRUMENT_FILES"<span> (</span><span class='info'>Checking for lost instrument files</span><span>)</span></a>
12961    </p>
12962    <p><a class='info' href='#SET DB_INSTRUMENT FILE_PATH'>"SET DB_INSTRUMENT FILE_PATH"<span> (</span><span class='info'>Replacing an instrument file</span><span>)</span></a>
12963    </p>
12964    <p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a>
12965    </p>
12966    <p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a>
12967    </p>
12968    <p><a class='info' href='#GET FILE INSTRUMENT INFO'>"GET FILE INSTRUMENT INFO"<span> (</span><span class='info'>Retrieving informations about one instrument in a file</span><span>)</span></a>
12969    </p>
12970    <p><a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
12971    </p>
12972    <p><a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
12973    </p>
12974    <p><a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
12975    </p>
12976    </blockquote><p>
12977                    Note that the forward slash character ('/') has a special meaning in
12978                    filename / path based arguments: it acts as separator of the nodes in
12979                    the path, thus if a directory- or filename includes a forward slash
12980                    (not intended as path node separator), you MUST escape that slash
12981                    either with the respective hex escape sequence ("\x2f") or with the
12982                    respective octal escape sequence ("\057").
12983                    
12984    </p>
12985    <p>
12986                    Note for Windows: file path arguments in LSCP are expected
12987                    to use forward slashes as directory node separator similar
12988                    to Unix based operating systems. In contrast to Unix however
12989                    a Windows typical drive character is expected to be
12990                    prefixed to the path. That is an original Windows file path
12991                    like "D:\Sounds\My.gig" would become in LSCP:
12992                    "D:/Sounds/My.gig".
12993                    
12994    </p>
12995    <p>
12996                    The following LSCP commands even support escape sequences as
12997                    part of at least one of their text-based arguments (i.e. entity name,
12998                    description) and / or may contain escape sequences in at least one of
12999                    their text-based fields in their response:
13000                    </p>
13001    <blockquote class="text">
13002    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
13003    </p>
13004    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
13005    </p>
13006    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
13007    </p>
13008    <p><a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
13009    </p>
13010    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
13011    </p>
13012    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
13013    </p>
13014    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
13015    </p>
13016    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
13017    </p>
13018    <p><a class='info' href='#ADD MIDI_INSTRUMENT_MAP'>"ADD MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Create a new MIDI instrument map</span><span>)</span></a>
13019    </p>
13020    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
13021    </p>
13022    <p><a class='info' href='#SET MIDI_INSTRUMENT_MAP NAME'>"SET MIDI_INSTRUMENT_MAP NAME"<span> (</span><span class='info'>Renaming a MIDI instrument map</span><span>)</span></a>
13023    </p>
13024    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
13025    </p>
13026    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
13027    </p>
13028    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
13029    </p>
13030    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
13031    </p>
13032    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
13033    </p>
13034    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
13035    </p>
13036    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
13037    </p>
13038    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
13039    </p>
13040    <p><a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
13041    </p>
13042    <p><a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
13043    </p>
13044    <p><a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
13045    </p>
13046    </blockquote><p>
13047                    Please note that these lists are manually maintained. If you
13048                    find a command that also supports escape sequences we forgot to
13049                    mention here, please report it!
13050                    
13051    </p>
13052  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
13053  <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>
13054  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
13055    Events</h3>
13056    
13057  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
13058  </p>  </p>
13059  <a name="rfc.section.8.1"></a><h4><a name="SUBSCRIBE CHANNEL">8.1</a>&nbsp;Number of sampler channels changed</h4>  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
13060    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13061    <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
13062    Number of audio output devices changed</h3>
13063    
13064    <p>Client may want to be notified when the total number of audio output devices on the
13065                    back-end changes by issuing the following command:
13066    </p>
13067    <p>
13068                        </p>
13069    <blockquote class="text">
13070    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
13071    </p>
13072    </blockquote><p>
13073                    
13074    </p>
13075    <p>Server will start sending the following notification messages:
13076    </p>
13077    <p>
13078                        </p>
13079    <blockquote class="text">
13080    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
13081    </p>
13082    </blockquote><p>
13083                    
13084    </p>
13085    <p>where &lt;devices&gt; will be replaced by the new number
13086                    of audio output devices.
13087    </p>
13088    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
13089    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13090    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
13091    Audio output device's settings changed</h3>
13092    
13093    <p>Client may want to be notified when changes were made to audio output devices on the
13094                    back-end by issuing the following command:
13095    </p>
13096    <p>
13097                        </p>
13098    <blockquote class="text">
13099    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
13100    </p>
13101    </blockquote><p>
13102                    
13103    </p>
13104    <p>Server will start sending the following notification messages:
13105    </p>
13106    <p>
13107                        </p>
13108    <blockquote class="text">
13109    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
13110    </p>
13111    </blockquote><p>
13112                    
13113    </p>
13114    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
13115                    which settings has been changed. The front-end will have to send
13116                    the respective command to actually get the audio output device info. Because these messages
13117                    will be triggered by LSCP commands issued by other clients rather than real
13118                    time events happening on the server, it is believed that an empty notification
13119                    message is sufficient here.
13120    </p>
13121    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
13122    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13123    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
13124    Number of MIDI input devices changed</h3>
13125    
13126    <p>Client may want to be notified when the total number of MIDI input devices on the
13127                    back-end changes by issuing the following command:
13128    </p>
13129    <p>
13130                        </p>
13131    <blockquote class="text">
13132    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
13133    </p>
13134    </blockquote><p>
13135                    
13136    </p>
13137    <p>Server will start sending the following notification messages:
13138    </p>
13139    <p>
13140                        </p>
13141    <blockquote class="text">
13142    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
13143    </p>
13144    </blockquote><p>
13145                    
13146    </p>
13147    <p>where &lt;devices&gt; will be replaced by the new number
13148                    of MIDI input devices.
13149    </p>
13150    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
13151    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13152    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
13153    MIDI input device's settings changed</h3>
13154    
13155    <p>Client may want to be notified when changes were made to MIDI input devices on the
13156                    back-end by issuing the following command:
13157    </p>
13158    <p>
13159                        </p>
13160    <blockquote class="text">
13161    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
13162    </p>
13163    </blockquote><p>
13164                    
13165    </p>
13166    <p>Server will start sending the following notification messages:
13167    </p>
13168    <p>
13169                        </p>
13170    <blockquote class="text">
13171    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
13172    </p>
13173    </blockquote><p>
13174                    
13175    </p>
13176    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
13177                    which settings has been changed. The front-end will have to send
13178                    the respective command to actually get the MIDI input device info. Because these messages
13179                    will be triggered by LSCP commands issued by other clients rather than real
13180                    time events happening on the server, it is believed that an empty notification
13181                    message is sufficient here.
13182    </p>
13183    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
13184    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13185    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
13186    Number of sampler channels changed</h3>
13187    
13188  <p>Client may want to be notified when the total number of channels on the  <p>Client may want to be notified when the total number of channels on the
13189                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
13190  </p>  </p>
13191  <p></p>  <p>
13192                        </p>
13193  <blockquote class="text">  <blockquote class="text">
13194  <p>SUBSCRIBE CHANNEL_COUNT  <p>SUBSCRIBE CHANNEL_COUNT
13195  </p>  </p>
13196  </blockquote>  </blockquote><p>
13197                    
13198    </p>
13199  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13200  </p>  </p>
13201  <p></p>  <p>
13202                        </p>
13203  <blockquote class="text">  <blockquote class="text">
13204  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"  <p>"NOTIFY:CHANNEL_COUNT:&lt;channels&gt;"
13205  </p>  </p>
13206  </blockquote>  </blockquote><p>
13207                    
13208    </p>
13209  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
13210                  of sampler channels.                  of sampler channels.
13211  </p>  </p>
13212  <a name="rfc.section.8.2"></a><h4><a name="SUBSCRIBE VOICE_COUNT">8.2</a>&nbsp;Number of active voices changed</h4>  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
13213    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13214    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
13215    MIDI data on a sampler channel arrived</h3>
13216    
13217    <p>Client may want to be notified when MIDI data arrive on sampler channels on
13218                    back-end side, by issuing the following command:
13219    </p>
13220    <p>
13221                        </p>
13222    <blockquote class="text">
13223    <p>SUBSCRIBE CHANNEL_MIDI
13224    </p>
13225    </blockquote><p>
13226                    
13227    </p>
13228    <p>Server will start sending one of the the following notification messages:
13229    </p>
13230    <p>
13231                        </p>
13232    <blockquote class="text">
13233    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
13234    </p>
13235    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13236    </p>
13237    </blockquote><p>
13238                    
13239    </p>
13240    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
13241                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13242                    0 .. 127, reflecting the analog meaning of the MIDI specification.
13243                    
13244    </p>
13245    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13246                    delivered by this mechanism! With other words: events could be lost at any time!
13247                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13248                    thread unaffected by this feature.
13249    </p>
13250    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
13251    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13252    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
13253    MIDI data on a MIDI input device arrived</h3>
13254    
13255    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
13256    </p>
13257    <p>
13258                                </p>
13259    <blockquote class="text">
13260    <p>SUBSCRIBE DEVICE_MIDI
13261    </p>
13262    </blockquote><p>
13263                        
13264    </p>
13265    <p>Server will start sending one of the the following notification messages:
13266    </p>
13267    <p>
13268                                </p>
13269    <blockquote class="text">
13270    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
13271    </p>
13272    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13273    </p>
13274    </blockquote><p>
13275                        
13276    </p>
13277    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
13278                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
13279                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13280                           0 .. 127, reflecting the analog meaning of the MIDI specification.
13281                        
13282    </p>
13283    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13284                           delivered by this mechanism! With other words: events could be lost at any time!
13285                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13286                           thread unaffected by this feature.
13287    </p>
13288    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
13289    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13290    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
13291    Number of active voices changed</h3>
13292    
13293  <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
13294                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
13295  </p>  </p>
13296  <p></p>  <p>
13297                        </p>
13298  <blockquote class="text">  <blockquote class="text">
13299  <p>SUBSCRIBE VOICE_COUNT  <p>SUBSCRIBE VOICE_COUNT
13300  </p>  </p>
13301  </blockquote>  </blockquote><p>
13302                    
13303    </p>
13304  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13305  </p>  </p>
13306  <p></p>  <p>
13307                        </p>
13308  <blockquote class="text">  <blockquote class="text">
13309  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
13310    </p>
13311    </blockquote><p>
13312                    
13313  </p>  </p>
 </blockquote>  
   
13314  <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
13315                  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
13316                  active voices on that channel.                  active voices on that channel.
13317  </p>  </p>
13318  <a name="rfc.section.8.3"></a><h4><a name="SUBSCRIBE STREAM_COUNT">8.3</a>&nbsp;Number of active disk streams changed</h4>  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
13319    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13320    <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
13321    Number of active disk streams changed</h3>
13322    
13323  <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
13324                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
13325  </p>  </p>
13326  <p></p>  <p>
13327                        </p>
13328  <blockquote class="text">  <blockquote class="text">
13329  <p>SUBSCRIBE STREAM_COUNT  <p>SUBSCRIBE STREAM_COUNT
13330  </p>  </p>
13331  </blockquote>  </blockquote><p>
13332                    
13333    </p>
13334  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13335  </p>  </p>
13336  <p></p>  <p>
13337                        </p>
13338  <blockquote class="text">  <blockquote class="text">
13339  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"  <p>"NOTIFY:STREAM_COUNT:&lt;sampler-channel&gt; &lt;streams&gt;"
13340  </p>  </p>
13341  </blockquote>  </blockquote><p>
13342                    
13343    </p>
13344  <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
13345                  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
13346                  active disk streams on that channel.                  active disk streams on that channel.
13347  </p>  </p>
13348  <a name="rfc.section.8.4"></a><h4><a name="SUBSCRIBE BUFFER_FILL">8.4</a>&nbsp;Disk stream buffer fill state changed</h4>  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
13349    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13350    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
13351    Disk stream buffer fill state changed</h3>
13352    
13353  <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
13354                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
13355  </p>  </p>
13356  <p></p>  <p>
13357                        </p>
13358  <blockquote class="text">  <blockquote class="text">
13359  <p>SUBSCRIBE BUFFER_FILL  <p>SUBSCRIBE BUFFER_FILL
13360  </p>  </p>
13361  </blockquote>  </blockquote><p>
13362                    
13363    </p>
13364  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13365  </p>  </p>
13366  <p></p>  <p>
13367                        </p>
13368  <blockquote class="text">  <blockquote class="text">
13369  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"  <p>"NOTIFY:BUFFER_FILL:&lt;sampler-channel&gt; &lt;fill-data&gt;"
13370  </p>  </p>
13371  </blockquote>  </blockquote><p>
13372                    
13373    </p>
13374  <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
13375                  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
13376                  buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section 6.4.13<span>Current fill state of disk stream buffers</span></a>                  buffer fill data for this channel as described in <a class='info' href='#GET CHANNEL BUFFER_FILL'>Section&nbsp;6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a>
13377                  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.
13378  </p>  </p>
13379  <a name="rfc.section.8.5"></a><h4><a name="SUBSCRIBE INFO">8.5</a>&nbsp;Channel information changed</h4>  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
13380    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13381    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
13382    Channel information changed</h3>
13383    
13384  <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
13385                  back-end by issuing the following command:                  back-end by issuing the following command:
13386  </p>  </p>
13387  <p></p>  <p>
13388                        </p>
13389  <blockquote class="text">  <blockquote class="text">
13390  <p>SUBSCRIBE CHANNEL_INFO  <p>SUBSCRIBE CHANNEL_INFO
13391  </p>  </p>
13392  </blockquote>  </blockquote><p>
13393                    
13394    </p>
13395  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13396  </p>  </p>
13397  <p></p>  <p>
13398                        </p>
13399  <blockquote class="text">  <blockquote class="text">
13400  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"  <p>"NOTIFY:CHANNEL_INFO:&lt;sampler-channel&gt;"
13401  </p>  </p>
13402  </blockquote>  </blockquote><p>
13403                    
13404    </p>
13405  <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
13406                  channel info change occurred. The front-end will have to send                  channel info change occurred. The front-end will have to send
13407                  the respective command to actually get the channel info. Because these messages                  the respective command to actually get the channel info. Because these messages
# Line 4871  Intellectual Property and Copyright Stat Line 13409  Intellectual Property and Copyright Stat
13409                  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
13410                  message is sufficient here.                  message is sufficient here.
13411  </p>  </p>
13412  <a name="rfc.section.8.6"></a><h4><a name="SUBSCRIBE MISCELLANEOUS">8.6</a>&nbsp;Miscellaneous and debugging events</h4>  <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
13413    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13414    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
13415    Number of effect sends changed</h3>
13416    
13417    <p>Client may want to be notified when the number of effect sends on
13418                    a particular sampler channel is changed by issuing the following command:
13419    </p>
13420    <p>
13421                        </p>
13422    <blockquote class="text">
13423    <p>SUBSCRIBE FX_SEND_COUNT
13424    </p>
13425    </blockquote><p>
13426                    
13427    </p>
13428    <p>Server will start sending the following notification messages:
13429    </p>
13430    <p>
13431                        </p>
13432    <blockquote class="text">
13433    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
13434    </p>
13435    </blockquote><p>
13436                    
13437    </p>
13438    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13439                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
13440                    be replaced by the new number of effect sends on that channel.
13441    </p>
13442    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
13443    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13444    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
13445    Effect send information changed</h3>
13446    
13447    <p>Client may want to be notified when changes were made to effect sends on a
13448                    a particular sampler channel by issuing the following command:
13449    </p>
13450    <p>
13451                        </p>
13452    <blockquote class="text">
13453    <p>SUBSCRIBE FX_SEND_INFO
13454    </p>
13455    </blockquote><p>
13456                    
13457    </p>
13458    <p>Server will start sending the following notification messages:
13459    </p>
13460    <p>
13461                        </p>
13462    <blockquote class="text">
13463    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
13464    </p>
13465    </blockquote><p>
13466                    
13467    </p>
13468    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13469                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
13470                    be replaced by the numerical ID of the changed effect send.
13471    </p>
13472    <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
13473    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13474    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
13475    Total number of active voices changed</h3>
13476    
13477    <p>Client may want to be notified when the total number of voices on the
13478                    back-end changes by issuing the following command:
13479    </p>
13480    <p>
13481                        </p>
13482    <blockquote class="text">
13483    <p>SUBSCRIBE TOTAL_VOICE_COUNT
13484    </p>
13485    </blockquote><p>
13486                    
13487    </p>
13488    <p>Server will start sending the following notification messages:
13489    </p>
13490    <p>
13491                        </p>
13492    <blockquote class="text">
13493    <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
13494    </p>
13495    </blockquote><p>
13496                    
13497    </p>
13498    <p>where &lt;voices&gt; will be replaced by the new number of
13499                    all currently active voices.
13500    </p>
13501    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
13502    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13503    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
13504    Total number of active disk streams changed</h3>
13505    
13506    <p>Client may want to be notified when the total number of disk streams on the
13507                    back-end changes by issuing the following command:
13508    </p>
13509    <p>
13510                        </p>
13511    <blockquote class="text">
13512    <p>SUBSCRIBE TOTAL_STREAM_COUNT
13513    </p>
13514    </blockquote><p>
13515                    
13516    </p>
13517    <p>Server will start sending the following notification messages:
13518    </p>
13519    <p>
13520                        </p>
13521    <blockquote class="text">
13522    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
13523    </p>
13524    </blockquote><p>
13525                    
13526    </p>
13527    <p>where &lt;streams&gt; will be replaced by the new number of
13528                    all currently active disk streams.
13529    </p>
13530    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
13531    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13532    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
13533    Number of MIDI instrument maps changed</h3>
13534    
13535    <p>Client may want to be notified when the number of MIDI instrument maps on the
13536                    back-end changes by issuing the following command:
13537    </p>
13538    <p>
13539                        </p>
13540    <blockquote class="text">
13541    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
13542    </p>
13543    </blockquote><p>
13544                    
13545    </p>
13546    <p>Server will start sending the following notification messages:
13547    </p>
13548    <p>
13549                        </p>
13550    <blockquote class="text">
13551    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
13552    </p>
13553    </blockquote><p>
13554                    
13555    </p>
13556    <p>where &lt;maps&gt; will be replaced by the new number
13557                    of MIDI instrument maps.
13558    </p>
13559    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
13560    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13561    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
13562    MIDI instrument map information changed</h3>
13563    
13564    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
13565                    back-end by issuing the following command:
13566    </p>
13567    <p>
13568                        </p>
13569    <blockquote class="text">
13570    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
13571    </p>
13572    </blockquote><p>
13573                    
13574    </p>
13575    <p>Server will start sending the following notification messages:
13576    </p>
13577    <p>
13578                        </p>
13579    <blockquote class="text">
13580    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
13581    </p>
13582    </blockquote><p>
13583                    
13584    </p>
13585    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
13586                    for which information changes occurred. The front-end will have to send
13587                    the respective command to actually get the MIDI instrument map info. Because these messages
13588                    will be triggered by LSCP commands issued by other clients rather than real
13589                    time events happening on the server, it is believed that an empty notification
13590                    message is sufficient here.
13591    </p>
13592    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
13593    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13594    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
13595    Number of MIDI instruments changed</h3>
13596    
13597    <p>Client may want to be notified when the number of MIDI instrument maps on the
13598                    back-end changes by issuing the following command:
13599    </p>
13600    <p>
13601                        </p>
13602    <blockquote class="text">
13603    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
13604    </p>
13605    </blockquote><p>
13606                    
13607    </p>
13608    <p>Server will start sending the following notification messages:
13609    </p>
13610    <p>
13611                        </p>
13612    <blockquote class="text">
13613    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
13614    </p>
13615    </blockquote><p>
13616                    
13617    </p>
13618    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
13619                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
13620                    the new number of MIDI instruments in the specified map.
13621    </p>
13622    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
13623    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13624    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
13625    MIDI instrument information changed</h3>
13626    
13627    <p>Client may want to be notified when changes were made to MIDI instruments on the
13628                    back-end by issuing the following command:
13629    </p>
13630    <p>
13631                        </p>
13632    <blockquote class="text">
13633    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
13634    </p>
13635    </blockquote><p>
13636                    
13637    </p>
13638    <p>Server will start sending the following notification messages:
13639    </p>
13640    <p>
13641                        </p>
13642    <blockquote class="text">
13643    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
13644    </p>
13645    </blockquote><p>
13646                    
13647    </p>
13648    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
13649                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
13650                    the location of the changed MIDI instrument in the map. The front-end will have to send
13651                    the respective command to actually get the MIDI instrument info. Because these messages
13652                    will be triggered by LSCP commands issued by other clients rather than real
13653                    time events happening on the server, it is believed that an empty notification
13654                    message is sufficient here.
13655    </p>
13656    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
13657    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13658    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
13659    Global settings changed</h3>
13660    
13661    <p>Client may want to be notified when changes to the global settings
13662                    of the sampler were made by issuing the following command:
13663    </p>
13664    <p>
13665                        </p>
13666    <blockquote class="text">
13667    <p>SUBSCRIBE GLOBAL_INFO
13668    </p>
13669    </blockquote><p>
13670                    
13671    </p>
13672    <p>Server will start sending the following types of notification messages:
13673    </p>
13674    <p>
13675                        </p>
13676    <blockquote class="text">
13677    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
13678                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
13679                            replaced by the optional dotted floating point value, reflecting the
13680                            new global volume parameter.
13681    </p>
13682    </blockquote><p>
13683                        </p>
13684    <blockquote class="text">
13685    <p>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
13686                            golbal limit of the sampler for maximum voices is changed, where
13687                            &lt;max-voices&gt; will be an integer value, reflecting the
13688                            new global voice limit parameter.
13689    </p>
13690    </blockquote><p>
13691                        </p>
13692    <blockquote class="text">
13693    <p>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
13694                            golbal limit of the sampler for maximum disk streams is changed, where
13695                            &lt;max-streams&gt; will be an integer value, reflecting the
13696                            new global disk streams limit parameter.
13697    </p>
13698    </blockquote><p>
13699                    
13700    </p>
13701    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
13702    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13703    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
13704    Number of database instrument directories changed</h3>
13705    
13706    <p>Client may want to be notified when the number of instrument
13707                    directories in a particular directory in the instruments database
13708                    is changed by issuing the following command:
13709    </p>
13710    <p>
13711                        </p>
13712    <blockquote class="text">
13713    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
13714    </p>
13715    </blockquote><p>
13716                    
13717    </p>
13718    <p>Server will start sending the following notification messages:
13719    </p>
13720    <p>
13721                        </p>
13722    <blockquote class="text">
13723    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
13724    </p>
13725    </blockquote><p>
13726                    
13727    </p>
13728    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13729                    name of the directory in the instruments database,
13730                    in which the number of directories is changed.
13731    </p>
13732    <p>Note that when a non-empty directory is removed, this event
13733                    is not sent for the subdirectories in that directory.
13734    </p>
13735    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
13736    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13737    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
13738    Database instrument directory information changed</h3>
13739    
13740    <p>Client may want to be notified when changes were made to directories
13741                    in the instruments database by issuing the following command:
13742    </p>
13743    <p>
13744                        </p>
13745    <blockquote class="text">
13746    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
13747    </p>
13748    </blockquote><p>
13749                    
13750    </p>
13751    <p>Server will start sending the following notification messages:
13752    </p>
13753    <p>
13754                        </p>
13755    <blockquote class="text">
13756    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
13757    </p>
13758    </blockquote><p>
13759                    
13760    </p>
13761    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
13762                    of the directory, for which information changes occurred. The front-end will have to send
13763                    the respective command to actually get the updated directory info. Because these messages
13764                    will be triggered by LSCP commands issued by other clients rather than real
13765                    time events happening on the server, it is believed that an empty notification
13766                    message is sufficient here.
13767    </p>
13768    <p>
13769                        </p>
13770    <blockquote class="text">
13771    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
13772    </p>
13773    </blockquote><p>
13774                    
13775    </p>
13776    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
13777                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13778                    the new name of the directory, encapsulated into apostrophes.
13779    </p>
13780    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
13781    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13782    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
13783    Number of database instruments changed</h3>
13784    
13785    <p>Client may want to be notified when the number of instruments
13786                    in a particular directory in the instruments database
13787                    is changed by issuing the following command:
13788    </p>
13789    <p>
13790                        </p>
13791    <blockquote class="text">
13792    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
13793    </p>
13794    </blockquote><p>
13795                    
13796    </p>
13797    <p>Server will start sending the following notification messages:
13798    </p>
13799    <p>
13800                        </p>
13801    <blockquote class="text">
13802    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
13803    </p>
13804    </blockquote><p>
13805                    
13806    </p>
13807    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13808                    name of the directory in the instruments database,
13809                    in which the number of instruments is changed.
13810    </p>
13811    <p>Note that when a non-empty directory is removed, this event
13812                    is not sent for the instruments in that directory.
13813    </p>
13814    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
13815    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13816    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
13817    Database instrument information changed</h3>
13818    
13819    <p>Client may want to be notified when changes were made to instruments
13820                    in the instruments database by issuing the following command:
13821    </p>
13822    <p>
13823                        </p>
13824    <blockquote class="text">
13825    <p>SUBSCRIBE DB_INSTRUMENT_INFO
13826    </p>
13827    </blockquote><p>
13828                    
13829    </p>
13830    <p>Server will start sending the following notification messages:
13831    </p>
13832    <p>
13833                        </p>
13834    <blockquote class="text">
13835    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
13836    </p>
13837    </blockquote><p>
13838                    
13839    </p>
13840    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
13841                    of the instrument, which settings are changed. The front-end will have to send
13842                    the respective command to actually get the updated directory info. Because these messages
13843                    will be triggered by LSCP commands issued by other clients rather than real
13844                    time events happening on the server, it is believed that an empty notification
13845                    message is sufficient here.
13846    </p>
13847    <p>
13848                        </p>
13849    <blockquote class="text">
13850    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
13851    </p>
13852    </blockquote><p>
13853                    
13854    </p>
13855    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
13856                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13857                    the new name of the instrument, encapsulated into apostrophes.
13858    </p>
13859    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
13860    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13861    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
13862    Database job status information changed</h3>
13863    
13864    <p>Client may want to be notified when the status of particular database
13865                    instruments job is changed by issuing the following command:
13866    </p>
13867    <p>
13868                        </p>
13869    <blockquote class="text">
13870    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
13871    </p>
13872    </blockquote><p>
13873                    
13874    </p>
13875    <p>Server will start sending the following notification messages:
13876    </p>
13877    <p>
13878                        </p>
13879    <blockquote class="text">
13880    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
13881    </p>
13882    </blockquote><p>
13883                    
13884    </p>
13885    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
13886                    which status is changed. The front-end will have to send the respective
13887                    command to actually get the status info. Because these messages
13888                    will be triggered by LSCP commands issued by other clients rather than real
13889                    time events happening on the server, it is believed that an empty notification
13890                    message is sufficient here.
13891    </p>
13892    <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
13893    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13894    <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
13895    Miscellaneous and debugging events</h3>
13896    
13897  <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
13898                  the server by issuing the following command:                  the server by issuing the following command:
13899  </p>  </p>
13900  <p></p>  <p>
13901                        </p>
13902  <blockquote class="text">  <blockquote class="text">
13903  <p>SUBSCRIBE MISCELLANEOUS  <p>SUBSCRIBE MISCELLANEOUS
13904  </p>  </p>
13905  </blockquote>  </blockquote><p>
13906                    
13907    </p>
13908  <p>Server will start sending the following notification messages:  <p>Server will start sending the following notification messages:
13909  </p>  </p>
13910  <p></p>  <p>
13911                        </p>
13912  <blockquote class="text">  <blockquote class="text">
13913  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"  <p>"NOTIFY:MISCELLANEOUS:&lt;string&gt;"
13914  </p>  </p>
13915  </blockquote>  </blockquote><p>
13916                    
13917    </p>
13918  <p>where &lt;string&gt; will be replaced by whatever data server  <p>where &lt;string&gt; will be replaced by whatever data server
13919                  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
13920                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
13921  </p>  </p>
13922  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
13923  <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>
13924  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
13925    Security Considerations</h3>
13926    
13927  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
13928              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
# Line 4904  Intellectual Property and Copyright Stat Line 13930  Intellectual Property and Copyright Stat
13930              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
13931  </p>  </p>
13932  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
13933  <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>
13934  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
13935    Acknowledgments</h3>
13936    
13937  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
13938              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
13939              list:              list:
13940  </p>  </p>
13941  <p></p>  <p>
13942                    </p>
13943  <blockquote class="text">  <blockquote class="text">
13944  <p>Rui Nuno Capela  <p>Rui Nuno Capela
13945  </p>  </p>
# Line 4921  Intellectual Property and Copyright Stat Line 13949  Intellectual Property and Copyright Stat
13949  </p>  </p>
13950  <p>Grigor Iliev  <p>Grigor Iliev
13951  </p>  </p>
13952  </blockquote>  </blockquote><p>
13953                
13954    </p>
13955  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
13956  <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>
13957  <h3>11&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
13958  <table width="99%" border="0">  <table width="99%" border="0">
13959    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
13960    <td class="author-text">UCLA, &ldquo;<a href="http://tools.ietf.org/html/rfc20">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
13961  <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>
13962  <td class="author-text">Bradner, S., "<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>", RFC 2119, 1997.</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
13963  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC2234">[RFC2234]</a></td>
13964  <td class="author-text">Crocker, D. and P. Overell, "<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>", RFC 2234, 1997.</td></tr>  <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="http://tools.ietf.org/html/rfc2234">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>
13965  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
13966  <td class="author-text">Defense Advanced Research Projects Agency, "<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>", RFC 793, 1981.</td></tr>  <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="http://tools.ietf.org/html/rfc793">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>
13967  </table>  </table>
13968    
13969  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
13970  <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>
13971  <h3>Author's Address</h3>  <h3>Author's Address</h3>
13972  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
13973  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 4950  Schoenebeck</td></tr> Line 13981  Schoenebeck</td></tr>
13981  <td class="author-text">74081 Heilbronn</td></tr>  <td class="author-text">74081 Heilbronn</td></tr>
13982  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
13983  <td class="author-text">Germany</td></tr>  <td class="author-text">Germany</td></tr>
13984  <tr><td class="author" align="right">EMail:&nbsp;</td>  <tr><td class="author" align="right">Email:&nbsp;</td>
13985  <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>
13986  </table>  </table>
13987  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
13988  <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>
 <h3>Intellectual Property Statement</h3>  
 <p class='copyright'>  
 The IETF takes no position regarding the validity or scope of  
 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>  
 <p class='copyright'>  
 The IETF invites any interested party to bring to its  
 attention any copyrights, patents or patent applications, or  
 other proprietary rights which may cover technology that may be  
 required to practice this standard. Please address the  
 information to the IETF Executive Director.</p>  
13989  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
13990  <p class='copyright'>  <p class='copyright'>
13991  Copyright (C) The Internet Society (2005). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2010).</p>
13992  <p class='copyright'>  <p class='copyright'>
13993  This document and translations of it may be copied and furnished to  This document is subject to the rights,
13994  others, and derivative works that comment on or otherwise explain it  licenses and restrictions contained in BCP&nbsp;78,
13995  or assist in its implementation may be prepared, copied, published and  and except as set forth therein,
13996  distributed, in whole or in part, without restriction of any kind,  the authors retain all their rights.</p>
 provided that the above copyright notice and this paragraph are  
 included on all such copies and derivative works. However, this  
 document itself may not be modified in any way, such as by removing  
 the copyright notice or references to the Internet Society or other  
 Internet organizations, except as needed for the purpose of  
 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>  
13997  <p class='copyright'>  <p class='copyright'>
13998  The limited permissions granted above are perpetual and will not be  This document and the information contained herein are provided
13999  revoked by the Internet Society or its successors or assignees.</p>  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
14000    THE ORGANIZATION HE/SHE REPRESENTS
14001    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
14002    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
14003    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
14004    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
14005    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
14006    PURPOSE.</p>
14007    <h3>Intellectual Property</h3>
14008    <p class='copyright'>
14009    The IETF takes no position regarding the validity or scope of any
14010    Intellectual Property Rights or other rights that might be claimed
14011    to pertain to the implementation or use of the technology
14012    described in this document or the extent to which any license
14013    under such rights might or might not be available; nor does it
14014    represent that it has made any independent effort to identify any
14015    such rights.
14016    Information on the procedures with respect to
14017    rights in RFC documents can be found in BCP&nbsp;78 and BCP&nbsp;79.</p>
14018  <p class='copyright'>  <p class='copyright'>
14019  This document and the information contained herein is provided on an  Copies of IPR disclosures made to the IETF Secretariat and any
14020  &quot;AS IS&quot; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  assurances of licenses to be made available,
14021  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  or the result of an attempt made to obtain a general license or
14022  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  permission for the use of such proprietary rights by implementers or
14023  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  users of this specification can be obtained from the IETF on-line IPR
14024  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
 <h3>Acknowledgment</h3>  
14025  <p class='copyright'>  <p class='copyright'>
14026  Funding for the RFC Editor function is currently provided by the  The IETF invites any interested party to bring to its attention
14027  Internet Society.</p>  any copyrights,
14028    patents or patent applications,
14029    or other
14030    proprietary rights that may cover technology that may be required
14031    to implement this standard.
14032    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
14033  </body></html>  </body></html>

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

  ViewVC Help
Powered by ViewVC