/[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 940 by schoenebeck, Sat Nov 25 17:18:12 2006 UTC revision 1251 by schoenebeck, Fri Jun 22 14:24:57 2007 UTC
# Line 1  Line 1 
1  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2  <html lang="en"><head><title>LinuxSampler Control Protocol</title>  <html lang="en"><head><title>LinuxSampler Control Protocol (draft)</title>
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol (draft)">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.30 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.32 (http://xml.resource.org/)">
7  <style type='text/css'>  <style type='text/css'><!--
8  <!--          body {
9      body {                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10          font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-size: small; color: #000; background-color: #FFF;
11          margin: 2em;                  margin: 2em;
         font-size: small ; color: #000000 ; background-color: #ffffff ; }  
     .title { color: #990000; font-size: x-large ;  
         font-weight: bold; text-align: right;  
         font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;  
         background-color: transparent; }  
     .filename { color: #666666; font-size: 18px; line-height: 28px;  
         font-weight: bold; text-align: right;  
         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.info{ /*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 ;}  
     table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }  
     td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }  
   
     span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }  
     span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }  
     span.vdeluxe { font-weight: bold; font-style: italic; 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;  }  
   
     pre { margin-left: 3em; color: #333333;  background-color: transparent;  
         font-family: "Courier New", Courier, monospace ; font-size: small ;  
         text-align: left;  
12          }          }
13            h1, h2, h3, h4, h5, h6 {
14                    font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15                    font-weight: bold; font-style: normal;
16            }
17            h1 { color: #900; background-color: transparent; text-align: right; }
18            h3 { color: #333; background-color: transparent; }
19    
20            td.RFCbug {
21                    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            table.TOCbug { width: 30px; height: 15px; }
36            td.TOCbug {
37                    text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39            }
40            td.TOCbug a {
41                    font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43                    color: #FFF; background-color: transparent;
44            }
45    
46            td.header {
47                    font-family: arial, helvetica, sans-serif; font-size: x-small;
48                    vertical-align: top; width: 33%;
49                    color: #FFF; background-color: #666;
50            }
51            td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53    
54            /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55            a.info {
56                    /* This is the key. */
57                    position: relative;
58                    z-index: 24;
59                    text-decoration: none;
60            }
61            a.info:hover {
62                    z-index: 25;
63                    color: #FFF; background-color: #900;
64            }
65            a.info span { display: none; }
66            a.info:hover span.info {
67                    /* The span will display just on :hover state. */
68                    display: block;
69                    position: absolute;
70                    font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72                    padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74                    text-align: left;
75            }
76    
77            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      h3 { color: #333333; font-size: medium ;          hr { height: 1px; }
136          font-family: helvetica, arial, sans-serif ;          hr.insert {
137          background-color: transparent; }                  width: 80%; border-style: none; border-width: 0;
138      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #CCC; background-color: #CCC;
139            }
140      table.bug { width: 30px ; height: 15px ; }  --></style>
     td.bug { color: #ffffff ; background-color: #990000 ;  
         text-align: center ; width: 30px ; height: 15px ;  
          }  
     td.bug A.link2 { color: #ffffff ; font-weight: bold;  
         text-decoration: none;  
         font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;  
         font-size: x-small ; background-color: transparent }  
   
     td.header { color: #ffffff; font-size: x-small ;  
         font-family: arial, helvetica, sans-serif; vertical-align: top;  
         background-color: #666666 ; width: 33% ; }  
     td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }  
     td.author-text { font-size: x-small; }  
     table.full { vertical-align: top ; border-collapse: collapse ;  
         border-style: solid solid solid solid ;  
         border-color: black black black black ;  
         font-size: small ; text-align: center ; }  
     table.headers, table.none { vertical-align: top ; border-collapse: collapse ;  
         border-style: none;  
         font-size: small ; text-align: center ; }  
     table.full th { font-weight: bold ;  
         border-style: solid ;  
         border-color: black black black black ; }  
     table.headers th { font-weight: bold ;  
         border-style: none none solid none;  
         border-color: black black black black ; }  
     table.none th { font-weight: bold ;  
         border-style: none; }  
     table.full td {  
         border-style: solid solid solid solid ;  
         border-color: #333333 #333333 #333333 #333333 ; }  
     table.headers td, table.none td { border-style: none; }  
   
     hr { height: 1px }  
 -->  
 </style>  
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: May 29, 2007</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">November 25, 2006</td></tr>  <tr><td class="header">Expires: December 24, 2007</td><td class="header">June 22, 2007</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol (draft)<br />LSCP 1.2cvs</h1>
 <div align="right"><span class="title"><br />LSCP 1.1</span></div>  
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
154  This document is an Internet-Draft and is  By submitting this Internet-Draft,
155  in full conformance with all provisions of Section&nbsp;10 of RFC&nbsp;2026.</p>  each author represents that any applicable patent or other IPR claims of which
156    he or she is aware have been or will be disclosed,
157    and any of which he or she becomes aware will be disclosed,
158    in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
159  <p>  <p>
160  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
161  Task Force (IETF), its areas, and its working groups.  Task Force (IETF), its areas, and its working groups.
# Line 153  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on May 29, 2007.</p>  This Internet-Draft will expire on December 24, 2007.</p>
177    
178  <h3>Copyright Notice</h3>  <h3>Copyright Notice</h3>
179  <p>  <p>
180  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2007).</p>
181    
182  <h3>Abstract</h3>  <h3>Abstract</h3>
183    
# Line 278  Current number of active disk streams<br Line 298  Current number of active disk streams<br
298  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
299  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;
300  Setting audio output device<br />  Setting audio output device<br />
301  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYPE">6.4.15.</a>&nbsp;
302  Setting audio output type<br />  Setting audio output type<br />
303  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;
304  Setting audio output channel<br />  Setting audio output channel<br />
# Line 296  Setting channel volume<br /> Line 316  Setting channel volume<br />
316  Muting a sampler channel<br />  Muting a sampler channel<br />
317  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
318  Soloing a sampler channel<br />  Soloing a sampler channel<br />
319  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.24.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
320    Assigning a MIDI instrument map to a sampler channel<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
322    Adding an effect send to a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
324    Removing an effect send from a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
326    Getting amount of effect sends on a sampler channel<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
328    Listing all effect sends on a sampler channel<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
330    Getting effect send information<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
332    Changing effect send's name<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
334    Altering effect send's audio routing<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
336    Altering effect send's MIDI controller<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
338    Altering effect send's send level<br />
339    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.34.</a>&nbsp;
340  Resetting a sampler channel<br />  Resetting a sampler channel<br />
341  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
342  Controlling connection<br />  Controlling connection<br />
# Line 318  Maximum amount of active voices<br /> Line 358  Maximum amount of active voices<br />
358  Reset sampler<br />  Reset sampler<br />
359  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;
360  General sampler informations<br />  General sampler informations<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;
362    Getting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;
364    Setting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
366    MIDI Instrument Mapping<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;
368    Create a new MIDI instrument map<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
370    Delete one particular or all MIDI instrument maps<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
372    Get amount of existing MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
374    Getting all created MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
376    Getting MIDI instrument map information<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
378    Renaming a MIDI instrument map<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
380    Create or replace a MIDI instrument map entry<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
382    Getting ammount of MIDI instrument map entries<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
384    Getting indeces of all entries of a MIDI instrument map<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
386    Remove an entry from the MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
388    Get current settings of MIDI instrument map entry<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
390    Clear MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
392    Managing Instruments Database<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
394    Creating a new instrument directory<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
396    Deleting an instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
398    Getting amount of instrument directories<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
400    Listing all directories in specific directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
402    Getting instrument directory information<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
404    Renaming an instrument directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
406    Moving an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
408    Copying instrument directories<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
410    Changing the description of directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
412    Finding directories<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
414    Adding instruments to the instruments database<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
416    Removing an instrument<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
418    Getting amount of instruments<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
420    Listing all instruments in specific directory<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
422    Getting instrument information<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
424    Renaming an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
426    Moving an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
428    Copying instruments<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
430    Changing the description of instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
432    Finding instruments<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
434    Getting job status information<br />
435  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
436  Command Syntax<br />  Command Syntax<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
438    Character Set and Escape Sequences<br />
439  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
440  Events<br />  Events<br />
441  &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;
442    Number of audio output devices changed<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
444    Audio output device's settings changed<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
446    Number of MIDI input devices changed<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
448    MIDI input device's settings changed<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
450  Number of sampler channels changed<br />  Number of sampler channels changed<br />
451  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;
452  Number of active voices changed<br />  Number of active voices changed<br />
453  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;
454  Number of active disk streams changed<br />  Number of active disk streams changed<br />
455  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;
456  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
458  Channel information changed<br />  Channel information changed<br />
459  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;
460    Number of effect sends changed<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
462    Effect send information changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
464  Total number of active voices changed<br />  Total number of active voices changed<br />
465  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.13.</a>&nbsp;
466    Number of MIDI instrument maps changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
468    MIDI instrument map information changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
470    Number of MIDI instruments changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
472    MIDI instrument information changed<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
474    Global settings changed<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
476    Number of database instrument directories changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
478    Database instrument directory information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
480    Number of database instruments changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
482    Database instrument information changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
484    Database job status information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
486  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
487  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
488  Security Considerations<br />  Security Considerations<br />
# Line 350  Intellectual Property and Copyright Stat Line 498  Intellectual Property and Copyright Stat
498  <br clear="all" />  <br clear="all" />
499    
500  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
501  <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>
502  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
503    Requirements notation</h3>
504    
505  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
506              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
507              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
508              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>.              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>.
509  </p>  </p>
510  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
511              claimed the opposite.              claimed the opposite.
# Line 365  Intellectual Property and Copyright Stat Line 514  Intellectual Property and Copyright Stat
514              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
515              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
516              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
517              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>),
518              example:              thus the following example:
519  </p>  </p>
520  <p>  <p>
521                  </p>                  </p>
# Line 432  Intellectual Property and Copyright Stat Line 581  Intellectual Property and Copyright Stat
581              return and line feed characters respectively.              return and line feed characters respectively.
582  </p>  </p>
583  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
584  <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>
585  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
586    Versioning of this specification</h3>
587    
588  <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
589              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 476  Intellectual Property and Copyright Stat Line 626  Intellectual Property and Copyright Stat
626  <p>  <p>
627              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
628              The frontend can use the              The frontend can use the
629              <a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span> (</span><span class="info">General sampler informations</span><span>)</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
630              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
631                            
632  </p>  </p>
633  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
634  <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>
635  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
636    Introduction</h3>
637    
638  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
639              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 502  Intellectual Property and Copyright Stat Line 653  Intellectual Property and Copyright Stat
653              there.              there.
654  </p>  </p>
655  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
656  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
657  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
658    Focus of this protocol</h3>
659    
660  <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
661              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 514  Intellectual Property and Copyright Stat Line 666  Intellectual Property and Copyright Stat
666              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
667  </p>  </p>
668  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
669  <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>
670  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
671    Communication Overview</h3>
672    
673  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
674              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 529  Intellectual Property and Copyright Stat Line 682  Intellectual Property and Copyright Stat
682              methods will be described next.              methods will be described next.
683  </p>  </p>
684  <a name="anchor5"></a><br /><hr />  <a name="anchor5"></a><br /><hr />
685  <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>
686  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;Request/response communication method</h3>  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
687    Request/response communication method</h3>
688    
689  <p>This simple communication method is based on  <p>This simple communication method is based on
690                  <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                  <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
691                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
692                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
693                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 574  Intellectual Property and Copyright Stat Line 728  Intellectual Property and Copyright Stat
728                  MUST be sent back in the same order.                  MUST be sent back in the same order.
729  </p>  </p>
730  <a name="anchor6"></a><br /><hr />  <a name="anchor6"></a><br /><hr />
731  <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>
732  <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;Result format</h3>  <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
733    Result format</h3>
734    
735  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
736  </p>  </p>
# Line 766  Intellectual Property and Copyright Stat Line 921  Intellectual Property and Copyright Stat
921                                            
922  </p>  </p>
923  <a name="anchor7"></a><br /><hr />  <a name="anchor7"></a><br /><hr />
924  <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>
925  <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;Subscribe/notify communication method</h3>  <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
926    Subscribe/notify communication method</h3>
927    
928  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
929                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 844  Intellectual Property and Copyright Stat Line 1000  Intellectual Property and Copyright Stat
1000  </p>  </p>
1001  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1002                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1003                  a list of supported events see <a class="info" href="#events">Section&nbsp;8<span> (</span><span class="info">Events</span><span>)</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>.
1004  </p>  </p>
1005  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1006                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
# Line 890  Intellectual Property and Copyright Stat Line 1046  Intellectual Property and Copyright Stat
1046                  it wants to receive.                  it wants to receive.
1047  </p>  </p>
1048  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1049  <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>
1050  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1051    Description for control commands</h3>
1052    
1053  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1054              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1055              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>              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>
1056              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              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
1057              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1058              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1059  </p>  </p>
1060  <a name="anchor8"></a><br /><hr />  <a name="anchor8"></a><br /><hr />
1061  <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>
1062  <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;Ignored lines and comments</h3>  <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1063    Ignored lines and comments</h3>
1064    
1065  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1066                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 911  Intellectual Property and Copyright Stat Line 1069  Intellectual Property and Copyright Stat
1069                  file.                  file.
1070  </p>  </p>
1071  <a name="anchor9"></a><br /><hr />  <a name="anchor9"></a><br /><hr />
1072  <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>
1073  <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;Configuring audio drivers</h3>  <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1074    Configuring audio drivers</h3>
1075    
1076  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1077                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 946  Intellectual Property and Copyright Stat Line 1105  Intellectual Property and Copyright Stat
1105                  possible values, etc.                  possible values, etc.
1106  </p>  </p>
1107  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1108  <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>
1109  <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;Getting amount of available audio output drivers</h3>  <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1110    Getting amount of available audio output drivers</h3>
1111    
1112  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1113                      audio output drivers currently available for the                      audio output drivers currently available for the
# Line 985  Intellectual Property and Copyright Stat Line 1145  Intellectual Property and Copyright Stat
1145                                            
1146  </p>  </p>
1147  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1148  <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>
1149  <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;Getting all available audio output drivers</h3>  <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1150    Getting all available audio output drivers</h3>
1151    
1152  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1153                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
# Line 1025  Intellectual Property and Copyright Stat Line 1186  Intellectual Property and Copyright Stat
1186                                            
1187  </p>  </p>
1188  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1189  <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>
1190  <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;Getting information about a specific audio  <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1191    Getting information about a specific audio
1192                  output driver</h3>                  output driver</h3>
1193    
1194  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1043  Intellectual Property and Copyright Stat Line 1205  Intellectual Property and Copyright Stat
1205  </p>  </p>
1206  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1207                      audio output driver, returned by the                      audio output driver, returned by the
1208                      <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.                      <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.
1209  </p>  </p>
1210  <p>Possible Answers:  <p>Possible Answers:
1211  </p>  </p>
# Line 1124  Intellectual Property and Copyright Stat Line 1286  Intellectual Property and Copyright Stat
1286                                            
1287  </p>  </p>
1288  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1289  <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>
1290  <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;Getting information about specific audio  <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1291    Getting information about specific audio
1292                  output driver parameter</h3>                  output driver parameter</h3>
1293    
1294  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1140  Intellectual Property and Copyright Stat Line 1303  Intellectual Property and Copyright Stat
1303                                            
1304  </p>  </p>
1305  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1306                      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,                      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,
1307                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1308                      obtained (as returned by the                      obtained (as returned by the
1309                      <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                      <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
1310                      &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
1311                      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
1312                      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 1200  Intellectual Property and Copyright Stat Line 1363  Intellectual Property and Copyright Stat
1363  <blockquote class="text">  <blockquote class="text">
1364  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1365                                  given when the device is to be created with the                                  given when the device is to be created with the
1366                                  <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>                                  <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>
1367                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1368  </p>  </p>
1369  </blockquote>  </blockquote>
# Line 1211  Intellectual Property and Copyright Stat Line 1374  Intellectual Property and Copyright Stat
1374  <blockquote class="text">  <blockquote class="text">
1375  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1376                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1377                                  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>                                  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>
1378                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1379  </p>  </p>
1380  </blockquote>  </blockquote>
# Line 1250  Intellectual Property and Copyright Stat Line 1413  Intellectual Property and Copyright Stat
1413  <blockquote class="text">  <blockquote class="text">
1414  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1415                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1416                                  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,                                  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,
1417                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1418                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1419                                  apostrophes (')                                  apostrophes (')
# Line 1378  Intellectual Property and Copyright Stat Line 1541  Intellectual Property and Copyright Stat
1541                                            
1542  </p>  </p>
1543  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1544  <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>
1545  <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;Creating an audio output device</h3>  <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1546    Creating an audio output device</h3>
1547    
1548  <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:
1549  </p>  </p>
# Line 1393  Intellectual Property and Copyright Stat Line 1557  Intellectual Property and Copyright Stat
1557  </p>  </p>
1558  <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
1559                      output system as returned by the                      output system as returned by the
1560                      <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>                      <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>
1561                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1562                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1563                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1462  Intellectual Property and Copyright Stat Line 1626  Intellectual Property and Copyright Stat
1626                                            
1627  </p>  </p>
1628  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1629  <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>
1630  <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;Destroying an audio output device</h3>  <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1631    Destroying an audio output device</h3>
1632    
1633  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1634  </p>  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1642  Intellectual Property and Copyright Stat
1642  </p>  </p>
1643  <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
1644                      audio output device as given by the                      audio output device as given by the
1645                      <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>                      <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>
1646                      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>                      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>
1647                      command.                      command.
1648  </p>  </p>
1649  <p>Possible Answers:  <p>Possible Answers:
# Line 1531  Intellectual Property and Copyright Stat Line 1696  Intellectual Property and Copyright Stat
1696                                            
1697  </p>  </p>
1698  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1699  <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>
1700  <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;Getting all created audio output device count</h3>  <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1701    Getting all created audio output device count</h3>
1702    
1703  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1704  </p>  </p>
# Line 1568  Intellectual Property and Copyright Stat Line 1734  Intellectual Property and Copyright Stat
1734                                            
1735  </p>  </p>
1736  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1737  <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>
1738  <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;Getting all created audio output device list</h3>  <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1739    Getting all created audio output device list</h3>
1740    
1741  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1742  </p>  </p>
# Line 1605  Intellectual Property and Copyright Stat Line 1772  Intellectual Property and Copyright Stat
1772                                            
1773  </p>  </p>
1774  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1775  <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>
1776  <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;Getting current settings of an audio output device</h3>  <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1777    Getting current settings of an audio output device</h3>
1778    
1779  <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:
1780  </p>  </p>
# Line 1620  Intellectual Property and Copyright Stat Line 1788  Intellectual Property and Copyright Stat
1788  </p>  </p>
1789  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1790                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1791                      <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.                      <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.
1792  </p>  </p>
1793  <p>Possible Answers:  <p>Possible Answers:
1794  </p>  </p>
# Line 1640  Intellectual Property and Copyright Stat Line 1808  Intellectual Property and Copyright Stat
1808  <blockquote class="text">  <blockquote class="text">
1809  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1810                                      returned by the                                      returned by the
1811                                      <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>                                      <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>
1812                                      command                                      command
1813  </p>  </p>
1814  </blockquote>  </blockquote>
# Line 1681  Intellectual Property and Copyright Stat Line 1849  Intellectual Property and Copyright Stat
1849                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1850                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1851                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1852                      <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>)                      <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>)
1853                      which are also returned by this command.                      which are also returned by this command.
1854  </p>  </p>
1855  <p>Example:  <p>Example:
# Line 1711  Intellectual Property and Copyright Stat Line 1879  Intellectual Property and Copyright Stat
1879                                            
1880  </p>  </p>
1881  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1882  <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>
1883  <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;Changing settings of audio output devices</h3>  <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1884    Changing settings of audio output devices</h3>
1885    
1886  <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:
1887  </p>  </p>
# Line 1726  Intellectual Property and Copyright Stat Line 1895  Intellectual Property and Copyright Stat
1895  </p>  </p>
1896  <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
1897                      audio output device as given by the                      audio output device as given by the
1898                      <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>                      <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>
1899                      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>                      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>
1900                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1901                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1902  </p>  </p>
# Line 1779  Intellectual Property and Copyright Stat Line 1948  Intellectual Property and Copyright Stat
1948                                            
1949  </p>  </p>
1950  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1951  <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>
1952  <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;Getting information about an audio channel</h3>  <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
1953    Getting information about an audio channel</h3>
1954    
1955  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1956  </p>  </p>
# Line 1793  Intellectual Property and Copyright Stat Line 1963  Intellectual Property and Copyright Stat
1963                                            
1964  </p>  </p>
1965  <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
1966                      <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>                      <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>
1967                      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>                      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>
1968                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
1969  </p>  </p>
1970  <p>Possible Answers:  <p>Possible Answers:
# Line 1921  Intellectual Property and Copyright Stat Line 2091  Intellectual Property and Copyright Stat
2091                                            
2092  </p>  </p>
2093  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2094  <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>
2095  <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;Getting information about specific audio channel parameter</h3>  <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2096    Getting information about specific audio channel parameter</h3>
2097    
2098  <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:
2099  </p>  </p>
# Line 1935  Intellectual Property and Copyright Stat Line 2106  Intellectual Property and Copyright Stat
2106                                            
2107  </p>  </p>
2108  <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
2109                      <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>                      <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>
2110                      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>                      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>
2111                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2112                      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
2113                      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).                      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).
2114  </p>  </p>
2115  <p>Possible Answers:  <p>Possible Answers:
2116  </p>  </p>
# Line 2067  Intellectual Property and Copyright Stat Line 2238  Intellectual Property and Copyright Stat
2238                                            
2239  </p>  </p>
2240  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2241  <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>
2242  <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;Changing settings of audio output channels</h3>  <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2243    Changing settings of audio output channels</h3>
2244    
2245  <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:
2246  </p>  </p>
# Line 2081  Intellectual Property and Copyright Stat Line 2253  Intellectual Property and Copyright Stat
2253                                            
2254  </p>  </p>
2255  <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
2256                      <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>                      <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>
2257                      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>                      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>
2258                      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
2259                      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.
2260  </p>  </p>
# Line 2144  Intellectual Property and Copyright Stat Line 2316  Intellectual Property and Copyright Stat
2316                                            
2317  </p>  </p>
2318  <a name="anchor10"></a><br /><hr />  <a name="anchor10"></a><br /><hr />
2319  <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>
2320  <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;Configuring MIDI input drivers</h3>  <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2321    Configuring MIDI input drivers</h3>
2322    
2323  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2324                  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 2174  Intellectual Property and Copyright Stat Line 2347  Intellectual Property and Copyright Stat
2347                  possible values, etc.                  possible values, etc.
2348  </p>  </p>
2349  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2350  <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>
2351  <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;Getting amount of available MIDI input drivers</h3>  <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2352    Getting amount of available MIDI input drivers</h3>
2353    
2354  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2355                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
# Line 2213  Intellectual Property and Copyright Stat Line 2387  Intellectual Property and Copyright Stat
2387                                            
2388  </p>  </p>
2389  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2390  <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>
2391  <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;Getting all available MIDI input drivers</h3>  <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2392    Getting all available MIDI input drivers</h3>
2393    
2394  <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
2395                      for the LinuxSampler instance:                      for the LinuxSampler instance:
# Line 2251  Intellectual Property and Copyright Stat Line 2426  Intellectual Property and Copyright Stat
2426                                            
2427  </p>  </p>
2428  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2429  <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>
2430  <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;Getting information about a specific MIDI input driver</h3>  <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2431    Getting information about a specific MIDI input driver</h3>
2432    
2433  <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:
2434  </p>  </p>
# Line 2265  Intellectual Property and Copyright Stat Line 2441  Intellectual Property and Copyright Stat
2441                                            
2442  </p>  </p>
2443  <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
2444                      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.                      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.
2445  </p>  </p>
2446  <p>Possible Answers:  <p>Possible Answers:
2447  </p>  </p>
# Line 2332  Intellectual Property and Copyright Stat Line 2508  Intellectual Property and Copyright Stat
2508                                            
2509  </p>  </p>
2510  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2511  <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>
2512  <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;Getting information about specific MIDI input driver parameter</h3>  <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2513    Getting information about specific MIDI input driver parameter</h3>
2514    
2515  <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:
2516  </p>  </p>
# Line 2346  Intellectual Property and Copyright Stat Line 2523  Intellectual Property and Copyright Stat
2523                                            
2524  </p>  </p>
2525  <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
2526                      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                      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
2527                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2528                      <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                      <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
2529                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2530                      &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 ...",
2531                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2395  Intellectual Property and Copyright Stat Line 2572  Intellectual Property and Copyright Stat
2572  <blockquote class="text">  <blockquote class="text">
2573  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2574                                  given when the device is to be created with the                                  given when the device is to be created with the
2575                                  <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                                  <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
2576                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2577  </p>  </p>
2578  </blockquote>  </blockquote>
# Line 2406  Intellectual Property and Copyright Stat Line 2583  Intellectual Property and Copyright Stat
2583  <blockquote class="text">  <blockquote class="text">
2584  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2585                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2586                                  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                                  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
2587                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2588  </p>  </p>
2589  </blockquote>  </blockquote>
# Line 2445  Intellectual Property and Copyright Stat Line 2622  Intellectual Property and Copyright Stat
2622  <blockquote class="text">  <blockquote class="text">
2623  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2624                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2625                                  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,                                  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,
2626                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2627                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2628                                  apostrophes (')                                  apostrophes (')
# Line 2519  Intellectual Property and Copyright Stat Line 2696  Intellectual Property and Copyright Stat
2696                                            
2697  </p>  </p>
2698  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2699  <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>
2700  <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;Creating a MIDI input device</h3>  <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2701    Creating a MIDI input device</h3>
2702    
2703  <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:
2704  </p>  </p>
# Line 2533  Intellectual Property and Copyright Stat Line 2711  Intellectual Property and Copyright Stat
2711                                            
2712  </p>  </p>
2713  <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
2714                      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                      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
2715                      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
2716                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2717                      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 2589  Intellectual Property and Copyright Stat Line 2767  Intellectual Property and Copyright Stat
2767                                            
2768  </p>  </p>
2769  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2770  <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>
2771  <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;Destroying a MIDI input device</h3>  <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2772    Destroying a MIDI input device</h3>
2773    
2774  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2775  </p>  </p>
# Line 2603  Intellectual Property and Copyright Stat Line 2782  Intellectual Property and Copyright Stat
2782                                            
2783  </p>  </p>
2784  <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
2785                      <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>                      <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>
2786                      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>                      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>
2787                      command.                      command.
2788  </p>  </p>
2789  <p>Possible Answers:  <p>Possible Answers:
# Line 2654  Intellectual Property and Copyright Stat Line 2833  Intellectual Property and Copyright Stat
2833                                            
2834  </p>  </p>
2835  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2836  <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>
2837  <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;Getting all created MIDI input device count</h3>  <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2838    Getting all created MIDI input device count</h3>
2839    
2840  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2841  </p>  </p>
# Line 2691  Intellectual Property and Copyright Stat Line 2871  Intellectual Property and Copyright Stat
2871                                            
2872  </p>  </p>
2873  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2874  <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>
2875  <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;Getting all created MIDI input device list</h3>  <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2876    Getting all created MIDI input device list</h3>
2877    
2878  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2879  </p>  </p>
# Line 2738  Intellectual Property and Copyright Stat Line 2919  Intellectual Property and Copyright Stat
2919                                            
2920  </p>  </p>
2921  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2922  <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>
2923  <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;Getting current settings of a MIDI input device</h3>  <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2924    Getting current settings of a MIDI input device</h3>
2925    
2926  <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:
2927  </p>  </p>
# Line 2752  Intellectual Property and Copyright Stat Line 2934  Intellectual Property and Copyright Stat
2934                                            
2935  </p>  </p>
2936  <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
2937                      <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>                      <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>
2938                      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>                      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>
2939                      command.                      command.
2940  </p>  </p>
2941  <p>Possible Answers:  <p>Possible Answers:
# Line 2776  Intellectual Property and Copyright Stat Line 2958  Intellectual Property and Copyright Stat
2958                                          </p>                                          </p>
2959  <blockquote class="text">  <blockquote class="text">
2960  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2961                                              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>                                              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>
2962                                              command                                              command
2963  </p>  </p>
2964  </blockquote>  </blockquote>
# Line 2806  Intellectual Property and Copyright Stat Line 2988  Intellectual Property and Copyright Stat
2988                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2989                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
2990                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
2991                      <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                      <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
2992                      by this command.                      by this command.
2993  </p>  </p>
2994  <p>Example:  <p>Example:
# Line 2826  Intellectual Property and Copyright Stat Line 3008  Intellectual Property and Copyright Stat
3008                                            
3009  </p>  </p>
3010  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3011  <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>
3012  <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;Changing settings of MIDI input devices</h3>  <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3013    Changing settings of MIDI input devices</h3>
3014    
3015  <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:
3016  </p>  </p>
# Line 2841  Intellectual Property and Copyright Stat Line 3024  Intellectual Property and Copyright Stat
3024  </p>  </p>
3025  <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
3026                      MIDI input device as returned by the                      MIDI input device as returned by the
3027                      <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>                      <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>
3028                      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>                      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>
3029                      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
3030                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3031  </p>  </p>
# Line 2893  Intellectual Property and Copyright Stat Line 3076  Intellectual Property and Copyright Stat
3076                                            
3077  </p>  </p>
3078  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3079  <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>
3080  <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;Getting information about a MIDI port</h3>  <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3081    Getting information about a MIDI port</h3>
3082    
3083  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3084  </p>  </p>
# Line 2907  Intellectual Property and Copyright Stat Line 3091  Intellectual Property and Copyright Stat
3091                                            
3092  </p>  </p>
3093  <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
3094                      <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>                      <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>
3095                      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>                      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>
3096                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3097  </p>  </p>
3098  <p>Possible Answers:  <p>Possible Answers:
# Line 2955  Intellectual Property and Copyright Stat Line 3139  Intellectual Property and Copyright Stat
3139                                            
3140  </p>  </p>
3141  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3142  <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>
3143  <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;Getting information about specific MIDI port parameter</h3>  <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3144    Getting information about specific MIDI port parameter</h3>
3145    
3146  <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:
3147  </p>  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3154  Intellectual Property and Copyright Stat
3154                                            
3155  </p>  </p>
3156  <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
3157                      <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>                      <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>
3158                      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>                      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>
3159                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3160                      &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
3161                      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).                      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).
3162  </p>  </p>
3163  <p>Possible Answers:  <p>Possible Answers:
3164  </p>  </p>
# Line 3096  Intellectual Property and Copyright Stat Line 3281  Intellectual Property and Copyright Stat
3281                                            
3282  </p>  </p>
3283  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3284  <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>
3285  <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;Changing settings of MIDI input ports</h3>  <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3286    Changing settings of MIDI input ports</h3>
3287    
3288  <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:
3289  </p>  </p>
# Line 3111  Intellectual Property and Copyright Stat Line 3297  Intellectual Property and Copyright Stat
3297  </p>  </p>
3298  <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
3299                      MIDI device as returned by the                      MIDI device as returned by the
3300                      <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>                      <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>
3301                      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>                      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>
3302                      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
3303                      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
3304                      parameter.                      parameter.
# Line 3162  Intellectual Property and Copyright Stat Line 3348  Intellectual Property and Copyright Stat
3348                                            
3349  </p>  </p>
3350  <a name="anchor11"></a><br /><hr />  <a name="anchor11"></a><br /><hr />
3351  <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>
3352  <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;Configuring sampler channels</h3>  <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3353    Configuring sampler channels</h3>
3354    
3355  <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
3356                  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
3357                  MIDI and audio devices.                  MIDI and audio devices.
3358  </p>  </p>
3359  <a name="LOAD INSTRUMENT"></a><br /><hr />  <a name="LOAD INSTRUMENT"></a><br /><hr />
3360  <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>
3361  <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;Loading an instrument</h3>  <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3362    Loading an instrument</h3>
3363    
3364  <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:
3365  </p>  </p>
# Line 3189  Intellectual Property and Copyright Stat Line 3377  Intellectual Property and Copyright Stat
3377                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3378                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3379  </p>  </p>
3380    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3381                        escape characters for special characters (see chapter
3382                        "<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>"
3383                        for details) and accordingly backslash characters in the filename
3384                        MUST now be escaped as well!
3385    </p>
3386  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3387                      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
3388                      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
3389                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3390                      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>                      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>
3391                      command can be used to obtain loading                      command can be used to obtain loading
3392                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3393                      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 3247  Intellectual Property and Copyright Stat Line 3441  Intellectual Property and Copyright Stat
3441                                            
3442  </p>  </p>
3443  <a name="LOAD ENGINE"></a><br /><hr />  <a name="LOAD ENGINE"></a><br /><hr />
3444  <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>
3445  <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;Loading a sampler engine</h3>  <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3446    Loading a sampler engine</h3>
3447    
3448  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3449                      channel by the following command:                      channel by the following command:
# Line 3262  Intellectual Property and Copyright Stat Line 3457  Intellectual Property and Copyright Stat
3457                                            
3458  </p>  </p>
3459  <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
3460                      <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;                      <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;
3461                      the sampler channel as returned by the                      the sampler channel as returned by the
3462                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</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
3463                      <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                      <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
3464                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3465                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3466                      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 3321  Intellectual Property and Copyright Stat Line 3516  Intellectual Property and Copyright Stat
3516                                            
3517  </p>  </p>
3518  <a name="GET CHANNELS"></a><br /><hr />  <a name="GET CHANNELS"></a><br /><hr />
3519  <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>
3520  <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;Getting all created sampler channel count</h3>  <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3521    Getting all created sampler channel count</h3>
3522    
3523  <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
3524                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
# Line 3359  Intellectual Property and Copyright Stat Line 3555  Intellectual Property and Copyright Stat
3555                                            
3556  </p>  </p>
3557  <a name="LIST CHANNELS"></a><br /><hr />  <a name="LIST CHANNELS"></a><br /><hr />
3558  <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>
3559  <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;Getting all created sampler channel list</h3>  <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3560    Getting all created sampler channel list</h3>
3561    
3562  <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
3563                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
# Line 3398  Intellectual Property and Copyright Stat Line 3595  Intellectual Property and Copyright Stat
3595                                            
3596  </p>  </p>
3597  <a name="ADD CHANNEL"></a><br /><hr />  <a name="ADD CHANNEL"></a><br /><hr />
3598  <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>
3599  <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;Adding a new sampler channel</h3>  <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3600    Adding a new sampler channel</h3>
3601    
3602  <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
3603                      channel list by sending the following command:                      channel list by sending the following command:
# Line 3472  Intellectual Property and Copyright Stat Line 3670  Intellectual Property and Copyright Stat
3670                                            
3671  </p>  </p>
3672  <a name="REMOVE CHANNEL"></a><br /><hr />  <a name="REMOVE CHANNEL"></a><br /><hr />
3673  <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>
3674  <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;Removing a sampler channel</h3>  <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3675    Removing a sampler channel</h3>
3676    
3677  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3678  </p>  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 3686  Intellectual Property and Copyright Stat
3686  </p>  </p>
3687  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3688                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3689                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3690                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</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>
3691                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3692                      remain the same.                      remain the same.
3693  </p>  </p>
# Line 3538  Intellectual Property and Copyright Stat Line 3737  Intellectual Property and Copyright Stat
3737                                            
3738  </p>  </p>
3739  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3740  <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>
3741  <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;Getting amount of available engines</h3>  <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3742    Getting amount of available engines</h3>
3743    
3744  <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:
3745  </p>  </p>
# Line 3574  Intellectual Property and Copyright Stat Line 3774  Intellectual Property and Copyright Stat
3774                                            
3775  </p>  </p>
3776  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3777  <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>
3778  <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;Getting all available engines</h3>  <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3779    Getting all available engines</h3>
3780    
3781  <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:
3782  </p>  </p>
# Line 3613  Intellectual Property and Copyright Stat Line 3814  Intellectual Property and Copyright Stat
3814                                            
3815  </p>  </p>
3816  <a name="GET ENGINE INFO"></a><br /><hr />  <a name="GET ENGINE INFO"></a><br /><hr />
3817  <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>
3818  <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;Getting information about an engine</h3>  <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3819    Getting information about an engine</h3>
3820    
3821  <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
3822                      sending the following command:                      sending the following command:
# Line 3628  Intellectual Property and Copyright Stat Line 3830  Intellectual Property and Copyright Stat
3830                                            
3831  </p>  </p>
3832  <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
3833                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</span><span class="info">Getting all available engines</span><span>)</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.
3834  </p>  </p>
3835  <p>Possible Answers:  <p>Possible Answers:
3836  </p>  </p>
# Line 3685  Intellectual Property and Copyright Stat Line 3887  Intellectual Property and Copyright Stat
3887                                            
3888  </p>  </p>
3889  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3890  <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>
3891  <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;Getting sampler channel information</h3>  <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3892    Getting sampler channel information</h3>
3893    
3894  <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
3895                      by sending the following command:                      by sending the following command:
# Line 3700  Intellectual Property and Copyright Stat Line 3903  Intellectual Property and Copyright Stat
3903                                            
3904  </p>  </p>
3905  <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
3906                      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>                      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>
3907                      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.                      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.
3908  </p>  </p>
3909  <p>Possible Answers:  <p>Possible Answers:
3910  </p>  </p>
# Line 3829  Intellectual Property and Copyright Stat Line 4032  Intellectual Property and Copyright Stat
4032                                          </p>                                          </p>
4033  <blockquote class="text">  <blockquote class="text">
4034  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4035                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4036                                              1.0 means amplification)                                              1.0 means amplification)
4037  </p>  </p>
4038  </blockquote>  </blockquote>
# Line 3856  Intellectual Property and Copyright Stat Line 4059  Intellectual Property and Copyright Stat
4059  </blockquote>  </blockquote>
4060                                                                            
4061    
4062    <p>MIDI_INSTRUMENT_MAP -
4063                                            </p>
4064    <blockquote class="text">
4065    <p>Determines to which MIDI instrument map this sampler
4066                                                channel is assigned to. Read chapter
4067                                                <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>
4068                                                for a list of possible values.
4069    </p>
4070    </blockquote>
4071                                        
4072    
4073  </blockquote>  </blockquote>
4074                                                            
4075    
# Line 3895  Intellectual Property and Copyright Stat Line 4109  Intellectual Property and Copyright Stat
4109  </p>  </p>
4110  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4111  </p>  </p>
4112    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4113    </p>
4114    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4115    </p>
4116    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4117    </p>
4118    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4119    </p>
4120  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4121  </p>  </p>
4122  </blockquote><p>  </blockquote><p>
4123                                            
4124  </p>  </p>
4125  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4126  <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>
4127  <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;Current number of active voices</h3>  <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4128    Current number of active voices</h3>
4129    
4130  <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
4131                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3916  Intellectual Property and Copyright Stat Line 4139  Intellectual Property and Copyright Stat
4139                                            
4140  </p>  </p>
4141  <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
4142                      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>                      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>
4143                      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.                      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.
4144  </p>  </p>
4145  <p>Possible Answers:  <p>Possible Answers:
4146  </p>  </p>
# Line 3941  Intellectual Property and Copyright Stat Line 4164  Intellectual Property and Copyright Stat
4164                                            
4165  </p>  </p>
4166  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4167  <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>
4168  <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;Current number of active disk streams</h3>  <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4169    Current number of active disk streams</h3>
4170    
4171  <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
4172                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 3956  Intellectual Property and Copyright Stat Line 4180  Intellectual Property and Copyright Stat
4180                                            
4181  </p>  </p>
4182  <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
4183                      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>                      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>
4184                      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.                      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.
4185  </p>  </p>
4186  <p>Possible Answers:  <p>Possible Answers:
4187  </p>  </p>
# Line 3983  Intellectual Property and Copyright Stat Line 4207  Intellectual Property and Copyright Stat
4207                                            
4208  </p>  </p>
4209  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4210  <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>
4211  <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;Current fill state of disk stream buffers</h3>  <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4212    Current fill state of disk stream buffers</h3>
4213    
4214  <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
4215                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 4009  Intellectual Property and Copyright Stat Line 4234  Intellectual Property and Copyright Stat
4234  </p>  </p>
4235  <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
4236                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4237                      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>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4238                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4239  </p>  </p>
4240  <p>Possible Answers:  <p>Possible Answers:
4241  </p>  </p>
# Line 4060  Intellectual Property and Copyright Stat Line 4285  Intellectual Property and Copyright Stat
4285                                            
4286  </p>  </p>
4287  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4288  <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>
4289  <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;Setting audio output device</h3>  <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4290    Setting audio output device</h3>
4291    
4292  <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
4293                      channel by sending the following command:                      channel by sending the following command:
# Line 4075  Intellectual Property and Copyright Stat Line 4301  Intellectual Property and Copyright Stat
4301                                            
4302  </p>  </p>
4303  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4304                      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>                      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>
4305                      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                      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
4306                      &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
4307                      <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>                      <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>
4308                      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>                      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>
4309                      command.                      command.
4310  </p>  </p>
4311  <p>Possible Answers:  <p>Possible Answers:
# Line 4126  Intellectual Property and Copyright Stat Line 4352  Intellectual Property and Copyright Stat
4352  </blockquote><p>  </blockquote><p>
4353                                            
4354  </p>  </p>
4355  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4356  <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>
4357  <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;Setting audio output type</h3>  <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4358    Setting audio output type</h3>
4359    
4360  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4361  </p>  </p>
# Line 4191  Intellectual Property and Copyright Stat Line 4418  Intellectual Property and Copyright Stat
4418                                            
4419  </p>  </p>
4420  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4421  <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>
4422  <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;Setting audio output channel</h3>  <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4423    Setting audio output channel</h3>
4424    
4425  <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
4426                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4206  Intellectual Property and Copyright Stat Line 4434  Intellectual Property and Copyright Stat
4434                                            
4435  </p>  </p>
4436  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4437                      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>                      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>
4438                      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                      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
4439                      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
4440                      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
4441                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
# Line 4257  Intellectual Property and Copyright Stat Line 4485  Intellectual Property and Copyright Stat
4485                                            
4486  </p>  </p>
4487  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4488  <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>
4489  <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;Setting MIDI input device</h3>  <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4490    Setting MIDI input device</h3>
4491    
4492  <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
4493                      channel by sending the following command:                      channel by sending the following command:
# Line 4272  Intellectual Property and Copyright Stat Line 4501  Intellectual Property and Copyright Stat
4501                                            
4502  </p>  </p>
4503  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4504                      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>                      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>
4505                      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                      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
4506                      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
4507                      <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>                      <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>
4508                      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.                      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.
4509  </p>  </p>
4510  <p>Possible Answers:  <p>Possible Answers:
4511  </p>  </p>
# Line 4323  Intellectual Property and Copyright Stat Line 4552  Intellectual Property and Copyright Stat
4552                                            
4553  </p>  </p>
4554  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4555  <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>
4556  <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;Setting MIDI input type</h3>  <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4557    Setting MIDI input type</h3>
4558    
4559  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4560  </p>  </p>
# Line 4387  Intellectual Property and Copyright Stat Line 4617  Intellectual Property and Copyright Stat
4617                                            
4618  </p>  </p>
4619  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4620  <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>
4621  <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;Setting MIDI input port</h3>  <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4622    Setting MIDI input port</h3>
4623    
4624  <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
4625                      channel by sending the following command:                      channel by sending the following command:
# Line 4450  Intellectual Property and Copyright Stat Line 4681  Intellectual Property and Copyright Stat
4681                                            
4682  </p>  </p>
4683  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4684  <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>
4685  <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;Setting MIDI input channel</h3>  <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4686    Setting MIDI input channel</h3>
4687    
4688  <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
4689                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4513  Intellectual Property and Copyright Stat Line 4745  Intellectual Property and Copyright Stat
4745                                            
4746  </p>  </p>
4747  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4748  <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>
4749  <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;Setting channel volume</h3>  <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4750    Setting channel volume</h3>
4751    
4752  <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
4753                      the following command:                      the following command:
# Line 4577  Intellectual Property and Copyright Stat Line 4810  Intellectual Property and Copyright Stat
4810                                            
4811  </p>  </p>
4812  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4813  <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>
4814  <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;Muting a sampler channel</h3>  <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4815    Muting a sampler channel</h3>
4816    
4817  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4818                      channel by sending the following command:                      channel by sending the following command:
# Line 4592  Intellectual Property and Copyright Stat Line 4826  Intellectual Property and Copyright Stat
4826                                            
4827  </p>  </p>
4828  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4829                      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>                      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>
4830                      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                      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
4831                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4832                      to unmute the channel.                      to unmute the channel.
4833  </p>  </p>
# Line 4642  Intellectual Property and Copyright Stat Line 4876  Intellectual Property and Copyright Stat
4876                                            
4877  </p>  </p>
4878  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4879  <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>
4880  <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;Soloing a sampler channel</h3>  <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4881    Soloing a sampler channel</h3>
4882    
4883  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4884                      by sending the following command:                      by sending the following command:
# Line 4657  Intellectual Property and Copyright Stat Line 4892  Intellectual Property and Copyright Stat
4892                                            
4893  </p>  </p>
4894  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4895                      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>                      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>
4896                      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                      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
4897                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4898                      to unsolo the channel.                      to unsolo the channel.
4899  </p>  </p>
# Line 4706  Intellectual Property and Copyright Stat Line 4941  Intellectual Property and Copyright Stat
4941  </blockquote><p>  </blockquote><p>
4942                                            
4943  </p>  </p>
4944    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4945    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4946    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4947    Assigning a MIDI instrument map to a sampler channel</h3>
4948    
4949    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
4950                        by sending the following command:
4951    </p>
4952    <p>
4953                            </p>
4954    <blockquote class="text">
4955    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
4956    </p>
4957    </blockquote><p>
4958                        
4959    </p>
4960    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4961                        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>
4962                        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
4963                        &lt;map&gt; can have the following possibilites:
4964    </p>
4965    <p>
4966                            </p>
4967    <blockquote class="text">
4968    <p>"NONE" -
4969                                    </p>
4970    <blockquote class="text">
4971    <p>This is the default setting. In this case
4972                                        the sampler channel is not assigned any MIDI
4973                                        instrument map and thus will ignore all MIDI
4974                                        program change messages.
4975    </p>
4976    </blockquote>
4977                                
4978    
4979    <p>"DEFAULT" -
4980                                    </p>
4981    <blockquote class="text">
4982    <p>The sampler channel will always use the
4983                                        default MIDI instrument map to handle MIDI
4984                                        program change messages.
4985    </p>
4986    </blockquote>
4987                                
4988    
4989    <p>numeric ID -
4990                                    </p>
4991    <blockquote class="text">
4992    <p>You can assign a specific MIDI instrument map
4993                                        by replacing &lt;map&gt; with the respective numeric
4994                                        ID of the MIDI instrument map as returned by the
4995                                        <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>
4996                                        command. Once that map will be deleted, the sampler
4997                                        channel would fall back to "NONE".
4998    </p>
4999    </blockquote>
5000                                
5001    
5002    </blockquote><p>
5003                        
5004    </p>
5005    <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>
5006                        for details regarding MIDI instrument mapping.
5007    </p>
5008    <p>Possible Answers:
5009    </p>
5010    <p>
5011                            </p>
5012    <blockquote class="text">
5013    <p>"OK" -
5014                                    </p>
5015    <blockquote class="text">
5016    <p>on success
5017    </p>
5018    </blockquote>
5019                                
5020    
5021    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5022                                    </p>
5023    <blockquote class="text">
5024    <p>in case it failed, providing an appropriate error code and error message
5025    </p>
5026    </blockquote>
5027                                
5028    
5029    </blockquote><p>
5030                        
5031    </p>
5032    <p>Examples:
5033    </p>
5034    <p>
5035                            </p>
5036    <blockquote class="text">
5037    <p>
5038    </p>
5039    </blockquote><p>
5040                        
5041    </p>
5042    <a name="CREATE FX_SEND"></a><br /><hr />
5043    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5044    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5045    Adding an effect send to a sampler channel</h3>
5046    
5047    <p>The front-end can create an additional effect send on a specific sampler channel
5048                        by sending the following command:
5049    </p>
5050    <p>
5051                            </p>
5052    <blockquote class="text">
5053    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5054    </p>
5055    </blockquote><p>
5056                        
5057    </p>
5058    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5059                        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>
5060                        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
5061                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5062                        is a number between 0..127 defining the MIDI controller which can alter the
5063                        effect send level and &lt;name&gt; is an optional argument defining a name
5064                        for the effect send entity. The name does not have to be unique.
5065    </p>
5066    <p>By default, that is as initial routing, the effect send's audio channels
5067                        are automatically routed to the last audio channels of the sampler channel's
5068                        audio output device, that way you can i.e. first increase the amount of audio
5069                        channels on the audio output device for having dedicated effect send output
5070                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5071                        be picked. You can alter the destination channels however with
5072                        <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>.
5073                        
5074    </p>
5075    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5076                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5077                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5078                        the voices and route the audio signal afterwards to the master outputs and effect send
5079                        outputs (along with their respective effect send levels). A sampler channel without effect
5080                        sends however can mix its voices directly into the audio output devices's audio buffers
5081                        and is thus faster.
5082                        
5083    </p>
5084    <p>Possible Answers:
5085    </p>
5086    <p>
5087                            </p>
5088    <blockquote class="text">
5089    <p>"OK[&lt;fx-send-id&gt;]" -
5090                                    </p>
5091    <blockquote class="text">
5092    <p>in case a new effect send could be added to the
5093                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5094                                        unique ID of the newly created effect send entity
5095    </p>
5096    </blockquote>
5097                                
5098    
5099    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5100                                    </p>
5101    <blockquote class="text">
5102    <p>when a new effect send could not be added, i.e.
5103                                        due to invalid parameters
5104    </p>
5105    </blockquote>
5106                                
5107    
5108    </blockquote><p>
5109                        
5110    </p>
5111    <p>Examples:
5112    </p>
5113    <p>
5114                            </p>
5115    <blockquote class="text">
5116    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5117    </p>
5118    <p>S: "OK[0]"
5119    </p>
5120    </blockquote><p>
5121                        
5122    </p>
5123    <p>
5124                            </p>
5125    <blockquote class="text">
5126    <p>C: "CREATE FX_SEND 0 93"
5127    </p>
5128    <p>S: "OK[1]"
5129    </p>
5130    </blockquote><p>
5131                        
5132    </p>
5133    <a name="DESTROY FX_SEND"></a><br /><hr />
5134    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5135    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5136    Removing an effect send from a sampler channel</h3>
5137    
5138    <p>The front-end can remove an existing effect send on a specific sampler channel
5139                        by sending the following command:
5140    </p>
5141    <p>
5142                            </p>
5143    <blockquote class="text">
5144    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5145    </p>
5146    </blockquote><p>
5147                        
5148    </p>
5149    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5150                        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>
5151                        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
5152                        sampler channel from which the effect send should be removed from and
5153                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5154                        <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>
5155                        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.
5156    </p>
5157    <p>Possible Answers:
5158    </p>
5159    <p>
5160                            </p>
5161    <blockquote class="text">
5162    <p>"OK" -
5163                                    </p>
5164    <blockquote class="text">
5165    <p>on success
5166    </p>
5167    </blockquote>
5168                                
5169    
5170    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5171                                    </p>
5172    <blockquote class="text">
5173    <p>in case it failed, providing an appropriate error code and
5174                                        error message
5175    </p>
5176    </blockquote>
5177                                
5178    
5179    </blockquote><p>
5180                        
5181    </p>
5182    <p>Example:
5183    </p>
5184    <p>
5185                            </p>
5186    <blockquote class="text">
5187    <p>C: "DESTROY FX_SEND 0 0"
5188    </p>
5189    <p>S: "OK"
5190    </p>
5191    </blockquote><p>
5192                        
5193    </p>
5194    <a name="GET FX_SENDS"></a><br /><hr />
5195    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5196    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5197    Getting amount of effect sends on a sampler channel</h3>
5198    
5199    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5200                        by sending the following command:
5201    </p>
5202    <p>
5203                            </p>
5204    <blockquote class="text">
5205    <p>GET FX_SENDS &lt;sampler-channel&gt;
5206    </p>
5207    </blockquote><p>
5208                        
5209    </p>
5210    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5211                        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>
5212                        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.
5213    </p>
5214    <p>Possible Answers:
5215    </p>
5216    <p>
5217                            </p>
5218    <blockquote class="text">
5219    <p>The sampler will answer by returning the number of effect
5220                                sends on the given sampler channel.
5221    </p>
5222    </blockquote><p>
5223                        
5224    </p>
5225    <p>Example:
5226    </p>
5227    <p>
5228                            </p>
5229    <blockquote class="text">
5230    <p>C: "GET FX_SENDS 0"
5231    </p>
5232    <p>S: "2"
5233    </p>
5234    </blockquote><p>
5235                        
5236    </p>
5237    <a name="LIST FX_SENDS"></a><br /><hr />
5238    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5239    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5240    Listing all effect sends on a sampler channel</h3>
5241    
5242    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5243                        by sending the following command:
5244    </p>
5245    <p>
5246                            </p>
5247    <blockquote class="text">
5248    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5249    </p>
5250    </blockquote><p>
5251                        
5252    </p>
5253    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5254                        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>
5255                        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.
5256    </p>
5257    <p>Possible Answers:
5258    </p>
5259    <p>
5260                            </p>
5261    <blockquote class="text">
5262    <p>The sampler will answer by returning a comma separated list
5263                                with all effect sends' numerical IDs on the given sampler
5264                                channel.
5265    </p>
5266    </blockquote><p>
5267                        
5268    </p>
5269    <p>Examples:
5270    </p>
5271    <p>
5272                            </p>
5273    <blockquote class="text">
5274    <p>C: "LIST FX_SENDS 0"
5275    </p>
5276    <p>S: "0,1"
5277    </p>
5278    </blockquote><p>
5279                        
5280    </p>
5281    <p>
5282                            </p>
5283    <blockquote class="text">
5284    <p>C: "LIST FX_SENDS 1"
5285    </p>
5286    <p>S: ""
5287    </p>
5288    </blockquote><p>
5289                        
5290    </p>
5291    <a name="GET FX_SEND INFO"></a><br /><hr />
5292    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5293    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5294    Getting effect send information</h3>
5295    
5296    <p>The front-end can ask for the current settings of an effect send entity
5297                        by sending the following command:
5298    </p>
5299    <p>
5300                            </p>
5301    <blockquote class="text">
5302    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5303    </p>
5304    </blockquote><p>
5305                        
5306    </p>
5307    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5308                        as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5309                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
5310                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5311                        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>
5312                        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.
5313                      
5314    </p>
5315    <p>Possible Answers:
5316    </p>
5317    <p>
5318                            </p>
5319    <blockquote class="text">
5320    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5321                                Each answer line begins with the settings category name
5322                                followed by a colon and then a space character &lt;SP&gt; and finally
5323                                the info character string to that setting category. At the
5324                                moment the following categories are defined:
5325    </p>
5326    <p>
5327                                    </p>
5328    <blockquote class="text">
5329    <p>NAME -
5330                                            </p>
5331    <blockquote class="text">
5332    <p>name of the effect send entity
5333    </p>
5334    </blockquote>
5335                                        
5336    
5337    <p>MIDI_CONTROLLER -
5338                                            </p>
5339    <blockquote class="text">
5340    <p>a value between 0 and 127 reflecting the MIDI controller
5341                                                which is able to modify the effect send's send level
5342    </p>
5343    </blockquote>
5344                                        
5345    
5346    <p>LEVEL -
5347                                            </p>
5348    <blockquote class="text">
5349    <p>optionally dotted number reflecting the effect send's
5350                                                current send level (where a value &lt; 1.0 means attenuation
5351                                                and a value > 1.0 means amplification)
5352    </p>
5353    </blockquote>
5354                                        
5355    
5356    <p>AUDIO_OUTPUT_ROUTING -
5357                                            </p>
5358    <blockquote class="text">
5359    <p>comma separated list which reflects to which audio
5360                                                channel of the selected audio output device each
5361                                                effect send output channel is routed to, e.g. "0,3" would
5362                                                mean the effect send's output channel 0 is routed to channel
5363                                                0 of the audio output device and the effect send's output
5364                                                channel 1 is routed to the channel 3 of the audio
5365                                                output device (see
5366                                                <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>
5367                                                for details)
5368    </p>
5369    </blockquote>
5370                                        
5371    
5372    </blockquote>
5373                                
5374    
5375    </blockquote><p>
5376                        
5377    </p>
5378    <p>The mentioned fields above don't have to be in particular order.
5379    </p>
5380    <p>Example:
5381    </p>
5382    <p>
5383                            </p>
5384    <blockquote class="text">
5385    <p>C: "GET FX_SEND INFO 0 0"
5386    </p>
5387    <p>S: "NAME: Reverb Send"
5388    </p>
5389    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5390    </p>
5391    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5392    </p>
5393    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5394    </p>
5395    <p>&nbsp;&nbsp;&nbsp;"."
5396    </p>
5397    </blockquote><p>
5398                        
5399    </p>
5400    <a name="SET FX_SEND NAME"></a><br /><hr />
5401    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5402    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5403    Changing effect send's name</h3>
5404    
5405    <p>The front-end can alter the current name of an effect
5406                        send entity by sending the following command:
5407    </p>
5408    <p>
5409                            </p>
5410    <blockquote class="text">
5411    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5412    </p>
5413    </blockquote><p>
5414                        
5415    </p>
5416    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5417                        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>
5418                        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,
5419                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5420                        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>
5421                        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
5422                        &lt;name&gt; is the new name of the effect send entity, which
5423                        does not have to be unique.
5424    </p>
5425    <p>Possible Answers:
5426    </p>
5427    <p>
5428                            </p>
5429    <blockquote class="text">
5430    <p>"OK" -
5431                                    </p>
5432    <blockquote class="text">
5433    <p>on success
5434    </p>
5435    </blockquote>
5436                                
5437    
5438    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5439                                    </p>
5440    <blockquote class="text">
5441    <p>in case it failed, providing an appropriate error code and error message
5442    </p>
5443    </blockquote>
5444                                
5445    
5446    </blockquote><p>
5447                        
5448    </p>
5449    <p>Example:
5450    </p>
5451    <p>
5452                            </p>
5453    <blockquote class="text">
5454    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5455    </p>
5456    <p>S: "OK"
5457    </p>
5458    </blockquote><p>
5459                        
5460    </p>
5461    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5462    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5463    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5464    Altering effect send's audio routing</h3>
5465    
5466    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5467                        sampler channel by sending the following command:
5468    </p>
5469    <p>
5470                            </p>
5471    <blockquote class="text">
5472    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5473    </p>
5474    </blockquote><p>
5475                        
5476    </p>
5477    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5478                        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>
5479                        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,
5480                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5481                        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>
5482                        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,
5483                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5484                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5485                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5486                        should be routed to.
5487    </p>
5488    <p>Note that effect sends can only route audio to the same audio output
5489                        device as assigned to the effect send's sampler channel. Also note that an
5490                        effect send entity does always have exactly as much audio channels as its
5491                        sampler channel. So if the sampler channel is stereo, the effect send does
5492                        have two audio channels as well. Also keep in mind that the amount of audio
5493                        channels on a sampler channel might be dependant not only to the deployed
5494                        sampler engine on the sampler channel, but also dependant to the instrument
5495                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5496                        send into a mono one by simply altering its audio routing appropriately.
5497    </p>
5498    <p>Possible Answers:
5499    </p>
5500    <p>
5501                            </p>
5502    <blockquote class="text">
5503    <p>"OK" -
5504                                    </p>
5505    <blockquote class="text">
5506    <p>on success
5507    </p>
5508    </blockquote>
5509                                
5510    
5511    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5512                                    </p>
5513    <blockquote class="text">
5514    <p>if audio output channel was set, but there are noteworthy
5515                                        issue(s) related, providing an appropriate warning code and
5516                                        warning message
5517    </p>
5518    </blockquote>
5519                                
5520    
5521    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5522                                    </p>
5523    <blockquote class="text">
5524    <p>in case it failed, providing an appropriate error code and error message
5525    </p>
5526    </blockquote>
5527                                
5528    
5529    </blockquote><p>
5530                        
5531    </p>
5532    <p>Example:
5533    </p>
5534    <p>
5535                            </p>
5536    <blockquote class="text">
5537    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5538    </p>
5539    <p>S: "OK"
5540    </p>
5541    </blockquote><p>
5542                        
5543    </p>
5544    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5545    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5546    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5547    Altering effect send's MIDI controller</h3>
5548    
5549    <p>The front-end can alter the MIDI controller of an effect
5550                        send entity by sending the following command:
5551    </p>
5552    <p>
5553                            </p>
5554    <blockquote class="text">
5555    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5556    </p>
5557    </blockquote><p>
5558                        
5559    </p>
5560    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5561                        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>
5562                        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,
5563                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5564                        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>
5565                        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
5566                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5567                        able to modify the effect send's send level.
5568    </p>
5569    <p>Possible Answers:
5570    </p>
5571    <p>
5572                            </p>
5573    <blockquote class="text">
5574    <p>"OK" -
5575                                    </p>
5576    <blockquote class="text">
5577    <p>on success
5578    </p>
5579    </blockquote>
5580                                
5581    
5582    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5583                                    </p>
5584    <blockquote class="text">
5585    <p>if MIDI controller was set, but there are noteworthy
5586                                        issue(s) related, providing an appropriate warning code and
5587                                        warning message
5588    </p>
5589    </blockquote>
5590                                
5591    
5592    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5593                                    </p>
5594    <blockquote class="text">
5595    <p>in case it failed, providing an appropriate error code and error message
5596    </p>
5597    </blockquote>
5598                                
5599    
5600    </blockquote><p>
5601                        
5602    </p>
5603    <p>Example:
5604    </p>
5605    <p>
5606                            </p>
5607    <blockquote class="text">
5608    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5609    </p>
5610    <p>S: "OK"
5611    </p>
5612    </blockquote><p>
5613                        
5614    </p>
5615    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5616    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5617    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5618    Altering effect send's send level</h3>
5619    
5620    <p>The front-end can alter the current send level of an effect
5621                        send entity by sending the following command:
5622    </p>
5623    <p>
5624                            </p>
5625    <blockquote class="text">
5626    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5627    </p>
5628    </blockquote><p>
5629                        
5630    </p>
5631    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5632                        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>
5633                        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,
5634                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5635                        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>
5636                        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
5637                        &lt;volume&gt; is an optionally dotted positive number (a value
5638                        smaller than 1.0 means attenuation, whereas a value greater than
5639                        1.0 means amplification) reflecting the new send level.
5640    </p>
5641    <p>Possible Answers:
5642    </p>
5643    <p>
5644                            </p>
5645    <blockquote class="text">
5646    <p>"OK" -
5647                                    </p>
5648    <blockquote class="text">
5649    <p>on success
5650    </p>
5651    </blockquote>
5652                                
5653    
5654    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5655                                    </p>
5656    <blockquote class="text">
5657    <p>if new send level was set, but there are noteworthy
5658                                        issue(s) related, providing an appropriate warning code and
5659                                        warning message
5660    </p>
5661    </blockquote>
5662                                
5663    
5664    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5665                                    </p>
5666    <blockquote class="text">
5667    <p>in case it failed, providing an appropriate error code and error message
5668    </p>
5669    </blockquote>
5670                                
5671    
5672    </blockquote><p>
5673                        
5674    </p>
5675    <p>Example:
5676    </p>
5677    <p>
5678                            </p>
5679    <blockquote class="text">
5680    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5681    </p>
5682    <p>S: "OK"
5683    </p>
5684    </blockquote><p>
5685                        
5686    </p>
5687  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5688  <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>
5689  <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;Resetting a sampler channel</h3>  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5690    Resetting a sampler channel</h3>
5691    
5692  <p>The front-end can reset a particular sampler channel by sending the following command:  <p>The front-end can reset a particular sampler channel by sending the following command:
5693  </p>  </p>
# Line 4772  Intellectual Property and Copyright Stat Line 5751  Intellectual Property and Copyright Stat
5751                                            
5752  </p>  </p>
5753  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
5754  <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>
5755  <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;Controlling connection</h3>  <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
5756    Controlling connection</h3>
5757    
5758  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5759  </p>  </p>
5760  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></a><br /><hr />
5761  <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>
5762  <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;Register front-end for receiving event messages</h3>  <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
5763    Register front-end for receiving event messages</h3>
5764    
5765  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5766                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
# Line 4841  Intellectual Property and Copyright Stat Line 5822  Intellectual Property and Copyright Stat
5822                                            
5823  </p>  </p>
5824  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
5825  <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>
5826  <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;Unregister front-end for not receiving event messages</h3>  <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
5827    Unregister front-end for not receiving event messages</h3>
5828    
5829  <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
5830                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4904  Intellectual Property and Copyright Stat Line 5886  Intellectual Property and Copyright Stat
5886                                            
5887  </p>  </p>
5888  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
5889  <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>
5890  <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;Enable or disable echo of commands</h3>  <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
5891    Enable or disable echo of commands</h3>
5892    
5893  <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:
5894  </p>  </p>
# Line 4960  Intellectual Property and Copyright Stat Line 5943  Intellectual Property and Copyright Stat
5943                                            
5944  </p>  </p>
5945  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
5946  <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>
5947  <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;Close client connection</h3>  <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
5948    Close client connection</h3>
5949    
5950  <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:
5951  </p>  </p>
# Line 4977  Intellectual Property and Copyright Stat Line 5961  Intellectual Property and Copyright Stat
5961                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
5962  </p>  </p>
5963  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
5964  <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>
5965  <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;Global commands</h3>  <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
5966    Global commands</h3>
5967    
5968  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
5969  </p>  </p>
5970  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
5971  <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>
5972  <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;Current number of active voices</h3>  <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
5973    Current number of active voices</h3>
5974    
5975  <p>The front-end can ask for the current number of active voices on  <p>The front-end can ask for the current number of active voices on
5976                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5009  Intellectual Property and Copyright Stat Line 5995  Intellectual Property and Copyright Stat
5995                                            
5996  </p>  </p>
5997  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
5998  <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>
5999  <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;Maximum amount of active voices</h3>  <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6000    Maximum amount of active voices</h3>
6001    
6002  <p>The front-end can ask for the maximum number of active voices  <p>The front-end can ask for the maximum number of active voices
6003                      by sending the following command:                      by sending the following command:
# Line 5035  Intellectual Property and Copyright Stat Line 6022  Intellectual Property and Copyright Stat
6022                                            
6023  </p>  </p>
6024  <a name="RESET"></a><br /><hr />  <a name="RESET"></a><br /><hr />
6025  <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>
6026  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;Reset sampler</h3>  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6027    Reset sampler</h3>
6028    
6029  <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:
6030  </p>  </p>
# Line 5075  Intellectual Property and Copyright Stat Line 6063  Intellectual Property and Copyright Stat
6063                                            
6064  </p>  </p>
6065  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6066  <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>
6067  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;General sampler informations</h3>  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6068    General sampler informations</h3>
6069    
6070  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6071                         instance by sending the following command:                         instance by sending the following command:
# Line 5124  Intellectual Property and Copyright Stat Line 6113  Intellectual Property and Copyright Stat
6113                                          </p>                                          </p>
6114  <blockquote class="text">  <blockquote class="text">
6115  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6116                                              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)                                              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)
6117    </p>
6118    </blockquote>
6119                                        
6120    
6121    <p>INSTRUMENTS_DB_SUPPORT -
6122                                            </p>
6123    <blockquote class="text">
6124    <p>either yes or no, specifies whether the
6125                                                sampler is build with instruments database support.
6126  </p>  </p>
6127  </blockquote>  </blockquote>
6128                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6136  Intellectual Property and Copyright Stat
6136  <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.
6137                      Other fields might be added in future.                      Other fields might be added in future.
6138  </p>  </p>
6139    <a name="GET VOLUME"></a><br /><hr />
6140    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6141    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6142    Getting global volume attenuation</h3>
6143    
6144    <p>The client can ask for the current global sampler-wide volume
6145                        attenuation by sending the following command:
6146    </p>
6147    <p>
6148                            </p>
6149    <blockquote class="text">
6150    <p>GET VOLUME
6151    </p>
6152    </blockquote><p>
6153                        
6154    </p>
6155    <p>Possible Answers:
6156    </p>
6157    <p>
6158                            </p>
6159    <blockquote class="text">
6160    <p>The sampler will always answer by returning the optional
6161                                dotted floating point coefficient, reflecting the current
6162                                global volume attenuation.
6163                                
6164    </p>
6165    </blockquote><p>
6166                        
6167    </p>
6168    <p>Note: it is up to the respective sampler engine whether to obey
6169                        that global volume parameter or not, but in general all engines SHOULD
6170                        use this parameter.
6171    </p>
6172    <a name="SET VOLUME"></a><br /><hr />
6173    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6174    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6175    Setting global volume attenuation</h3>
6176    
6177    <p>The client can alter the current global sampler-wide volume
6178                        attenuation by sending the following command:
6179    </p>
6180    <p>
6181                            </p>
6182    <blockquote class="text">
6183    <p>SET VOLUME &lt;volume&gt;
6184    </p>
6185    </blockquote><p>
6186                        
6187    </p>
6188    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6189                       floating point value, reflecting the new global volume parameter.
6190                       This value might usually be in the range between 0.0 and 1.0, that
6191                       is for attenuating the overall volume.
6192    </p>
6193    <p>Possible Answers:
6194    </p>
6195    <p>
6196                            </p>
6197    <blockquote class="text">
6198    <p>"OK" -
6199                                    </p>
6200    <blockquote class="text">
6201    <p>on success
6202    </p>
6203    </blockquote>
6204                                
6205    
6206    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6207                                    </p>
6208    <blockquote class="text">
6209    <p>if the global volume was set, but there are noteworthy
6210                                        issue(s) related, providing an appropriate warning code and
6211                                        warning message
6212    </p>
6213    </blockquote>
6214                                
6215    
6216    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6217                                    </p>
6218    <blockquote class="text">
6219    <p>in case it failed, providing an appropriate error code and error message
6220    </p>
6221    </blockquote>
6222                                
6223    
6224    </blockquote><p>
6225                        
6226    </p>
6227    <a name="MIDI Instrument Mapping"></a><br /><hr />
6228    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6229    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6230    MIDI Instrument Mapping</h3>
6231    
6232    <p>The MIDI protocol provides a way to switch between instruments
6233                    by sending so called MIDI bank select and MIDI program change
6234                    messages which are essentially just numbers. The following commands
6235                    allow to actually map arbitrary MIDI bank select / program change
6236                    numbers with real instruments.
6237    </p>
6238    <p>The sampler allows to manage an arbitrary amount of MIDI
6239                    instrument maps which define which instrument to load on
6240                    which MIDI program change message.
6241    </p>
6242    <p>By default, that is when the sampler is launched, there is no
6243                    map, thus the sampler will simply ignore all program change
6244                    messages. The front-end has to explicitly create at least one
6245                    map, add entries to the map and tell the respective sampler
6246                    channel(s) which MIDI instrument map to use, so the sampler
6247                    knows how to react on a given program change message on the
6248                    respective sampler channel, that is by switching to the
6249                    respectively defined engine type and loading the respective
6250                    instrument. See command
6251                    <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>
6252                    for how to assign a MIDI instrument map to a sampler channel.
6253    </p>
6254    <p>Also note per MIDI specification a bank select message does not
6255                    cause to switch to another instrument. Instead when receiving a
6256                    bank select message the bank value will be stored and a subsequent
6257                    program change message (which may occur at any time) will finally
6258                    cause the sampler to switch to the respective instrument as
6259                    reflected by the current MIDI instrument map.
6260    </p>
6261    <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />
6262    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6263    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6264    Create a new MIDI instrument map</h3>
6265    
6266    <p>The front-end can add a new MIDI instrument map by sending
6267                        the following command:
6268    </p>
6269    <p>
6270                            </p>
6271    <blockquote class="text">
6272    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6273    </p>
6274    </blockquote><p>
6275                        
6276    </p>
6277    <p>Where &lt;name&gt; is an optional argument allowing to
6278                        assign a custom name to the new map. MIDI instrument Map
6279                        names do not have to be unique.
6280    </p>
6281    <p>Possible Answers:
6282    </p>
6283    <p>
6284                            </p>
6285    <blockquote class="text">
6286    <p>"OK[&lt;map&gt;]" -
6287                                    </p>
6288    <blockquote class="text">
6289    <p>in case a new MIDI instrument map could
6290                                        be added, where &lt;map&gt; reflects the
6291                                        unique ID of the newly created MIDI
6292                                        instrument map
6293    </p>
6294    </blockquote>
6295                                
6296    
6297    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6298                                    </p>
6299    <blockquote class="text">
6300    <p>when a new map could not be created, which
6301                                        might never occur in practice
6302    </p>
6303    </blockquote>
6304                                
6305    
6306    </blockquote><p>
6307                        
6308    </p>
6309    <p>Examples:
6310    </p>
6311    <p>
6312                            </p>
6313    <blockquote class="text">
6314    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6315    </p>
6316    <p>S: "OK[0]"
6317    </p>
6318    </blockquote><p>
6319                        
6320    </p>
6321    <p>
6322                            </p>
6323    <blockquote class="text">
6324    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6325    </p>
6326    <p>S: "OK[1]"
6327    </p>
6328    </blockquote><p>
6329                        
6330    </p>
6331    <p>
6332                            </p>
6333    <blockquote class="text">
6334    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6335    </p>
6336    <p>S: "OK[5]"
6337    </p>
6338    </blockquote><p>
6339                        
6340    </p>
6341    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6342    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6343    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6344    Delete one particular or all MIDI instrument maps</h3>
6345    
6346    <p>The front-end can delete a particular MIDI instrument map
6347                        by sending the following command:
6348    </p>
6349    <p>
6350                            </p>
6351    <blockquote class="text">
6352    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6353    </p>
6354    </blockquote><p>
6355                        
6356    </p>
6357    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6358                        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>
6359                        command.
6360    </p>
6361    <p>The front-end can delete all MIDI instrument maps by
6362                        sending the following command:
6363    </p>
6364    <p>
6365                            </p>
6366    <blockquote class="text">
6367    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6368    </p>
6369    </blockquote><p>
6370                        
6371    </p>
6372    <p>Possible Answers:
6373    </p>
6374    <p>
6375                            </p>
6376    <blockquote class="text">
6377    <p>"OK" -
6378                                    </p>
6379    <blockquote class="text">
6380    <p>in case the map(s) could be deleted
6381    </p>
6382    </blockquote>
6383                                
6384    
6385    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6386                                    </p>
6387    <blockquote class="text">
6388    <p>when the given map does not exist
6389    </p>
6390    </blockquote>
6391                                
6392    
6393    </blockquote><p>
6394                        
6395    </p>
6396    <p>Examples:
6397    </p>
6398    <p>
6399                            </p>
6400    <blockquote class="text">
6401    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6402    </p>
6403    <p>S: "OK"
6404    </p>
6405    </blockquote><p>
6406                        
6407    </p>
6408    <p>
6409                            </p>
6410    <blockquote class="text">
6411    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6412    </p>
6413    <p>S: "OK"
6414    </p>
6415    </blockquote><p>
6416                        
6417    </p>
6418    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6419    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6420    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6421    Get amount of existing MIDI instrument maps</h3>
6422    
6423    <p>The front-end can retrieve the current amount of MIDI
6424                        instrument maps by sending the following command:
6425    </p>
6426    <p>
6427                            </p>
6428    <blockquote class="text">
6429    <p>GET MIDI_INSTRUMENT_MAPS
6430    </p>
6431    </blockquote><p>
6432                        
6433    </p>
6434    <p>Possible Answers:
6435    </p>
6436    <p>
6437                            </p>
6438    <blockquote class="text">
6439    <p>The sampler will answer by returning the current
6440                                number of MIDI instrument maps.
6441    </p>
6442    </blockquote><p>
6443                        
6444    </p>
6445    <p>Example:
6446    </p>
6447    <p>
6448                            </p>
6449    <blockquote class="text">
6450    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6451    </p>
6452    <p>S: "2"
6453    </p>
6454    </blockquote><p>
6455                        
6456    </p>
6457    <a name="LIST MIDI_INSTRUMENT_MAPS"></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.7.4"></a><h3>6.7.4.&nbsp;
6460    Getting all created MIDI instrument maps</h3>
6461    
6462    <p>The number of MIDI instrument maps can change on runtime. To get the
6463                        current list of MIDI instrument maps, the front-end can send the
6464                        following command:
6465    </p>
6466    <p>
6467                            </p>
6468    <blockquote class="text">
6469    <p>LIST MIDI_INSTRUMENT_MAPS
6470    </p>
6471    </blockquote><p>
6472                        
6473    </p>
6474    <p>Possible Answers:
6475    </p>
6476    <p>
6477                            </p>
6478    <blockquote class="text">
6479    <p>The sampler will answer by returning a comma separated list
6480                                with all MIDI instrument maps' numerical IDs.
6481    </p>
6482    </blockquote><p>
6483                        
6484    </p>
6485    <p>Example:
6486    </p>
6487    <p>
6488                            </p>
6489    <blockquote class="text">
6490    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6491    </p>
6492    <p>S: "0,1,5,12"
6493    </p>
6494    </blockquote><p>
6495                        
6496    </p>
6497    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6498    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6499    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6500    Getting MIDI instrument map information</h3>
6501    
6502    <p>The front-end can ask for the current settings of a MIDI
6503                        instrument map by sending the following command:
6504    </p>
6505    <p>
6506                            </p>
6507    <blockquote class="text">
6508    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6509    </p>
6510    </blockquote><p>
6511                        
6512    </p>
6513    <p>Where &lt;map&gt; is the numerical ID of the map the
6514                        front-end is interested in as returned by the
6515                        <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>
6516                        command.
6517    </p>
6518    <p>Possible Answers:
6519    </p>
6520    <p>
6521                            </p>
6522    <blockquote class="text">
6523    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6524                                Each answer line begins with the settings category name
6525                                followed by a colon and then a space character &lt;SP&gt; and finally
6526                                the info character string to that setting category. At the
6527                                moment the following categories are defined:
6528    </p>
6529    <p>
6530                                    </p>
6531    <blockquote class="text">
6532    <p>NAME -
6533                                            </p>
6534    <blockquote class="text">
6535    <p>custom name of the given map,
6536                                                which does not have to be unique
6537    </p>
6538    </blockquote>
6539                                        
6540    
6541    <p>DEFAULT -
6542                                            </p>
6543    <blockquote class="text">
6544    <p>either true or false,
6545                                                defines whether this map is the default map
6546    </p>
6547    </blockquote>
6548                                        
6549    
6550    </blockquote>
6551                                
6552    
6553    </blockquote><p>
6554                        
6555    </p>
6556    <p>The mentioned fields above don't have to be in particular order.
6557    </p>
6558    <p>Example:
6559    </p>
6560    <p>
6561                            </p>
6562    <blockquote class="text">
6563    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6564    </p>
6565    <p>S: "NAME: Standard Map"
6566    </p>
6567    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6568    </p>
6569    <p>&nbsp;&nbsp;&nbsp;"."
6570    </p>
6571    </blockquote><p>
6572                        
6573    </p>
6574    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6575    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6576    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6577    Renaming a MIDI instrument map</h3>
6578    
6579    <p>The front-end can alter the custom name of a MIDI
6580                        instrument map by sending the following command:
6581    </p>
6582    <p>
6583                            </p>
6584    <blockquote class="text">
6585    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6586    </p>
6587    </blockquote><p>
6588                        
6589    </p>
6590    <p>Where &lt;map&gt; is the numerical ID of the map and
6591                        &lt;name&gt; the new custom name of the map, which does not
6592                        have to be unique.
6593    </p>
6594    <p>Possible Answers:
6595    </p>
6596    <p>
6597                            </p>
6598    <blockquote class="text">
6599    <p>"OK" -
6600                                    </p>
6601    <blockquote class="text">
6602    <p>on success
6603    </p>
6604    </blockquote>
6605                                
6606    
6607    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6608                                    </p>
6609    <blockquote class="text">
6610    <p>in case the given map does not exist
6611    </p>
6612    </blockquote>
6613                                
6614    
6615    </blockquote><p>
6616                        
6617    </p>
6618    <p>Example:
6619    </p>
6620    <p>
6621                            </p>
6622    <blockquote class="text">
6623    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6624    </p>
6625    <p>S: "OK"
6626    </p>
6627    </blockquote><p>
6628                        
6629    </p>
6630    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6631    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6632    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6633    Create or replace a MIDI instrument map entry</h3>
6634    
6635    <p>The front-end can create a new or replace an existing entry
6636                        in a sampler's MIDI instrument map by sending the following
6637                        command:
6638    </p>
6639    <p>
6640                            </p>
6641    <blockquote class="text">
6642    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6643                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6644                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6645                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6646    </p>
6647    </blockquote><p>
6648                        
6649    </p>
6650    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6651                        &lt;midi_bank&gt; is an integer value between
6652                        0..16383 reflecting the MIDI bank select index,
6653                        &lt;midi_prog&gt; an
6654                        integer value between 0..127 reflecting the MIDI program change
6655                        index, &lt;engine_name&gt; a sampler engine name as returned by
6656                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6657                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6658                        of the instrument's file to be deployed (encapsulated into apostrophes,
6659                        supporting escape sequences as described in chapter
6660                        "<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>"),
6661                        &lt;instrument_index&gt; the index (integer value) of the instrument
6662                        within the given file, &lt;volume_value&gt; reflects the master
6663                        volume of the instrument as optionally dotted number (where a
6664                        value &lt; 1.0 means attenuation and a value > 1.0 means
6665                        amplification). This parameter easily allows to adjust the
6666                        volume of all intruments within a custom instrument map
6667                        without having to adjust their instrument files. The
6668                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6669                        time of the instrument, that is when the instrument should
6670                        be loaded, when freed and has exactly the following
6671                        possibilities:
6672    </p>
6673    <p>
6674                            </p>
6675    <blockquote class="text">
6676    <p>"ON_DEMAND" -
6677                                    </p>
6678    <blockquote class="text">
6679    <p>The instrument will be loaded when needed,
6680                                        that is when demanded by at least one sampler
6681                                        channel. It will immediately be freed from memory
6682                                        when not needed by any sampler channel anymore.
6683    </p>
6684    </blockquote>
6685                                
6686    
6687    <p>"ON_DEMAND_HOLD" -
6688                                    </p>
6689    <blockquote class="text">
6690    <p>The instrument will be loaded when needed,
6691                                        that is when demanded by at least one sampler
6692                                        channel. It will be kept in memory even when
6693                                        not needed by any sampler channel anymore.
6694                                        Instruments with this mode are only freed
6695                                        when the sampler is reset or all mapping
6696                                        entries with this mode (and respective
6697                                        instrument) are explicitly changed to
6698                                        "ON_DEMAND" and no sampler channel is using
6699                                        the instrument anymore.
6700    </p>
6701    </blockquote>
6702                                
6703    
6704    <p>"PERSISTENT" -
6705                                    </p>
6706    <blockquote class="text">
6707    <p>The instrument will immediately be loaded
6708                                        into memory when this mapping
6709                                        command is sent and the instrument is kept all
6710                                        the time. Instruments with this mode are
6711                                        only freed when the sampler is reset or all
6712                                        mapping entries with this mode (and
6713                                        respective instrument) are explicitly
6714                                        changed to "ON_DEMAND" and no sampler
6715                                        channel is using the instrument anymore.
6716    </p>
6717    </blockquote>
6718                                
6719    
6720    <p>not supplied -
6721                                    </p>
6722    <blockquote class="text">
6723    <p>In case there is no &lt;instr_load_mode&gt;
6724                                        argument given, it will be up to the
6725                                        InstrumentManager to decide which mode to use.
6726                                        Usually it will use "ON_DEMAND" if an entry
6727                                        for the given instrument does not exist in
6728                                        the InstrumentManager's list yet, otherwise
6729                                        if an entry already exists, it will simply
6730                                        stick with the mode currently reflected by
6731                                        the already existing entry, that is it will
6732                                        not change the mode.
6733    </p>
6734    </blockquote>
6735                                
6736    
6737    </blockquote><p>
6738                        
6739    </p>
6740    <p>
6741                        The &lt;instr_load_mode&gt; argument thus allows to define an
6742                        appropriate strategy (low memory consumption vs. fast
6743                        instrument switching) for each instrument individually. Note, the
6744                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6745                        "PERSISTENT" have to be supported by the respective sampler engine
6746                        (which is technically the case when the engine provides an
6747                        InstrumentManager for its format). If this is not the case the
6748                        argument will automatically fall back to the default value
6749                        "ON_DEMAND". Also the load mode of one instrument may
6750                        automatically change the laod mode of other instrument(s), i.e.
6751                        because the instruments are part of the same file and the
6752                        engine does not allow a way to manage load modes for them
6753                        individually. Due to this, in case the frontend shows the
6754                        load modes of entries, the frontend should retrieve the actual
6755                        mode by i.e. sending
6756                        <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>
6757                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to
6758                        set a custom name (encapsulated into apostrophes) for the mapping
6759                        entry, useful for frontends for displaying an appropriate name for
6760                        mapped instruments (using
6761                        <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>).
6762                        
6763    </p>
6764    <p>
6765                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6766                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6767                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6768                        immediately, that is to let the sampler establish the mapping in the
6769                        background. So this argument might be especially useful for mappings with
6770                        a "PERSISTENT" type, because these have to load the respective instruments
6771                        immediately and might thus block for a very long time. It is recommended
6772                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6773                        because it has the following drawbacks: as "NON_MODAL" instructions return
6774                        immediately, they may not necessarily return an error i.e. when the given
6775                        instrument file turns out to be corrupt, beside that subsequent commands
6776                        in a LSCP instruction sequence might fail, because mandatory mappings are
6777                        not yet completed.
6778                        
6779    </p>
6780    <p>Possible Answers:
6781    </p>
6782    <p>
6783                            </p>
6784    <blockquote class="text">
6785    <p>"OK" -
6786                                    </p>
6787    <blockquote class="text">
6788    <p>usually
6789    </p>
6790    </blockquote>
6791                                
6792    
6793    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6794                                    </p>
6795    <blockquote class="text">
6796    <p>when the given map or engine does not exist or a value
6797                                        is out of range
6798    </p>
6799    </blockquote>
6800                                
6801    
6802    </blockquote><p>
6803                        
6804    </p>
6805    <p>Examples:
6806    </p>
6807    <p>
6808                            </p>
6809    <blockquote class="text">
6810    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6811    </p>
6812    <p>S: "OK"
6813    </p>
6814    </blockquote><p>
6815                        
6816    </p>
6817    <p>
6818                            </p>
6819    <blockquote class="text">
6820    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6821    </p>
6822    <p>S: "OK"
6823    </p>
6824    </blockquote><p>
6825                        
6826    </p>
6827    <p>
6828                            </p>
6829    <blockquote class="text">
6830    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6831    </p>
6832    <p>S: "OK"
6833    </p>
6834    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6835    </p>
6836    <p>S: "OK"
6837    </p>
6838    </blockquote><p>
6839                        
6840    </p>
6841    <p>
6842                            </p>
6843    <blockquote class="text">
6844    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6845    </p>
6846    <p>S: "OK"
6847    </p>
6848    </blockquote><p>
6849                        
6850    </p>
6851    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6852    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6853    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6854    Getting ammount of MIDI instrument map entries</h3>
6855    
6856    <p>The front-end can query the amount of currently existing
6857                        entries in a MIDI instrument map by sending the following
6858                        command:
6859    </p>
6860    <p>
6861                            </p>
6862    <blockquote class="text">
6863    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6864    </p>
6865    </blockquote><p>
6866                        
6867    </p>
6868    <p>The front-end can query the amount of currently existing
6869                        entries in all MIDI instrument maps by sending the following
6870                        command:
6871    </p>
6872    <p>
6873                            </p>
6874    <blockquote class="text">
6875    <p>GET MIDI_INSTRUMENTS ALL
6876    </p>
6877    </blockquote><p>
6878                        
6879    </p>
6880    <p>Possible Answers:
6881    </p>
6882    <p>
6883                            </p>
6884    <blockquote class="text">
6885    <p>The sampler will answer by sending the current number of
6886                                entries in the MIDI instrument map(s).
6887    </p>
6888    </blockquote><p>
6889                        
6890    </p>
6891    <p>Example:
6892    </p>
6893    <p>
6894                            </p>
6895    <blockquote class="text">
6896    <p>C: "GET MIDI_INSTRUMENTS 0"
6897    </p>
6898    <p>S: "234"
6899    </p>
6900    </blockquote><p>
6901                        
6902    </p>
6903    <p>
6904                            </p>
6905    <blockquote class="text">
6906    <p>C: "GET MIDI_INSTRUMENTS ALL"
6907    </p>
6908    <p>S: "954"
6909    </p>
6910    </blockquote><p>
6911                        
6912    </p>
6913    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
6914    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6915    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
6916    Getting indeces of all entries of a MIDI instrument map</h3>
6917    
6918    <p>The front-end can query a list of all currently existing
6919                        entries in a certain MIDI instrument map by sending the following
6920                        command:
6921    </p>
6922    <p>
6923                            </p>
6924    <blockquote class="text">
6925    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
6926    </p>
6927    </blockquote><p>
6928                        
6929    </p>
6930    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
6931    </p>
6932    <p>The front-end can query a list of all currently existing
6933                        entries of all MIDI instrument maps by sending the following
6934                        command:
6935    </p>
6936    <p>
6937                            </p>
6938    <blockquote class="text">
6939    <p>LIST MIDI_INSTRUMENTS ALL
6940    </p>
6941    </blockquote><p>
6942                        
6943    </p>
6944    <p>Possible Answers:
6945    </p>
6946    <p>
6947                            </p>
6948    <blockquote class="text">
6949    <p>The sampler will answer by sending a comma separated
6950                                list of map ID - MIDI bank - MIDI program triples, where
6951                                each triple is encapsulated into curly braces. The
6952                                list is returned in one single line. Each triple
6953                                just reflects the key of the respective map entry,
6954                                thus subsequent
6955                                <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>
6956                                command(s) are necessary to retrieve detailed informations
6957                                about each entry.
6958    </p>
6959    </blockquote><p>
6960                        
6961    </p>
6962    <p>Example:
6963    </p>
6964    <p>
6965                            </p>
6966    <blockquote class="text">
6967    <p>C: "LIST MIDI_INSTRUMENTS 0"
6968    </p>
6969    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
6970    </p>
6971    </blockquote><p>
6972                        
6973    </p>
6974    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
6975    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6976    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
6977    Remove an entry from the MIDI instrument map</h3>
6978    
6979    <p>The front-end can delete an entry from a MIDI instrument
6980                        map by sending the following command:
6981    </p>
6982    <p>
6983                            </p>
6984    <blockquote class="text">
6985    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
6986    </p>
6987    </blockquote><p>
6988                        
6989    </p>
6990    <p>
6991                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
6992                        &lt;midi_bank&gt; is an integer value between 0..16383
6993                        reflecting the MIDI bank value and
6994                        &lt;midi_prog&gt; an integer value between
6995                        0..127 reflecting the MIDI program value of the map's entrie's key
6996                        index triple.
6997                        
6998    </p>
6999    <p>Possible Answers:
7000    </p>
7001    <p>
7002                            </p>
7003    <blockquote class="text">
7004    <p>"OK" -
7005                                    </p>
7006    <blockquote class="text">
7007    <p>usually
7008    </p>
7009    </blockquote>
7010                                
7011    
7012    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7013                                    </p>
7014    <blockquote class="text">
7015    <p>when index out of bounds
7016    </p>
7017    </blockquote>
7018                                
7019    
7020    </blockquote><p>
7021                        
7022    </p>
7023    <p>Example:
7024    </p>
7025    <p>
7026                            </p>
7027    <blockquote class="text">
7028    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7029    </p>
7030    <p>S: "OK"
7031    </p>
7032    </blockquote><p>
7033                        
7034    </p>
7035    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7036    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7037    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7038    Get current settings of MIDI instrument map entry</h3>
7039    
7040    <p>The front-end can retrieve the current settings of a certain
7041                        instrument map entry by sending the following command:
7042    </p>
7043    <p>
7044                            </p>
7045    <blockquote class="text">
7046    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7047    </p>
7048    </blockquote><p>
7049                        
7050    </p>
7051    <p>
7052                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7053                        &lt;midi_bank&gt; is an integer value between 0..16383
7054                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7055                        and &lt;midi_prog&gt; an integer value between
7056                        0..127 reflecting the MIDI program value of the map's entrie's key
7057                        index triple.
7058                        
7059    </p>
7060    <p>Possible Answers:
7061    </p>
7062    <p>
7063                            </p>
7064    <blockquote class="text">
7065    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7066                                separated list. Each answer line begins with the
7067                                information category name followed by a colon and then
7068                                a space character &lt;SP&gt; and finally the info
7069                                character string to that info category. At the moment
7070                                the following categories are defined:
7071    </p>
7072    <p>"NAME" -
7073                                    </p>
7074    <blockquote class="text">
7075    <p>Name for this MIDI instrument map entry (if defined).
7076                                        This name shall be used by frontends for displaying a
7077                                        name for this mapped instrument. It can be set and
7078                                        changed with the
7079                                        <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>
7080                                        command and does not have to be unique.
7081    </p>
7082    </blockquote>
7083                                
7084    
7085    <p>"ENGINE_NAME" -
7086                                    </p>
7087    <blockquote class="text">
7088    <p>Name of the engine to be deployed for this
7089                                        instrument.
7090    </p>
7091    </blockquote>
7092                                
7093    
7094    <p>"INSTRUMENT_FILE" -
7095                                    </p>
7096    <blockquote class="text">
7097    <p>File name of the instrument.
7098    </p>
7099    </blockquote>
7100                                
7101    
7102    <p>"INSTRUMENT_NR" -
7103                                    </p>
7104    <blockquote class="text">
7105    <p>Index of the instrument within the file.
7106    </p>
7107    </blockquote>
7108                                
7109    
7110    <p>"INSTRUMENT_NAME" -
7111                                    </p>
7112    <blockquote class="text">
7113    <p>Name of the loaded instrument as reflected by its file.
7114                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7115                                        cannot be changed.
7116    </p>
7117    </blockquote>
7118                                
7119    
7120    <p>"LOAD_MODE" -
7121                                    </p>
7122    <blockquote class="text">
7123    <p>Life time of instrument
7124                                        (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).
7125    </p>
7126    </blockquote>
7127                                
7128    
7129    <p>"VOLUME" -
7130                                    </p>
7131    <blockquote class="text">
7132    <p>master volume of the instrument as optionally
7133                                        dotted number (where a value &lt; 1.0 means attenuation
7134                                        and a value > 1.0 means amplification)
7135    </p>
7136    </blockquote>
7137                                
7138    
7139    <p>The mentioned fields above don't have to be in particular order.
7140    </p>
7141    </blockquote><p>
7142                        
7143    </p>
7144    <p>Example:
7145    </p>
7146    <p>
7147                            </p>
7148    <blockquote class="text">
7149    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7150    </p>
7151    <p>S: "NAME: Drums for Foo Song"
7152    </p>
7153    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7154    </p>
7155    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7156    </p>
7157    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7158    </p>
7159    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7160    </p>
7161    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7162    </p>
7163    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7164    </p>
7165    <p>&nbsp;&nbsp;&nbsp;"."
7166    </p>
7167    </blockquote><p>
7168                        
7169    </p>
7170    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7171    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7172    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7173    Clear MIDI instrument map</h3>
7174    
7175    <p>The front-end can clear a whole MIDI instrument map, that
7176                        is delete all its entries by sending the following command:
7177    </p>
7178    <p>
7179                            </p>
7180    <blockquote class="text">
7181    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7182    </p>
7183    </blockquote><p>
7184                        
7185    </p>
7186    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7187    </p>
7188    <p>The front-end can clear all MIDI instrument maps, that
7189                        is delete all entries of all maps by sending the following
7190                        command:
7191    </p>
7192    <p>
7193                            </p>
7194    <blockquote class="text">
7195    <p>CLEAR MIDI_INSTRUMENTS ALL
7196    </p>
7197    </blockquote><p>
7198                        
7199    </p>
7200    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7201                        maps, only their entries, thus the map's settings like
7202                        custom name will be preservevd.
7203    </p>
7204    <p>Possible Answers:
7205    </p>
7206    <p>
7207                            </p>
7208    <blockquote class="text">
7209    <p>"OK" -
7210                                    </p>
7211    <blockquote class="text">
7212    <p>always
7213    </p>
7214    </blockquote>
7215                                
7216    
7217    </blockquote><p>
7218                        
7219    </p>
7220    <p>Examples:
7221    </p>
7222    <p>
7223                           </p>
7224    <blockquote class="text">
7225    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7226    </p>
7227    <p>S: "OK"
7228    </p>
7229    </blockquote><p>
7230                        
7231    </p>
7232    <p>
7233                           </p>
7234    <blockquote class="text">
7235    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7236    </p>
7237    <p>S: "OK"
7238    </p>
7239    </blockquote><p>
7240                        
7241    </p>
7242    <a name="Managing Instruments Database"></a><br /><hr />
7243    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7244    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7245    Managing Instruments Database</h3>
7246    
7247    <p>The following commands describe how to use and manage
7248                    the instruments database.
7249    </p>
7250    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7251    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7252    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7253    Creating a new instrument directory</h3>
7254    
7255    <p>The front-end can add a new instrument directory to the
7256                        instruments database by sending the following command:
7257    </p>
7258    <p>
7259                            </p>
7260    <blockquote class="text">
7261    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7262    </p>
7263    </blockquote><p>
7264                        
7265    </p>
7266    <p>Where &lt;dir&gt; is the absolute path name of the directory
7267                        to be created (encapsulated into apostrophes).
7268    </p>
7269    <p>Possible Answers:
7270    </p>
7271    <p>
7272                            </p>
7273    <blockquote class="text">
7274    <p>"OK" -
7275                                    </p>
7276    <blockquote class="text">
7277    <p>on success
7278    </p>
7279    </blockquote>
7280                                
7281    
7282    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7283                                    </p>
7284    <blockquote class="text">
7285    <p>when the directory could not be created, which
7286                                        can happen if the directory already exists or the
7287                                        name contains not allowed symbols
7288    </p>
7289    </blockquote>
7290                                
7291    
7292    </blockquote><p>
7293                        
7294    </p>
7295    <p>Examples:
7296    </p>
7297    <p>
7298                            </p>
7299    <blockquote class="text">
7300    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7301    </p>
7302    <p>S: "OK"
7303    </p>
7304    </blockquote><p>
7305                        
7306    </p>
7307    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7308    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7309    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7310    Deleting an instrument directory</h3>
7311    
7312    <p>The front-end can delete a particular instrument directory
7313                        from the instruments database by sending the following command:
7314    </p>
7315    <p>
7316                            </p>
7317    <blockquote class="text">
7318    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7319    </p>
7320    </blockquote><p>
7321                        
7322    </p>
7323    <p>Where &lt;dir&gt; is the absolute path name of the directory
7324                        to delete. The optional FORCE argument can be used to
7325                        force the deletion of a non-empty directory and all its content.
7326    </p>
7327    <p>Possible Answers:
7328    </p>
7329    <p>
7330                            </p>
7331    <blockquote class="text">
7332    <p>"OK" -
7333                                    </p>
7334    <blockquote class="text">
7335    <p>if the directory is deleted successfully
7336    </p>
7337    </blockquote>
7338                                
7339    
7340    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7341                                    </p>
7342    <blockquote class="text">
7343    <p>if the given directory does not exist, or
7344                                        if trying to delete a non-empty directory,
7345                                        without using the FORCE argument.
7346    </p>
7347    </blockquote>
7348                                
7349    
7350    </blockquote><p>
7351                        
7352    </p>
7353    <p>Examples:
7354    </p>
7355    <p>
7356                            </p>
7357    <blockquote class="text">
7358    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7359    </p>
7360    <p>S: "OK"
7361    </p>
7362    </blockquote><p>
7363                        
7364    </p>
7365    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7366    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7367    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7368    Getting amount of instrument directories</h3>
7369    
7370    <p>The front-end can retrieve the current amount of
7371                        directories in a specific directory by sending the following command:
7372    </p>
7373    <p>
7374                            </p>
7375    <blockquote class="text">
7376    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7377    </p>
7378    </blockquote><p>
7379                        
7380    </p>
7381    <p>Where &lt;dir&gt; should be replaced by the absolute path
7382                        name of the directory. If RECURSIVE is specified, the number of
7383                        all directories, including those located in subdirectories of the
7384                        specified directory, will be returned.
7385    </p>
7386    <p>Possible Answers:
7387    </p>
7388    <p>
7389                            </p>
7390    <blockquote class="text">
7391    <p>The current number of instrument directories
7392                                in the specified directory.
7393    </p>
7394    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7395                                    </p>
7396    <blockquote class="text">
7397    <p>if the given directory does not exist.
7398    </p>
7399    </blockquote>
7400                                
7401    
7402    </blockquote><p>
7403                        
7404    </p>
7405    <p>Example:
7406    </p>
7407    <p>
7408                            </p>
7409    <blockquote class="text">
7410    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7411    </p>
7412    <p>S: "2"
7413    </p>
7414    </blockquote><p>
7415                        
7416    </p>
7417    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7418    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7419    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7420    Listing all directories in specific directory</h3>
7421    
7422    <p>The front-end can retrieve the current list of directories
7423                        in specific directory by sending the following command:
7424    </p>
7425    <p>
7426                            </p>
7427    <blockquote class="text">
7428    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7429    </p>
7430    </blockquote><p>
7431                        
7432    </p>
7433    <p>Where &lt;dir&gt; should be replaced by the absolute path
7434                        name of the directory. If RECURSIVE is specified, the absolute path names
7435                        of all directories, including those located in subdirectories of the
7436                        specified directory, will be returned.
7437    </p>
7438    <p>Possible Answers:
7439    </p>
7440    <p>
7441                            </p>
7442    <blockquote class="text">
7443    <p>A comma separated list of all instrument directories
7444                                (encapsulated into apostrophes) in the specified directory.
7445    </p>
7446    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7447                                    </p>
7448    <blockquote class="text">
7449    <p>if the given directory does not exist.
7450    </p>
7451    </blockquote>
7452                                
7453    
7454    </blockquote><p>
7455                        
7456    </p>
7457    <p>Example:
7458    </p>
7459    <p>
7460                            </p>
7461    <blockquote class="text">
7462    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7463    </p>
7464    <p>S: "'Piano Collection','Percussion Collection'"
7465    </p>
7466    </blockquote><p>
7467                        
7468    </p>
7469    <p>
7470                            </p>
7471    <blockquote class="text">
7472    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7473    </p>
7474    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7475    </p>
7476    </blockquote><p>
7477                        
7478    </p>
7479    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7480    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7481    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7482    Getting instrument directory information</h3>
7483    
7484    <p>The front-end can ask for the current settings of an
7485                        instrument directory by sending the following command:
7486    </p>
7487    <p>
7488                            </p>
7489    <blockquote class="text">
7490    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7491    </p>
7492    </blockquote><p>
7493                        
7494    </p>
7495    <p>Where &lt;dir&gt; should be replaced by the absolute path
7496                        name of the directory the front-end is interested in.
7497    </p>
7498    <p>Possible Answers:
7499    </p>
7500    <p>
7501                            </p>
7502    <blockquote class="text">
7503    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7504                                Each answer line begins with the settings category name
7505                                followed by a colon and then a space character &lt;SP&gt; and finally
7506                                the info character string to that setting category. At the
7507                                moment the following categories are defined:
7508    </p>
7509    <p>
7510                                    </p>
7511    <blockquote class="text">
7512    <p>DESCRIPTION -
7513                                            </p>
7514    <blockquote class="text">
7515    <p>A brief description of the directory content
7516    </p>
7517    </blockquote>
7518                                        
7519    
7520    <p>CREATED -
7521                                            </p>
7522    <blockquote class="text">
7523    <p>The creation date and time of the directory,
7524                                                represented in "YYYY-MM-DD HH:MM:SS" format
7525    </p>
7526    </blockquote>
7527                                        
7528    
7529    <p>MODIFIED -
7530                                            </p>
7531    <blockquote class="text">
7532    <p>The date and time of the last modification of the
7533                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7534    </p>
7535    </blockquote>
7536                                        
7537    
7538    </blockquote>
7539                                
7540    
7541    </blockquote><p>
7542                        
7543    </p>
7544    <p>The mentioned fields above don't have to be in particular order.
7545    </p>
7546    <p>Example:
7547    </p>
7548    <p>
7549                            </p>
7550    <blockquote class="text">
7551    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7552    </p>
7553    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7554    </p>
7555    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7556    </p>
7557    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7558    </p>
7559    <p>&nbsp;&nbsp;&nbsp;"."
7560    </p>
7561    </blockquote><p>
7562                        
7563    </p>
7564    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7565    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7566    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7567    Renaming an instrument directory</h3>
7568    
7569    <p>The front-end can alter the name of a specific
7570                        instrument directory by sending the following command:
7571    </p>
7572    <p>
7573                            </p>
7574    <blockquote class="text">
7575    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7576    </p>
7577    </blockquote><p>
7578                        
7579    </p>
7580    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7581                        &lt;name&gt; is the new name for that directory.
7582    </p>
7583    <p>Possible Answers:
7584    </p>
7585    <p>
7586                            </p>
7587    <blockquote class="text">
7588    <p>"OK" -
7589                                    </p>
7590    <blockquote class="text">
7591    <p>on success
7592    </p>
7593    </blockquote>
7594                                
7595    
7596    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7597                                    </p>
7598    <blockquote class="text">
7599    <p>in case the given directory does not exists,
7600                                        or if a directory with name equal to the new
7601                                        name already exists.
7602    </p>
7603    </blockquote>
7604                                
7605    
7606    </blockquote><p>
7607                        
7608    </p>
7609    <p>Example:
7610    </p>
7611    <p>
7612                            </p>
7613    <blockquote class="text">
7614    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7615    </p>
7616    <p>S: "OK"
7617    </p>
7618    </blockquote><p>
7619                        
7620    </p>
7621    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7622    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7623    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7624    Moving an instrument directory</h3>
7625    
7626    <p>The front-end can move a specific
7627                        instrument directory by sending the following command:
7628    </p>
7629    <p>
7630                            </p>
7631    <blockquote class="text">
7632    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7633    </p>
7634    </blockquote><p>
7635                        
7636    </p>
7637    <p>Where &lt;dir&gt; is the absolute path name of the directory
7638                        to move and &lt;dst&gt; is the location where the directory will
7639                        be moved to.
7640    </p>
7641    <p>Possible Answers:
7642    </p>
7643    <p>
7644                            </p>
7645    <blockquote class="text">
7646    <p>"OK" -
7647                                    </p>
7648    <blockquote class="text">
7649    <p>on success
7650    </p>
7651    </blockquote>
7652                                
7653    
7654    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7655                                    </p>
7656    <blockquote class="text">
7657    <p>in case a given directory does not exists,
7658                                        or if a directory with name equal to the name
7659                                        of the specified directory already exists in
7660                                        the destination directory. Error is also thrown
7661                                        when trying to move a directory to a subdirectory
7662                                        of itself.
7663    </p>
7664    </blockquote>
7665                                
7666    
7667    </blockquote><p>
7668                        
7669    </p>
7670    <p>Example:
7671    </p>
7672    <p>
7673                            </p>
7674    <blockquote class="text">
7675    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7676    </p>
7677    <p>S: "OK"
7678    </p>
7679    </blockquote><p>
7680                        
7681    </p>
7682    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7683    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7684    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7685    Copying instrument directories</h3>
7686    
7687    <p>The front-end can copy a specific
7688                        instrument directory by sending the following command:
7689    </p>
7690    <p>
7691                            </p>
7692    <blockquote class="text">
7693    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7694    </p>
7695    </blockquote><p>
7696                        
7697    </p>
7698    <p>Where &lt;dir&gt; is the absolute path name of the directory
7699                        to copy and &lt;dst&gt; is the location where the directory will
7700                        be copied to.
7701    </p>
7702    <p>Possible Answers:
7703    </p>
7704    <p>
7705                            </p>
7706    <blockquote class="text">
7707    <p>"OK" -
7708                                    </p>
7709    <blockquote class="text">
7710    <p>on success
7711    </p>
7712    </blockquote>
7713                                
7714    
7715    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7716                                    </p>
7717    <blockquote class="text">
7718    <p>in case a given directory does not exists,
7719                                        or if a directory with name equal to the name
7720                                        of the specified directory already exists in
7721                                        the destination directory. Error is also thrown
7722                                        when trying to copy a directory to a subdirectory
7723                                        of itself.
7724    </p>
7725    </blockquote>
7726                                
7727    
7728    </blockquote><p>
7729                        
7730    </p>
7731    <p>Example:
7732    </p>
7733    <p>
7734                            </p>
7735    <blockquote class="text">
7736    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7737    </p>
7738    <p>S: "OK"
7739    </p>
7740    </blockquote><p>
7741                        
7742    </p>
7743    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7744    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7745    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7746    Changing the description of directory</h3>
7747    
7748    <p>The front-end can alter the description of a specific
7749                        instrument directory by sending the following command:
7750    </p>
7751    <p>
7752                            </p>
7753    <blockquote class="text">
7754    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7755    </p>
7756    </blockquote><p>
7757                        
7758    </p>
7759    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7760                        &lt;desc&gt; is the new description for the directory.
7761    </p>
7762    <p>Possible Answers:
7763    </p>
7764    <p>
7765                            </p>
7766    <blockquote class="text">
7767    <p>"OK" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>on success
7771    </p>
7772    </blockquote>
7773                                
7774    
7775    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7776                                    </p>
7777    <blockquote class="text">
7778    <p>in case the given directory does not exists.
7779    </p>
7780    </blockquote>
7781                                
7782    
7783    </blockquote><p>
7784                        
7785    </p>
7786    <p>Example:
7787    </p>
7788    <p>
7789                            </p>
7790    <blockquote class="text">
7791    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7792    </p>
7793    <p>S: "OK"
7794    </p>
7795    </blockquote><p>
7796                        
7797    </p>
7798    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7799    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7800    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7801    Finding directories</h3>
7802    
7803    <p>The front-end can search for directories
7804                        in specific directory by sending the following command:
7805    </p>
7806    <p>
7807                            </p>
7808    <blockquote class="text">
7809    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7810    </p>
7811    </blockquote><p>
7812                        
7813    </p>
7814    <p>Where &lt;dir&gt; should be replaced by the absolute path
7815                        name of the directory to search in. If NON_RECURSIVE is specified, the
7816                        directories located in subdirectories of the specified directory will not
7817                        be searched. &lt;criteria-list&gt; is a list of search criterias
7818                        in form of "key1=val1 key2=val2 ...". The following criterias are
7819                        allowed:
7820    </p>
7821    <p>
7822                          
7823    <p>NAME='&lt;search-string&gt;'
7824                              </p>
7825    <blockquote class="text">
7826    <p>Restricts the search to directories, which names
7827                                  satisfy the supplied search string.
7828    </p>
7829    </blockquote><p>
7830                          
7831    </p>
7832    
7833                          
7834    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7835                              </p>
7836    <blockquote class="text">
7837    <p>Restricts the search to directories, which creation
7838                                  date satisfies the specified period, where &lt;date-after&gt;
7839                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7840                                  If &lt;date-after&gt; is omitted the search is restricted to
7841                                  directories created before &lt;date-before&gt;. If
7842                                  &lt;date-before&gt; is omitted, the search is restricted
7843                                  to directories created after &lt;date-after&gt;.
7844    </p>
7845    </blockquote><p>
7846                          
7847    </p>
7848    
7849                          
7850    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7851                              </p>
7852    <blockquote class="text">
7853    <p>Restricts the search to directories, which
7854                                  date of last modification satisfies the specified period, where
7855                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7856                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7857                                  directories, which are last modified before &lt;date-before&gt;. If
7858                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7859                                  which are last modified after &lt;date-after&gt;.
7860    </p>
7861    </blockquote><p>
7862                          
7863    </p>
7864    
7865                          
7866    <p>DESCRIPTION='&lt;search-string&gt;'
7867                              </p>
7868    <blockquote class="text">
7869    <p>Restricts the search to directories with description
7870                                  that satisfies the supplied search string.
7871    </p>
7872    </blockquote><p>
7873                          
7874    </p>
7875                        
7876    
7877    <p>Where &lt;search-string&gt; is either a regular expression, or a
7878                        word list separated with spaces for OR search and with '+' for AND search.
7879    </p>
7880    <p>Possible Answers:
7881    </p>
7882    <p>
7883                            </p>
7884    <blockquote class="text">
7885    <p>A comma separated list with the absolute path names (encapsulated into
7886                                apostrophes) of all directories in the specified directory that satisfy
7887                                the supplied search criterias.
7888    </p>
7889    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7890                                    </p>
7891    <blockquote class="text">
7892    <p>if the given directory does not exist.
7893    </p>
7894    </blockquote>
7895                                
7896    
7897    </blockquote><p>
7898                        
7899    </p>
7900    <p>Example:
7901    </p>
7902    <p>
7903                            </p>
7904    <blockquote class="text">
7905    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7906    </p>
7907    <p>S: "'/Piano Collection'"
7908    </p>
7909    </blockquote><p>
7910                        
7911    </p>
7912    <p>
7913                            </p>
7914    <blockquote class="text">
7915    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7916    </p>
7917    <p>S: "'/Piano Collection','/Percussions'"
7918    </p>
7919    </blockquote><p>
7920                        
7921    </p>
7922    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7923    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7924    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7925    Adding instruments to the instruments database</h3>
7926    
7927    <p>The front-end can add one or more instruments
7928                        to the instruments database by sending the following command:
7929    </p>
7930    <p>
7931                            </p>
7932    <blockquote class="text">
7933    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7934    </p>
7935    </blockquote><p>
7936                        
7937    </p>
7938    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7939                        (encapsulated into apostrophes) in the instruments database in which
7940                        only the new instruments (that are not already in the database) will
7941                        be added, &lt;file_path&gt; is the absolute path name of a file or
7942                        directory in the file system (encapsulated into apostrophes). In case
7943                        an instrument file is supplied, only the instruments in the specified
7944                        file will be added to the instruments database. If the optional
7945                        &lt;instr_index&gt; (the index of the instrument within the given file)
7946                        is supplied too, then only the specified instrument will be added.
7947                        In case a directory is supplied, the instruments in that directory
7948                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
7949                        when a directory is provided as &lt;file_path&gt; and specifies how the
7950                        scanning will be done and has exactly the following possibilities:
7951    </p>
7952    <p>
7953                            </p>
7954    <blockquote class="text">
7955    <p>"RECURSIVE" -
7956                                    </p>
7957    <blockquote class="text">
7958    <p>All instruments will be processed, including those
7959                                        in the subdirectories, and the respective subdirectory
7960                                        tree structure will be recreated in the instruments
7961                                        database
7962    </p>
7963    </blockquote>
7964                                
7965    
7966    <p>"NON_RECURSIVE" -
7967                                    </p>
7968    <blockquote class="text">
7969    <p>Only the instruments in the specified directory
7970                                        will be added, the instruments in the subdirectories
7971                                        will not be processed.
7972    </p>
7973    </blockquote>
7974                                
7975    
7976    <p>"FLAT" -
7977                                    </p>
7978    <blockquote class="text">
7979    <p>All instruments will be processed, including those
7980                                        in the subdirectories, but the respective subdirectory
7981                                        structure will not be recreated in the instruments
7982                                        database. All instruments will be added directly in
7983                                        the specified database directory.
7984    </p>
7985    </blockquote>
7986                                
7987    
7988    </blockquote><p>
7989                        
7990    </p>
7991    <p>The difference between regular and NON_MODAL versions of the command
7992                        is that the regular command returns when the scanning is finished
7993                        while NON_MODAL version returns immediately and a background process is launched.
7994                        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>
7995                        command can be used to monitor the scanning progress.
7996    </p>
7997    <p>Possible Answers:
7998    </p>
7999    <p>
8000                            </p>
8001    <blockquote class="text">
8002    <p>"OK" -
8003                                    </p>
8004    <blockquote class="text">
8005    <p>on success when NON_MODAL is not supplied
8006    </p>
8007    </blockquote>
8008                                
8009    
8010    <p>"OK[&lt;job-id&gt;]" -
8011                                    </p>
8012    <blockquote class="text">
8013    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8014                                        is a numerical ID used to obtain status information about the job progress.
8015                                        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>
8016                                        
8017    </p>
8018    </blockquote>
8019                                
8020    
8021    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8022                                    </p>
8023    <blockquote class="text">
8024    <p>if an invalid path is specified.
8025    </p>
8026    </blockquote>
8027                                
8028    
8029    </blockquote><p>
8030                        
8031    </p>
8032    <p>Examples:
8033    </p>
8034    <p>
8035                            </p>
8036    <blockquote class="text">
8037    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8038    </p>
8039    <p>S: "OK"
8040    </p>
8041    </blockquote><p>
8042                        
8043    </p>
8044    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8045    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8046    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8047    Removing an instrument</h3>
8048    
8049    <p>The front-end can remove a particular instrument
8050                        from the instruments database by sending the following command:
8051    </p>
8052    <p>
8053                            </p>
8054    <blockquote class="text">
8055    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8056    </p>
8057    </blockquote><p>
8058                        
8059    </p>
8060    <p>Where &lt;instr_path&gt; is the absolute path name
8061                        (in the instruments database) of the instrument to remove.
8062    </p>
8063    <p>Possible Answers:
8064    </p>
8065    <p>
8066                            </p>
8067    <blockquote class="text">
8068    <p>"OK" -
8069                                    </p>
8070    <blockquote class="text">
8071    <p>if the instrument is removed successfully
8072    </p>
8073    </blockquote>
8074                                
8075    
8076    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8077                                    </p>
8078    <blockquote class="text">
8079    <p>if the given path does not exist or
8080                                        is a directory.
8081    </p>
8082    </blockquote>
8083                                
8084    
8085    </blockquote><p>
8086                        
8087    </p>
8088    <p>Examples:
8089    </p>
8090    <p>
8091                            </p>
8092    <blockquote class="text">
8093    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8094    </p>
8095    <p>S: "OK"
8096    </p>
8097    </blockquote><p>
8098                        
8099    </p>
8100    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8101    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8102    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8103    Getting amount of instruments</h3>
8104    
8105    <p>The front-end can retrieve the current amount of
8106                        instruments in a specific directory by sending the following command:
8107    </p>
8108    <p>
8109                            </p>
8110    <blockquote class="text">
8111    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8112    </p>
8113    </blockquote><p>
8114                        
8115    </p>
8116    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8117                        of the directory. If RECURSIVE is specified, the number of all
8118                        instruments, including those located in subdirectories of the
8119                        specified directory, will be returned.
8120    </p>
8121    <p>Possible Answers:
8122    </p>
8123    <p>
8124                            </p>
8125    <blockquote class="text">
8126    <p>The current number of instruments
8127                                in the specified directory.
8128    </p>
8129    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8130                                    </p>
8131    <blockquote class="text">
8132    <p>if the given directory does not exist.
8133    </p>
8134    </blockquote>
8135                                
8136    
8137    </blockquote><p>
8138                        
8139    </p>
8140    <p>Example:
8141    </p>
8142    <p>
8143                            </p>
8144    <blockquote class="text">
8145    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8146    </p>
8147    <p>S: "2"
8148    </p>
8149    </blockquote><p>
8150                        
8151    </p>
8152    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8153    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8154    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8155    Listing all instruments in specific directory</h3>
8156    
8157    <p>The front-end can retrieve the current list of instruments
8158                        in specific directory by sending the following command:
8159    </p>
8160    <p>
8161                            </p>
8162    <blockquote class="text">
8163    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8164    </p>
8165    </blockquote><p>
8166                        
8167    </p>
8168    <p>Where &lt;dir&gt; should be replaced by the absolute path
8169                        name of the directory. If RECURSIVE is specified, the absolute path
8170                        names of all instruments, including those located in subdirectories
8171                        of the specified directory, will be returned.
8172    </p>
8173    <p>Possible Answers:
8174    </p>
8175    <p>
8176                            </p>
8177    <blockquote class="text">
8178    <p>A comma separated list of all instruments
8179                                (encapsulated into apostrophes) in the specified directory.
8180    </p>
8181    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8182                                    </p>
8183    <blockquote class="text">
8184    <p>if the given directory does not exist.
8185    </p>
8186    </blockquote>
8187                                
8188    
8189    </blockquote><p>
8190                        
8191    </p>
8192    <p>Example:
8193    </p>
8194    <p>
8195                            </p>
8196    <blockquote class="text">
8197    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8198    </p>
8199    <p>S: "'Bosendorfer 290','Steinway D'"
8200    </p>
8201    </blockquote><p>
8202                        
8203    </p>
8204    <p>
8205                            </p>
8206    <blockquote class="text">
8207    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8208    </p>
8209    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8210    </p>
8211    </blockquote><p>
8212                        
8213    </p>
8214    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8215    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8216    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8217    Getting instrument information</h3>
8218    
8219    <p>The front-end can ask for the current settings of an
8220                        instrument by sending the following command:
8221    </p>
8222    <p>
8223                            </p>
8224    <blockquote class="text">
8225    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8226    </p>
8227    </blockquote><p>
8228                        
8229    </p>
8230    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8231                        name of the instrument the front-end is interested in.
8232    </p>
8233    <p>Possible Answers:
8234    </p>
8235    <p>
8236                            </p>
8237    <blockquote class="text">
8238    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8239                                Each answer line begins with the settings category name
8240                                followed by a colon and then a space character &lt;SP&gt; and finally
8241                                the info character string to that setting category. At the
8242                                moment the following categories are defined:
8243    </p>
8244    <p>
8245                                    </p>
8246    <blockquote class="text">
8247    <p>INSTRUMENT_FILE -
8248                                            </p>
8249    <blockquote class="text">
8250    <p>File name of the instrument.
8251    </p>
8252    </blockquote>
8253                                        
8254    
8255    <p>INSTRUMENT_NR -
8256                                            </p>
8257    <blockquote class="text">
8258    <p>Index of the instrument within the file.
8259    </p>
8260    </blockquote>
8261                                        
8262    
8263    <p>FORMAT_FAMILY -
8264                                            </p>
8265    <blockquote class="text">
8266    <p>The format family of the instrument.
8267    </p>
8268    </blockquote>
8269                                        
8270    
8271    <p>FORMAT_VERSION -
8272                                            </p>
8273    <blockquote class="text">
8274    <p>The format version of the instrument.
8275    </p>
8276    </blockquote>
8277                                        
8278    
8279    <p>SIZE -
8280                                            </p>
8281    <blockquote class="text">
8282    <p>The size of the instrument in bytes.
8283    </p>
8284    </blockquote>
8285                                        
8286    
8287    <p>CREATED -
8288                                            </p>
8289    <blockquote class="text">
8290    <p>The date and time when the instrument is added
8291                                                in the instruments database, represented in
8292                                               "YYYY-MM-DD HH:MM:SS" format
8293    </p>
8294    </blockquote>
8295                                        
8296    
8297    <p>MODIFIED -
8298                                            </p>
8299    <blockquote class="text">
8300    <p>The date and time of the last modification of the
8301                                                instrument's database settings, represented in
8302                                                "YYYY-MM-DD HH:MM:SS" format
8303    </p>
8304    </blockquote>
8305                                        
8306    
8307    <p>DESCRIPTION -
8308                                            </p>
8309    <blockquote class="text">
8310    <p>A brief description of the instrument
8311    </p>
8312    </blockquote>
8313                                        
8314    
8315    <p>IS_DRUM -
8316                                            </p>
8317    <blockquote class="text">
8318    <p>either true or false, determines whether the
8319                                                instrument is a drumkit or a chromatic instrument
8320    </p>
8321    </blockquote>
8322                                        
8323    
8324    <p>PRODUCT -
8325                                            </p>
8326    <blockquote class="text">
8327    <p>The product title of the instrument
8328    </p>
8329    </blockquote>
8330                                        
8331    
8332    <p>ARTISTS -
8333                                            </p>
8334    <blockquote class="text">
8335    <p>Lists the artist names
8336    </p>
8337    </blockquote>
8338                                        
8339    
8340    <p>KEYWORDS -
8341                                            </p>
8342    <blockquote class="text">
8343    <p>Provides a list of keywords that refer to the instrument.
8344                                                Keywords are separated with semicolon and blank.
8345    </p>
8346    </blockquote>
8347                                        
8348    
8349    </blockquote>
8350                                
8351    
8352    </blockquote><p>
8353                        
8354    </p>
8355    <p>The mentioned fields above don't have to be in particular order.
8356    </p>
8357    <p>Example:
8358    </p>
8359    <p>
8360                            </p>
8361    <blockquote class="text">
8362    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8363    </p>
8364    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8365    </p>
8366    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8367    </p>
8368    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8369    </p>
8370    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8371    </p>
8372    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8373    </p>
8374    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8375    </p>
8376    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8377    </p>
8378    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8379    </p>
8380    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8381    </p>
8382    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8383    </p>
8384    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8385    </p>
8386    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8387    </p>
8388    <p>&nbsp;&nbsp;&nbsp;"."
8389    </p>
8390    </blockquote><p>
8391                        
8392    </p>
8393    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8394    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8395    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8396    Renaming an instrument</h3>
8397    
8398    <p>The front-end can alter the name of a specific
8399                        instrument by sending the following command:
8400    </p>
8401    <p>
8402                            </p>
8403    <blockquote class="text">
8404    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8405    </p>
8406    </blockquote><p>
8407                        
8408    </p>
8409    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8410                        &lt;name&gt; is the new name for that instrument.
8411    </p>
8412    <p>Possible Answers:
8413    </p>
8414    <p>
8415                            </p>
8416    <blockquote class="text">
8417    <p>"OK" -
8418                                    </p>
8419    <blockquote class="text">
8420    <p>on success
8421    </p>
8422    </blockquote>
8423                                
8424    
8425    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8426                                    </p>
8427    <blockquote class="text">
8428    <p>in case the given instrument does not exists,
8429                                        or if an instrument with name equal to the new
8430                                        name already exists.
8431    </p>
8432    </blockquote>
8433                                
8434    
8435    </blockquote><p>
8436                        
8437    </p>
8438    <p>Example:
8439    </p>
8440    <p>
8441                            </p>
8442    <blockquote class="text">
8443    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8444    </p>
8445    <p>S: "OK"
8446    </p>
8447    </blockquote><p>
8448                        
8449    </p>
8450    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8451    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8452    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8453    Moving an instrument</h3>
8454    
8455    <p>The front-end can move a specific instrument to another directory by
8456                        sending the following command:
8457    </p>
8458    <p>
8459                            </p>
8460    <blockquote class="text">
8461    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8462    </p>
8463    </blockquote><p>
8464                        
8465    </p>
8466    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8467                        to move and &lt;dst&gt; is the directory where the instrument will
8468                        be moved to.
8469    </p>
8470    <p>Possible Answers:
8471    </p>
8472    <p>
8473                            </p>
8474    <blockquote class="text">
8475    <p>"OK" -
8476                                    </p>
8477    <blockquote class="text">
8478    <p>on success
8479    </p>
8480    </blockquote>
8481                                
8482    
8483    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8484                                    </p>
8485    <blockquote class="text">
8486    <p>in case the given instrument does not exists,
8487                                        or if an instrument with name equal to the name of the
8488                                        specified instrument already exists in the destination
8489                                        directory.
8490    </p>
8491    </blockquote>
8492                                
8493    
8494    </blockquote><p>
8495                        
8496    </p>
8497    <p>Example:
8498    </p>
8499    <p>
8500                            </p>
8501    <blockquote class="text">
8502    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8503    </p>
8504    <p>S: "OK"
8505    </p>
8506    </blockquote><p>
8507                        
8508    </p>
8509    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8510    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8511    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8512    Copying instruments</h3>
8513    
8514    <p>The front-end can copy a specific instrument to another directory by
8515                        sending the following command:
8516    </p>
8517    <p>
8518                            </p>
8519    <blockquote class="text">
8520    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8521    </p>
8522    </blockquote><p>
8523                        
8524    </p>
8525    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8526                        to copy and &lt;dst&gt; is the directory where the instrument will
8527                        be copied to.
8528    </p>
8529    <p>Possible Answers:
8530    </p>
8531    <p>
8532                            </p>
8533    <blockquote class="text">
8534    <p>"OK" -
8535                                    </p>
8536    <blockquote class="text">
8537    <p>on success
8538    </p>
8539    </blockquote>
8540                                
8541    
8542    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8543                                    </p>
8544    <blockquote class="text">
8545    <p>in case the given instrument does not exists,
8546                                        or if an instrument with name equal to the name of the
8547                                        specified instrument already exists in the destination
8548                                        directory.
8549    </p>
8550    </blockquote>
8551                                
8552    
8553    </blockquote><p>
8554                        
8555    </p>
8556    <p>Example:
8557    </p>
8558    <p>
8559                            </p>
8560    <blockquote class="text">
8561    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8562    </p>
8563    <p>S: "OK"
8564    </p>
8565    </blockquote><p>
8566                        
8567    </p>
8568    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8569    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8570    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8571    Changing the description of instrument</h3>
8572    
8573    <p>The front-end can alter the description of a specific
8574                        instrument by sending the following command:
8575    </p>
8576    <p>
8577                            </p>
8578    <blockquote class="text">
8579    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8580    </p>
8581    </blockquote><p>
8582                        
8583    </p>
8584    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8585                        &lt;desc&gt; is the new description for the instrument.
8586    </p>
8587    <p>Possible Answers:
8588    </p>
8589    <p>
8590                            </p>
8591    <blockquote class="text">
8592    <p>"OK" -
8593                                    </p>
8594    <blockquote class="text">
8595    <p>on success
8596    </p>
8597    </blockquote>
8598                                
8599    
8600    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8601                                    </p>
8602    <blockquote class="text">
8603    <p>in case the given instrument does not exists.
8604    </p>
8605    </blockquote>
8606                                
8607    
8608    </blockquote><p>
8609                        
8610    </p>
8611    <p>Example:
8612    </p>
8613    <p>
8614                            </p>
8615    <blockquote class="text">
8616    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8617    </p>
8618    <p>S: "OK"
8619    </p>
8620    </blockquote><p>
8621                        
8622    </p>
8623    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8624    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8625    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8626    Finding instruments</h3>
8627    
8628    <p>The front-end can search for instruments
8629                        in specific directory by sending the following command:
8630    </p>
8631    <p>
8632                            </p>
8633    <blockquote class="text">
8634    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8635    </p>
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p>Where &lt;dir&gt; should be replaced by the absolute path
8640                        name of the directory to search in. If NON_RECURSIVE is specified, the
8641                        directories located in subdirectories of the specified directory will not
8642                        be searched. &lt;criteria-list&gt; is a list of search criterias
8643                        in form of "key1=val1 key2=val2 ...". The following criterias are
8644                        allowed:
8645    </p>
8646    <p>
8647                          
8648    <p>NAME='&lt;search-string&gt;'
8649                              </p>
8650    <blockquote class="text">
8651    <p>Restricts the search to instruments, which names
8652                                  satisfy the supplied search string.
8653    </p>
8654    </blockquote><p>
8655                          
8656    </p>
8657    
8658                          
8659    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8660                              </p>
8661    <blockquote class="text">
8662    <p>Restricts the search to instruments, which
8663                                  size is in the specified range. If &lt;min&gt; is omitted,
8664                                  the search results are restricted to instruments with size less then
8665                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8666                                  search is restricted to instruments with size greater then
8667                                  or equal to &lt;min&gt;.
8668    </p>
8669    </blockquote><p>
8670                          
8671    </p>
8672    
8673                          
8674    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8675                              </p>
8676    <blockquote class="text">
8677    <p>Restricts the search to instruments, which creation
8678                                  date satisfies the specified period, where &lt;date-after&gt;
8679                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8680                                  If &lt;date-after&gt; is omitted the search is restricted to
8681                                  instruments created before &lt;date-before&gt;. If
8682                                  &lt;date-before&gt; is omitted, the search is restricted
8683                                  to instruments created after &lt;date-after&gt;.
8684    </p>
8685    </blockquote><p>
8686                          
8687    </p>
8688    
8689                          
8690    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8691                              </p>
8692    <blockquote class="text">
8693    <p>Restricts the search to instruments, which
8694                                  date of last modification satisfies the specified period, where
8695                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8696                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8697                                  instruments, which are last modified before &lt;date-before&gt;. If
8698                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8699                                  which are last modified after &lt;date-after&gt;.
8700    </p>
8701    </blockquote><p>
8702                          
8703    </p>
8704    
8705                          
8706    <p>DESCRIPTION='&lt;search-string&gt;'
8707                              </p>
8708    <blockquote class="text">
8709    <p>Restricts the search to instruments with description
8710                                  that satisfies the supplied search string.
8711    </p>
8712    </blockquote><p>
8713                          
8714    </p>
8715    
8716                          
8717    <p>PRODUCT='&lt;search-string&gt;'
8718                              </p>
8719    <blockquote class="text">
8720    <p>Restricts the search to instruments with product info
8721                                  that satisfies the supplied search string.
8722    </p>
8723    </blockquote><p>
8724                          
8725    </p>
8726    
8727                          
8728    <p>ARTISTS='&lt;search-string&gt;'
8729                              </p>
8730    <blockquote class="text">
8731    <p>Restricts the search to instruments with artists info
8732                                  that satisfies the supplied search string.
8733    </p>
8734    </blockquote><p>
8735                          
8736    </p>
8737    
8738                          
8739    <p>KEYWORDS='&lt;search-string&gt;'
8740                              </p>
8741    <blockquote class="text">
8742    <p>Restricts the search to instruments with keyword list
8743                                  that satisfies the supplied search string.
8744    </p>
8745    </blockquote><p>
8746                          
8747    </p>
8748    
8749                          
8750    <p>IS_DRUM=true | false
8751                              </p>
8752    <blockquote class="text">
8753    <p>Either true or false. Restricts the search to
8754                                  drum kits or chromatic instruments.
8755    </p>
8756    </blockquote><p>
8757                          
8758    </p>
8759    
8760                          
8761    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8762                              </p>
8763    <blockquote class="text">
8764    <p>Restricts the search to instruments of the supplied format families,
8765                                  where &lt;format-list&gt; is a comma separated list of format families.
8766    </p>
8767    </blockquote><p>
8768                          
8769    </p>
8770                        
8771    
8772    <p>Where &lt;search-string&gt; is either a regular expression, or a
8773                        word list separated with spaces for OR search and with '+' for AND search.
8774    </p>
8775    <p>Possible Answers:
8776    </p>
8777    <p>
8778                            </p>
8779    <blockquote class="text">
8780    <p>A comma separated list with the absolute path names (encapsulated into
8781                                apostrophes) of all instruments in the specified directory that satisfy
8782                                the supplied search criterias.
8783    </p>
8784    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8785                                    </p>
8786    <blockquote class="text">
8787    <p>if the given directory does not exist.
8788    </p>
8789    </blockquote>
8790                                
8791    
8792    </blockquote><p>
8793                        
8794    </p>
8795    <p>Example:
8796    </p>
8797    <p>
8798                            </p>
8799    <blockquote class="text">
8800    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8801    </p>
8802    <p>S: "'/Piano Collection/Bosendorfer 290'"
8803    </p>
8804    </blockquote><p>
8805                        
8806    </p>
8807    <p>
8808                            </p>
8809    <blockquote class="text">
8810    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8811    </p>
8812    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8813    </p>
8814    </blockquote><p>
8815                        
8816    </p>
8817    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8818    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8819    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8820    Getting job status information</h3>
8821    
8822    <p>The front-end can ask for the current status of a
8823                        particular database instruments job by sending the following command:
8824    </p>
8825    <p>
8826                            </p>
8827    <blockquote class="text">
8828    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8829    </p>
8830    </blockquote><p>
8831                        
8832    </p>
8833    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8834                        of the job the front-end is interested in.
8835    </p>
8836    <p>Possible Answers:
8837    </p>
8838    <p>
8839                            </p>
8840    <blockquote class="text">
8841    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8842                                Each answer line begins with the settings category name
8843                                followed by a colon and then a space character &lt;SP&gt; and finally
8844                                the info character string to that setting category. At the
8845                                moment the following categories are defined:
8846    </p>
8847    <p>
8848                                    </p>
8849    <blockquote class="text">
8850    <p>FILES_TOTAL -
8851                                            </p>
8852    <blockquote class="text">
8853    <p>The total number of files scheduled for scanning
8854    </p>
8855    </blockquote>
8856                                        
8857    
8858    <p>FILES_SCANNED -
8859                                            </p>
8860    <blockquote class="text">
8861    <p>The current number of scanned files
8862    </p>
8863    </blockquote>
8864                                        
8865    
8866    <p>SCANNING -
8867                                            </p>
8868    <blockquote class="text">
8869    <p>The absolute path name of the file which is currently
8870                                                being scanned
8871    </p>
8872    </blockquote>
8873                                        
8874    
8875    <p>STATUS -
8876                                            </p>
8877    <blockquote class="text">
8878    <p>An integer value between 0 and 100 indicating the
8879                                                scanning progress percentage of the file which is
8880                                                currently being scanned
8881    </p>
8882    </blockquote>
8883                                        
8884    
8885    </blockquote>
8886                                
8887    
8888    </blockquote><p>
8889                        
8890    </p>
8891    <p>The mentioned fields above don't have to be in particular order.
8892    </p>
8893    <p>Example:
8894    </p>
8895    <p>
8896                            </p>
8897    <blockquote class="text">
8898    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8899    </p>
8900    <p>S: "FILES_TOTAL: 12"
8901    </p>
8902    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8903    </p>
8904    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8905    </p>
8906    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8907    </p>
8908    <p>&nbsp;&nbsp;&nbsp;"."
8909    </p>
8910    </blockquote><p>
8911                        
8912    </p>
8913  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
8914  <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>
8915  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
8916    Command Syntax</h3>
8917    
8918  <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>  <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>
8919              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>)              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>)
8920              where applicable.              where applicable.
8921                            
8922  </p>  </p>
# Line 5201  Intellectual Property and Copyright Stat Line 8974  Intellectual Property and Copyright Stat
8974  <p>command =  <p>command =
8975          </p>          </p>
8976  <blockquote class="text">  <blockquote class="text">
8977  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
8978                    
8979    </p>
8980    <p>/ MAP SP map_instruction
8981                    
8982    </p>
8983    <p>/ UNMAP SP unmap_instruction
8984                                    
8985  </p>  </p>
8986  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 5219  Intellectual Property and Copyright Stat Line 8998  Intellectual Property and Copyright Stat
8998  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
8999                                    
9000  </p>  </p>
9001  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
9002                                    
9003  </p>  </p>
9004  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5231  Intellectual Property and Copyright Stat Line 9010  Intellectual Property and Copyright Stat
9010  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9011                                    
9012  </p>  </p>
9013  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
9014                    
9015    </p>
9016    <p>/ CLEAR SP clear_instruction
9017                                    
9018  </p>  </p>
9019  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ FIND SP find_instruction
9020                    
9021    </p>
9022    <p>/ MOVE SP move_instruction
9023                    
9024    </p>
9025    <p>/ COPY SP copy_instruction
9026                    
9027    </p>
9028    <p>/ EDIT SP edit_instruction
9029                                    
9030  </p>  </p>
9031  <p>/ RESET  <p>/ RESET
# Line 5246  Intellectual Property and Copyright Stat Line 9037  Intellectual Property and Copyright Stat
9037  </blockquote><p>  </blockquote><p>
9038    
9039  </p>  </p>
9040    <p>add_instruction =
9041            </p>
9042    <blockquote class="text">
9043    <p>CHANNEL
9044                    
9045    </p>
9046    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9047                    
9048    </p>
9049    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP pathname SP pathname
9050                    
9051    </p>
9052    <p>/ DB_INSTRUMENTS SP scan_mode SP pathname SP pathname
9053                    
9054    </p>
9055    <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname
9056                    
9057    </p>
9058    <p>/ DB_INSTRUMENTS SP NON_MODAL SP pathname SP pathname SP instrument_index
9059                    
9060    </p>
9061    <p>/ DB_INSTRUMENTS SP pathname SP pathname
9062                    
9063    </p>
9064    <p>/ DB_INSTRUMENTS SP pathname SP pathname SP instrument_index
9065                    
9066    </p>
9067    <p>/ MIDI_INSTRUMENT_MAP
9068                    
9069    </p>
9070    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9071                    
9072    </p>
9073    </blockquote><p>
9074    
9075    </p>
9076  <p>subscribe_event =  <p>subscribe_event =
9077          </p>          </p>
9078  <blockquote class="text">  <blockquote class="text">
9079  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9080                    
9081    </p>
9082    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9083                    
9084    </p>
9085    <p>/ MIDI_INPUT_DEVICE_COUNT
9086                    
9087    </p>
9088    <p>/ MIDI_INPUT_DEVICE_INFO
9089                    
9090    </p>
9091    <p>/ CHANNEL_COUNT
9092                                    
9093  </p>  </p>
9094  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5264  Intellectual Property and Copyright Stat Line 9103  Intellectual Property and Copyright Stat
9103  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9104                                    
9105  </p>  </p>
9106    <p>/ FX_SEND_COUNT
9107                    
9108    </p>
9109    <p>/ FX_SEND_INFO
9110                    
9111    </p>
9112    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9113                    
9114    </p>
9115    <p>/ MIDI_INSTRUMENT_MAP_INFO
9116                    
9117    </p>
9118    <p>/ MIDI_INSTRUMENT_COUNT
9119                    
9120    </p>
9121    <p>/ MIDI_INSTRUMENT_INFO
9122                    
9123    </p>
9124    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9125                    
9126    </p>
9127    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9128                    
9129    </p>
9130    <p>/ DB_INSTRUMENT_COUNT
9131                    
9132    </p>
9133    <p>/ DB_INSTRUMENT_INFO
9134                    
9135    </p>
9136    <p>/ DB_INSTRUMENTS_JOB_INFO
9137                    
9138    </p>
9139  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9140                                    
9141  </p>  </p>
9142  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9143                                    
9144  </p>  </p>
9145    <p>/ GLOBAL_INFO
9146                    
9147    </p>
9148  </blockquote><p>  </blockquote><p>
9149    
9150  </p>  </p>
9151  <p>unsubscribe_event =  <p>unsubscribe_event =
9152          </p>          </p>
9153  <blockquote class="text">  <blockquote class="text">
9154  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9155                    
9156    </p>
9157    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9158                    
9159    </p>
9160    <p>/ MIDI_INPUT_DEVICE_COUNT
9161                    
9162    </p>
9163    <p>/ MIDI_INPUT_DEVICE_INFO
9164                    
9165    </p>
9166    <p>/ CHANNEL_COUNT
9167                                    
9168  </p>  </p>
9169  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5291  Intellectual Property and Copyright Stat Line 9178  Intellectual Property and Copyright Stat
9178  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9179                                    
9180  </p>  </p>
9181    <p>/ FX_SEND_COUNT
9182                    
9183    </p>
9184    <p>/ FX_SEND_INFO
9185                    
9186    </p>
9187    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9188                    
9189    </p>
9190    <p>/ MIDI_INSTRUMENT_MAP_INFO
9191                    
9192    </p>
9193    <p>/ MIDI_INSTRUMENT_COUNT
9194                    
9195    </p>
9196    <p>/ MIDI_INSTRUMENT_INFO
9197                    
9198    </p>
9199    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9200                    
9201    </p>
9202    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9203                    
9204    </p>
9205    <p>/ DB_INSTRUMENT_COUNT
9206                    
9207    </p>
9208    <p>/ DB_INSTRUMENT_INFO
9209                    
9210    </p>
9211    <p>/ DB_INSTRUMENTS_JOB_INFO
9212                    
9213    </p>
9214  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9215                                    
9216  </p>  </p>
9217  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9218                                    
9219  </p>  </p>
9220    <p>/ GLOBAL_INFO
9221                    
9222    </p>
9223    </blockquote><p>
9224    
9225    </p>
9226    <p>map_instruction =
9227            </p>
9228    <blockquote class="text">
9229    <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
9230                    
9231    </p>
9232    <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
9233                    
9234    </p>
9235    <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
9236                    
9237    </p>
9238    <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
9239                    
9240    </p>
9241    </blockquote><p>
9242    
9243    </p>
9244    <p>unmap_instruction =
9245            </p>
9246    <blockquote class="text">
9247    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9248                    
9249    </p>
9250    </blockquote><p>
9251    
9252    </p>
9253    <p>remove_instruction =
9254            </p>
9255    <blockquote class="text">
9256    <p>CHANNEL SP sampler_channel
9257                    
9258    </p>
9259    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9260                    
9261    </p>
9262    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9263                    
9264    </p>
9265    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP pathname
9266                    
9267    </p>
9268    <p>/ DB_INSTRUMENT_DIRECTORY SP pathname
9269                    
9270    </p>
9271    <p>/ DB_INSTRUMENT SP pathname
9272                    
9273    </p>
9274  </blockquote><p>  </blockquote><p>
9275    
9276  </p>  </p>
# Line 5381  Intellectual Property and Copyright Stat Line 9355  Intellectual Property and Copyright Stat
9355  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
9356                                    
9357  </p>  </p>
9358    <p>/ MIDI_INSTRUMENTS SP midi_map
9359                    
9360    </p>
9361    <p>/ MIDI_INSTRUMENTS SP ALL
9362                    
9363    </p>
9364    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9365                    
9366    </p>
9367    <p>/ MIDI_INSTRUMENT_MAPS
9368                    
9369    </p>
9370    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9371                    
9372    </p>
9373    <p>/ FX_SENDS SP sampler_channel
9374                    
9375    </p>
9376    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9377                    
9378    </p>
9379    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9380                    
9381    </p>
9382    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9383                    
9384    </p>
9385    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP pathname
9386                    
9387    </p>
9388    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9389                    
9390    </p>
9391    <p>/ DB_INSTRUMENTS SP pathname
9392                    
9393    </p>
9394    <p>/ DB_INSTRUMENT SP INFO SP pathname
9395                    
9396    </p>
9397    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9398                    
9399    </p>
9400    <p>/ VOLUME
9401                    
9402    </p>
9403  </blockquote><p>  </blockquote><p>
9404    
9405  </p>  </p>
# Line 5402  Intellectual Property and Copyright Stat Line 9421  Intellectual Property and Copyright Stat
9421  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
9422                                    
9423  </p>  </p>
9424    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9425                    
9426    </p>
9427    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9428                    
9429    </p>
9430    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9431                    
9432    </p>
9433    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9434                    
9435    </p>
9436    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9437                    
9438    </p>
9439    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP pathname SP dirname
9440                    
9441    </p>
9442    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP pathname SP stringval
9443                    
9444    </p>
9445    <p>/ DB_INSTRUMENT SP NAME SP pathname SP dirname
9446                    
9447    </p>
9448    <p>/ DB_INSTRUMENT SP DESCRIPTION SP pathname SP stringval
9449                    
9450    </p>
9451  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9452                                    
9453  </p>  </p>
9454    <p>/ VOLUME SP volume_value
9455                    
9456    </p>
9457  </blockquote><p>  </blockquote><p>
9458    
9459  </p>  </p>
# Line 5423  Intellectual Property and Copyright Stat Line 9472  Intellectual Property and Copyright Stat
9472  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
9473                                    
9474  </p>  </p>
9475    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
9476                    
9477    </p>
9478    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
9479                    
9480    </p>
9481    </blockquote><p>
9482    
9483    </p>
9484    <p>reset_instruction =
9485            </p>
9486    <blockquote class="text">
9487    <p>CHANNEL SP sampler_channel
9488                    
9489    </p>
9490    </blockquote><p>
9491    
9492    </p>
9493    <p>clear_instruction =
9494            </p>
9495    <blockquote class="text">
9496    <p>MIDI_INSTRUMENTS SP midi_map
9497                    
9498    </p>
9499    <p>/ MIDI_INSTRUMENTS SP ALL
9500                    
9501    </p>
9502    </blockquote><p>
9503    
9504    </p>
9505    <p>find_instruction =
9506            </p>
9507    <blockquote class="text">
9508    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP pathname SP query_val_list
9509                    
9510    </p>
9511    <p>/ DB_INSTRUMENTS SP pathname SP query_val_list
9512                    
9513    </p>
9514    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP pathname SP query_val_list
9515                    
9516    </p>
9517    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname SP query_val_list
9518                    
9519    </p>
9520    </blockquote><p>
9521    
9522    </p>
9523    <p>move_instruction =
9524            </p>
9525    <blockquote class="text">
9526    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9527                    
9528    </p>
9529    <p>/ DB_INSTRUMENT SP pathname SP pathname
9530                    
9531    </p>
9532    </blockquote><p>
9533    
9534    </p>
9535    <p>copy_instruction =
9536            </p>
9537    <blockquote class="text">
9538    <p>DB_INSTRUMENT_DIRECTORY SP pathname SP pathname
9539                    
9540    </p>
9541    <p>/ DB_INSTRUMENT SP pathname SP pathname
9542                    
9543    </p>
9544  </blockquote><p>  </blockquote><p>
9545    
9546  </p>  </p>
# Line 5435  Intellectual Property and Copyright Stat Line 9553  Intellectual Property and Copyright Stat
9553  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
9554                                    
9555  </p>  </p>
9556    <p>/ FX_SEND SP sampler_channel SP fx_send_id
9557                    
9558    </p>
9559  </blockquote><p>  </blockquote><p>
9560    
9561  </p>  </p>
# Line 5486  Intellectual Property and Copyright Stat Line 9607  Intellectual Property and Copyright Stat
9607  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
9608                                    
9609  </p>  </p>
9610    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
9611                    
9612    </p>
9613    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
9614                    
9615    </p>
9616    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
9617                    
9618    </p>
9619    </blockquote><p>
9620    
9621    </p>
9622    <p>edit_instruction =
9623            </p>
9624    <blockquote class="text">
9625    <p>INSTRUMENT SP sampler_channel
9626                    
9627    </p>
9628    </blockquote><p>
9629    
9630    </p>
9631    <p>modal_arg =
9632            </p>
9633    <blockquote class="text">
9634    <p>/* epsilon (empty argument) */
9635                    
9636    </p>
9637    <p>/ NON_MODAL SP
9638                    
9639    </p>
9640  </blockquote><p>  </blockquote><p>
9641    
9642  </p>  </p>
# Line 5534  Intellectual Property and Copyright Stat Line 9685  Intellectual Property and Copyright Stat
9685  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9686                                    
9687  </p>  </p>
9688    <p>/ MIDI_INSTRUMENTS SP midi_map
9689                    
9690    </p>
9691    <p>/ MIDI_INSTRUMENTS SP ALL
9692                    
9693    </p>
9694    <p>/ MIDI_INSTRUMENT_MAPS
9695                    
9696    </p>
9697    <p>/ FX_SENDS SP sampler_channel
9698                    
9699    </p>
9700    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP pathname
9701                    
9702    </p>
9703    <p>/ DB_INSTRUMENT_DIRECTORIES SP pathname
9704                    
9705    </p>
9706    <p>/ DB_INSTRUMENTS SP RECURSIVE SP pathname
9707                    
9708    </p>
9709    <p>/ DB_INSTRUMENTS SP pathname
9710                    
9711    </p>
9712  </blockquote><p>  </blockquote><p>
9713    
9714  </p>  </p>
# Line 5558  Intellectual Property and Copyright Stat Line 9733  Intellectual Property and Copyright Stat
9733  </blockquote><p>  </blockquote><p>
9734    
9735  </p>  </p>
9736    <p>instr_load_mode =
9737            </p>
9738    <blockquote class="text">
9739    <p>ON_DEMAND
9740                    
9741    </p>
9742    <p>/ ON_DEMAND_HOLD
9743                    
9744    </p>
9745    <p>/ PERSISTENT
9746                    
9747    </p>
9748    </blockquote><p>
9749    
9750    </p>
9751  <p>device_index =  <p>device_index =
9752          </p>          </p>
9753  <blockquote class="text">  <blockquote class="text">
# Line 5615  Intellectual Property and Copyright Stat Line 9805  Intellectual Property and Copyright Stat
9805  </blockquote><p>  </blockquote><p>
9806    
9807  </p>  </p>
9808    <p>midi_map =
9809            </p>
9810    <blockquote class="text">
9811    <p>number
9812                    
9813    </p>
9814    </blockquote><p>
9815    
9816    </p>
9817    <p>midi_bank =
9818            </p>
9819    <blockquote class="text">
9820    <p>number
9821                    
9822    </p>
9823    </blockquote><p>
9824    
9825    </p>
9826    <p>midi_prog =
9827            </p>
9828    <blockquote class="text">
9829    <p>number
9830                    
9831    </p>
9832    </blockquote><p>
9833    
9834    </p>
9835    <p>midi_ctrl =
9836            </p>
9837    <blockquote class="text">
9838    <p>number
9839                    
9840    </p>
9841    </blockquote><p>
9842    
9843    </p>
9844  <p>volume_value =  <p>volume_value =
9845          </p>          </p>
9846  <blockquote class="text">  <blockquote class="text">
# Line 5645  Intellectual Property and Copyright Stat Line 9871  Intellectual Property and Copyright Stat
9871  </blockquote><p>  </blockquote><p>
9872    
9873  </p>  </p>
9874    <p>fx_send_id =
9875            </p>
9876    <blockquote class="text">
9877    <p>number
9878                    
9879    </p>
9880    </blockquote><p>
9881    
9882    </p>
9883  <p>engine_name =  <p>engine_name =
9884          </p>          </p>
9885  <blockquote class="text">  <blockquote class="text">
# Line 5654  Intellectual Property and Copyright Stat Line 9889  Intellectual Property and Copyright Stat
9889  </blockquote><p>  </blockquote><p>
9890    
9891  </p>  </p>
9892    <p>pathname =
9893            </p>
9894    <blockquote class="text">
9895    <p>stringval
9896                    
9897    </p>
9898    </blockquote><p>
9899    
9900    </p>
9901    <p>dirname =
9902            </p>
9903    <blockquote class="text">
9904    <p>stringval
9905                    
9906    </p>
9907    </blockquote><p>
9908    
9909    </p>
9910  <p>filename =  <p>filename =
9911          </p>          </p>
9912  <blockquote class="text">  <blockquote class="text">
9913    <p>stringval_escaped
9914                    
9915    </p>
9916    </blockquote><p>
9917    
9918    </p>
9919    <p>map_name =
9920            </p>
9921    <blockquote class="text">
9922    <p>stringval
9923                    
9924    </p>
9925    </blockquote><p>
9926    
9927    </p>
9928    <p>entry_name =
9929            </p>
9930    <blockquote class="text">
9931    <p>stringval
9932                    
9933    </p>
9934    </blockquote><p>
9935    
9936    </p>
9937    <p>fx_send_name =
9938            </p>
9939    <blockquote class="text">
9940  <p>stringval  <p>stringval
9941                                    
9942  </p>  </p>
# Line 5693  Intellectual Property and Copyright Stat Line 9973  Intellectual Property and Copyright Stat
9973  </blockquote><p>  </blockquote><p>
9974    
9975  </p>  </p>
9976    <p>query_val_list =
9977            </p>
9978    <blockquote class="text">
9979    <p>string '=' query_val
9980                    
9981    </p>
9982    <p>/ query_val_list SP string '=' query_val
9983                    
9984    </p>
9985    </blockquote><p>
9986    
9987    </p>
9988    <p>query_val =
9989            </p>
9990    <blockquote class="text">
9991    <p>string
9992                    
9993    </p>
9994    <p>/ stringval
9995                    
9996    </p>
9997    </blockquote><p>
9998    
9999    </p>
10000    <p>scan_mode =
10001            </p>
10002    <blockquote class="text">
10003    <p>RECURSIVE
10004                    
10005    </p>
10006    <p>/ NON_RECURSIVE
10007                    
10008    </p>
10009    <p>/ FLAT
10010                    
10011    </p>
10012    </blockquote><p>
10013    
10014    </p>
10015    <a name="character_set"></a><br /><hr />
10016    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10017    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10018    Character Set and Escape Sequences</h3>
10019    
10020    <p>Older versions of this protocol up to and including v1.1 only
10021                    supported the standard ASCII character set (ASCII code 0 - 127)
10022                    <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
10023                    however support the Extended ASCII character set (ASCII code
10024                    0 - 255). The same group of younger protocols also support
10025                    escape sequences, but only for certain, explicitly declared
10026                    parts of the protocol. The supported escape sequences are
10027                    defined as follows:
10028    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10029    <col align="left"><col align="left">
10030    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10031    <tr>
10032    <td align="left">\n</td>
10033    <td align="left">new line</td>
10034    </tr>
10035    <tr>
10036    <td align="left">\r</td>
10037    <td align="left">carriage return</td>
10038    </tr>
10039    <tr>
10040    <td align="left">\f</td>
10041    <td align="left">form feed</td>
10042    </tr>
10043    <tr>
10044    <td align="left">\t</td>
10045    <td align="left">horizontal tab</td>
10046    </tr>
10047    <tr>
10048    <td align="left">\v</td>
10049    <td align="left">vertical tab</td>
10050    </tr>
10051    <tr>
10052    <td align="left">\'</td>
10053    <td align="left">apostrophe</td>
10054    </tr>
10055    <tr>
10056    <td align="left">\"</td>
10057    <td align="left">quotation mark</td>
10058    </tr>
10059    <tr>
10060    <td align="left">\\</td>
10061    <td align="left">backslash</td>
10062    </tr>
10063    <tr>
10064    <td align="left">\OOO</td>
10065    <td align="left">three digit octal ASCII code of the character</td>
10066    </tr>
10067    <tr>
10068    <td align="left">\xHH</td>
10069    <td align="left">two digit hex ASCII code of the character</td>
10070    </tr>
10071    </table>
10072    
10073    <p>Notice: due to the transition of certain parts of the
10074                    protocol which now support escape sequences, a slight backward
10075                    incompatibility to protocols version v1.1 and younger has been
10076                    introduced. The only difference is that in parts of the protocol
10077                    where escape characters are now supported, a backslash characters
10078                    MUST be escaped as well (that is as double backslash), whereas
10079                    in the old versions a single backslash was sufficient.
10080    </p>
10081  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10082  <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>
10083  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10084    Events</h3>
10085    
10086  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10087  </p>  </p>
10088  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10089  <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>
10090  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;Number of sampler channels changed</h3>  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
10091    Number of audio output devices changed</h3>
10092    
10093    <p>Client may want to be notified when the total number of audio output devices on the
10094                    back-end changes by issuing the following command:
10095    </p>
10096    <p>
10097                        </p>
10098    <blockquote class="text">
10099    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10100    </p>
10101    </blockquote><p>
10102                    
10103    </p>
10104    <p>Server will start sending the following notification messages:
10105    </p>
10106    <p>
10107                        </p>
10108    <blockquote class="text">
10109    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10110    </p>
10111    </blockquote><p>
10112                    
10113    </p>
10114    <p>where &lt;devices&gt; will be replaced by the new number
10115                    of audio output devices.
10116    </p>
10117    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10118    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10119    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10120    Audio output device's settings changed</h3>
10121    
10122    <p>Client may want to be notified when changes were made to audio output devices on the
10123                    back-end by issuing the following command:
10124    </p>
10125    <p>
10126                        </p>
10127    <blockquote class="text">
10128    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10129    </p>
10130    </blockquote><p>
10131                    
10132    </p>
10133    <p>Server will start sending the following notification messages:
10134    </p>
10135    <p>
10136                        </p>
10137    <blockquote class="text">
10138    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10139    </p>
10140    </blockquote><p>
10141                    
10142    </p>
10143    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10144                    which settings has been changed. The front-end will have to send
10145                    the respective command to actually get the audio output device info. Because these messages
10146                    will be triggered by LSCP commands issued by other clients rather than real
10147                    time events happening on the server, it is believed that an empty notification
10148                    message is sufficient here.
10149    </p>
10150    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10151    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10152    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10153    Number of MIDI input devices changed</h3>
10154    
10155    <p>Client may want to be notified when the total number of MIDI input devices on the
10156                    back-end changes by issuing the following command:
10157    </p>
10158    <p>
10159                        </p>
10160    <blockquote class="text">
10161    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10162    </p>
10163    </blockquote><p>
10164                    
10165    </p>
10166    <p>Server will start sending the following notification messages:
10167    </p>
10168    <p>
10169                        </p>
10170    <blockquote class="text">
10171    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10172    </p>
10173    </blockquote><p>
10174                    
10175    </p>
10176    <p>where &lt;devices&gt; will be replaced by the new number
10177                    of MIDI input devices.
10178    </p>
10179    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10180    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10181    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10182    MIDI input device's settings changed</h3>
10183    
10184    <p>Client may want to be notified when changes were made to MIDI input devices on the
10185                    back-end by issuing the following command:
10186    </p>
10187    <p>
10188                        </p>
10189    <blockquote class="text">
10190    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10191    </p>
10192    </blockquote><p>
10193                    
10194    </p>
10195    <p>Server will start sending the following notification messages:
10196    </p>
10197    <p>
10198                        </p>
10199    <blockquote class="text">
10200    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10201    </p>
10202    </blockquote><p>
10203                    
10204    </p>
10205    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10206                    which settings has been changed. The front-end will have to send
10207                    the respective command to actually get the MIDI input device info. Because these messages
10208                    will be triggered by LSCP commands issued by other clients rather than real
10209                    time events happening on the server, it is believed that an empty notification
10210                    message is sufficient here.
10211    </p>
10212    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10213    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10214    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10215    Number of sampler channels changed</h3>
10216    
10217  <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
10218                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5728  Intellectual Property and Copyright Stat Line 10239  Intellectual Property and Copyright Stat
10239                  of sampler channels.                  of sampler channels.
10240  </p>  </p>
10241  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10242  <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>
10243  <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;Number of active voices changed</h3>  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
10244    Number of active voices changed</h3>
10245    
10246  <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
10247                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5747  Intellectual Property and Copyright Stat Line 10259  Intellectual Property and Copyright Stat
10259  <p>  <p>
10260                      </p>                      </p>
10261  <blockquote class="text">  <blockquote class="text">
10262  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10263  </p>  </p>
10264  </blockquote><p>  </blockquote><p>
10265                                    
# Line 5757  Intellectual Property and Copyright Stat Line 10269  Intellectual Property and Copyright Stat
10269                  active voices on that channel.                  active voices on that channel.
10270  </p>  </p>
10271  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10272  <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>
10273  <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;Number of active disk streams changed</h3>  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
10274    Number of active disk streams changed</h3>
10275    
10276  <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
10277                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
# Line 5786  Intellectual Property and Copyright Stat Line 10299  Intellectual Property and Copyright Stat
10299                  active disk streams on that channel.                  active disk streams on that channel.
10300  </p>  </p>
10301  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10302  <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>
10303  <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;Disk stream buffer fill state changed</h3>  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
10304    Disk stream buffer fill state changed</h3>
10305    
10306  <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
10307                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
# Line 5812  Intellectual Property and Copyright Stat Line 10326  Intellectual Property and Copyright Stat
10326  </p>  </p>
10327  <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
10328                  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
10329                  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>                  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>
10330                  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.                  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.
10331  </p>  </p>
10332  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
10333  <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>
10334  <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;Channel information changed</h3>  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
10335    Channel information changed</h3>
10336    
10337  <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
10338                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 5847  Intellectual Property and Copyright Stat Line 10362  Intellectual Property and Copyright Stat
10362                  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
10363                  message is sufficient here.                  message is sufficient here.
10364  </p>  </p>
10365    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10366    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10367    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10368    Number of effect sends changed</h3>
10369    
10370    <p>Client may want to be notified when the number of effect sends on
10371                    a particular sampler channel is changed by issuing the following command:
10372    </p>
10373    <p>
10374                        </p>
10375    <blockquote class="text">
10376    <p>SUBSCRIBE FX_SEND_COUNT
10377    </p>
10378    </blockquote><p>
10379                    
10380    </p>
10381    <p>Server will start sending the following notification messages:
10382    </p>
10383    <p>
10384                        </p>
10385    <blockquote class="text">
10386    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10387    </p>
10388    </blockquote><p>
10389                    
10390    </p>
10391    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10392                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10393                    be replaced by the new number of effect sends on that channel.
10394    </p>
10395    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10396    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10397    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10398    Effect send information changed</h3>
10399    
10400    <p>Client may want to be notified when changes were made to effect sends on a
10401                    a particular sampler channel by issuing the following command:
10402    </p>
10403    <p>
10404                        </p>
10405    <blockquote class="text">
10406    <p>SUBSCRIBE FX_SEND_INFO
10407    </p>
10408    </blockquote><p>
10409                    
10410    </p>
10411    <p>Server will start sending the following notification messages:
10412    </p>
10413    <p>
10414                        </p>
10415    <blockquote class="text">
10416    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10417    </p>
10418    </blockquote><p>
10419                    
10420    </p>
10421    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10422                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10423                    be replaced by the numerical ID of the changed effect send.
10424    </p>
10425  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10426  <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>
10427  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;Total number of active voices changed</h3>  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
10428    Total number of active voices changed</h3>
10429    
10430  <p>Client may want to be notified when the total number of voices on the  <p>Client may want to be notified when the total number of voices on the
10431                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5867  Intellectual Property and Copyright Stat Line 10443  Intellectual Property and Copyright Stat
10443  <p>  <p>
10444                      </p>                      </p>
10445  <blockquote class="text">  <blockquote class="text">
10446  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10447  </p>  </p>
10448  </blockquote><p>  </blockquote><p>
10449                                    
# Line 5875  Intellectual Property and Copyright Stat Line 10451  Intellectual Property and Copyright Stat
10451  <p>where &lt;voices&gt; will be replaced by the new number of  <p>where &lt;voices&gt; will be replaced by the new number of
10452                  all currently active voices.                  all currently active voices.
10453  </p>  </p>
10454    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10455    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10456    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10457    Number of MIDI instrument maps changed</h3>
10458    
10459    <p>Client may want to be notified when the number of MIDI instrument maps on the
10460                    back-end changes by issuing the following command:
10461    </p>
10462    <p>
10463                        </p>
10464    <blockquote class="text">
10465    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
10466    </p>
10467    </blockquote><p>
10468                    
10469    </p>
10470    <p>Server will start sending the following notification messages:
10471    </p>
10472    <p>
10473                        </p>
10474    <blockquote class="text">
10475    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
10476    </p>
10477    </blockquote><p>
10478                    
10479    </p>
10480    <p>where &lt;maps&gt; will be replaced by the new number
10481                    of MIDI instrument maps.
10482    </p>
10483    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10484    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10485    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10486    MIDI instrument map information changed</h3>
10487    
10488    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
10489                    back-end by issuing the following command:
10490    </p>
10491    <p>
10492                        </p>
10493    <blockquote class="text">
10494    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
10495    </p>
10496    </blockquote><p>
10497                    
10498    </p>
10499    <p>Server will start sending the following notification messages:
10500    </p>
10501    <p>
10502                        </p>
10503    <blockquote class="text">
10504    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
10505    </p>
10506    </blockquote><p>
10507                    
10508    </p>
10509    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10510                    for which information changes occurred. The front-end will have to send
10511                    the respective command to actually get the MIDI instrument map info. Because these messages
10512                    will be triggered by LSCP commands issued by other clients rather than real
10513                    time events happening on the server, it is believed that an empty notification
10514                    message is sufficient here.
10515    </p>
10516    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10517    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10518    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10519    Number of MIDI instruments changed</h3>
10520    
10521    <p>Client may want to be notified when the number of MIDI instrument maps on the
10522                    back-end changes by issuing the following command:
10523    </p>
10524    <p>
10525                        </p>
10526    <blockquote class="text">
10527    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
10528    </p>
10529    </blockquote><p>
10530                    
10531    </p>
10532    <p>Server will start sending the following notification messages:
10533    </p>
10534    <p>
10535                        </p>
10536    <blockquote class="text">
10537    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
10538    </p>
10539    </blockquote><p>
10540                    
10541    </p>
10542    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
10543                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
10544                    the new number of MIDI instruments in the specified map.
10545    </p>
10546    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10547    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10548    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10549    MIDI instrument information changed</h3>
10550    
10551    <p>Client may want to be notified when changes were made to MIDI instruments on the
10552                    back-end by issuing the following command:
10553    </p>
10554    <p>
10555                        </p>
10556    <blockquote class="text">
10557    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
10558    </p>
10559    </blockquote><p>
10560                    
10561    </p>
10562    <p>Server will start sending the following notification messages:
10563    </p>
10564    <p>
10565                        </p>
10566    <blockquote class="text">
10567    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
10568    </p>
10569    </blockquote><p>
10570                    
10571    </p>
10572    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10573                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
10574                    the location of the changed MIDI instrument in the map. The front-end will have to send
10575                    the respective command to actually get the MIDI instrument info. Because these messages
10576                    will be triggered by LSCP commands issued by other clients rather than real
10577                    time events happening on the server, it is believed that an empty notification
10578                    message is sufficient here.
10579    </p>
10580    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10581    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10582    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10583    Global settings changed</h3>
10584    
10585    <p>Client may want to be notified when changes to the global settings
10586                    of the sampler were made by issuing the following command:
10587    </p>
10588    <p>
10589                        </p>
10590    <blockquote class="text">
10591    <p>SUBSCRIBE GLOBAL_INFO
10592    </p>
10593    </blockquote><p>
10594                    
10595    </p>
10596    <p>Server will start sending the following types of notification messages:
10597    </p>
10598    <p>
10599                        </p>
10600    <blockquote class="text">
10601    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10602                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10603                            replaced by the optional dotted floating point value, reflecting the
10604                            new global volume parameter.
10605    </p>
10606    </blockquote><p>
10607                    
10608    </p>
10609    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10610    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10611    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10612    Number of database instrument directories changed</h3>
10613    
10614    <p>Client may want to be notified when the number of instrument
10615                    directories in a particular directory in the instruments database
10616                    is changed by issuing the following command:
10617    </p>
10618    <p>
10619                        </p>
10620    <blockquote class="text">
10621    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10622    </p>
10623    </blockquote><p>
10624                    
10625    </p>
10626    <p>Server will start sending the following notification messages:
10627    </p>
10628    <p>
10629                        </p>
10630    <blockquote class="text">
10631    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10632    </p>
10633    </blockquote><p>
10634                    
10635    </p>
10636    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10637                    name of the directory in the instruments database,
10638                    in which the number of directories is changed.
10639    </p>
10640    <p>Note that when a non-empty directory is removed, this event
10641                    is not sent for the subdirectories in that directory.
10642    </p>
10643    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10644    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10645    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10646    Database instrument directory information changed</h3>
10647    
10648    <p>Client may want to be notified when changes were made to directories
10649                    in the instruments database by issuing the following command:
10650    </p>
10651    <p>
10652                        </p>
10653    <blockquote class="text">
10654    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10655    </p>
10656    </blockquote><p>
10657                    
10658    </p>
10659    <p>Server will start sending the following notification messages:
10660    </p>
10661    <p>
10662                        </p>
10663    <blockquote class="text">
10664    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10665    </p>
10666    </blockquote><p>
10667                    
10668    </p>
10669    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10670                    of the directory, for which information changes occurred. The front-end will have to send
10671                    the respective command to actually get the updated directory info. Because these messages
10672                    will be triggered by LSCP commands issued by other clients rather than real
10673                    time events happening on the server, it is believed that an empty notification
10674                    message is sufficient here.
10675    </p>
10676    <p>
10677                        </p>
10678    <blockquote class="text">
10679    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10680    </p>
10681    </blockquote><p>
10682                    
10683    </p>
10684    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
10685                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10686                    the new name of the directory, encapsulated into apostrophes.
10687    </p>
10688    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
10689    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10690    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
10691    Number of database instruments changed</h3>
10692    
10693    <p>Client may want to be notified when the number of instruments
10694                    in a particular directory in the instruments database
10695                    is changed by issuing the following command:
10696    </p>
10697    <p>
10698                        </p>
10699    <blockquote class="text">
10700    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
10701    </p>
10702    </blockquote><p>
10703                    
10704    </p>
10705    <p>Server will start sending the following notification messages:
10706    </p>
10707    <p>
10708                        </p>
10709    <blockquote class="text">
10710    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
10711    </p>
10712    </blockquote><p>
10713                    
10714    </p>
10715    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10716                    name of the directory in the instruments database,
10717                    in which the number of instruments is changed.
10718    </p>
10719    <p>Note that when a non-empty directory is removed, this event
10720                    is not sent for the instruments in that directory.
10721    </p>
10722    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
10723    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10724    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
10725    Database instrument information changed</h3>
10726    
10727    <p>Client may want to be notified when changes were made to instruments
10728                    in the instruments database by issuing the following command:
10729    </p>
10730    <p>
10731                        </p>
10732    <blockquote class="text">
10733    <p>SUBSCRIBE DB_INSTRUMENT_INFO
10734    </p>
10735    </blockquote><p>
10736                    
10737    </p>
10738    <p>Server will start sending the following notification messages:
10739    </p>
10740    <p>
10741                        </p>
10742    <blockquote class="text">
10743    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
10744    </p>
10745    </blockquote><p>
10746                    
10747    </p>
10748    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
10749                    of the instrument, which settings are changed. The front-end will have to send
10750                    the respective command to actually get the updated directory info. Because these messages
10751                    will be triggered by LSCP commands issued by other clients rather than real
10752                    time events happening on the server, it is believed that an empty notification
10753                    message is sufficient here.
10754    </p>
10755    <p>
10756                        </p>
10757    <blockquote class="text">
10758    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
10759    </p>
10760    </blockquote><p>
10761                    
10762    </p>
10763    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
10764                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
10765                    the new name of the instrument, encapsulated into apostrophes.
10766    </p>
10767    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
10768    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10769    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
10770    Database job status information changed</h3>
10771    
10772    <p>Client may want to be notified when the status of particular database
10773                    instruments job is changed by issuing the following command:
10774    </p>
10775    <p>
10776                        </p>
10777    <blockquote class="text">
10778    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
10779    </p>
10780    </blockquote><p>
10781                    
10782    </p>
10783    <p>Server will start sending the following notification messages:
10784    </p>
10785    <p>
10786                        </p>
10787    <blockquote class="text">
10788    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
10789    </p>
10790    </blockquote><p>
10791                    
10792    </p>
10793    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
10794                    which status is changed. The front-end will have to send the respective
10795                    command to actually get the status info. Because these messages
10796                    will be triggered by LSCP commands issued by other clients rather than real
10797                    time events happening on the server, it is believed that an empty notification
10798                    message is sufficient here.
10799    </p>
10800  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
10801  <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>
10802  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;Miscellaneous and debugging events</h3>  <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
10803    Miscellaneous and debugging events</h3>
10804    
10805  <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
10806                  the server by issuing the following command:                  the server by issuing the following command:
# Line 5905  Intellectual Property and Copyright Stat Line 10828  Intellectual Property and Copyright Stat
10828                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
10829  </p>  </p>
10830  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
10831  <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>
10832  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
10833    Security Considerations</h3>
10834    
10835  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
10836              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 5914  Intellectual Property and Copyright Stat Line 10838  Intellectual Property and Copyright Stat
10838              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
10839  </p>  </p>
10840  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
10841  <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>
10842  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
10843    Acknowledgments</h3>
10844    
10845  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
10846              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
# Line 5936  Intellectual Property and Copyright Stat Line 10861  Intellectual Property and Copyright Stat
10861                            
10862  </p>  </p>
10863  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
10864  <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>
10865  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
10866  <table width="99%" border="0">  <table width="99%" border="0">
10867    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
10868    <td class="author-text">UCLA, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc20.txt">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
10869  <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>
10870  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>  <td class="author-text">Bradner, S., &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2119.txt">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
10871  <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>
# Line 5948  Intellectual Property and Copyright Stat Line 10875  Intellectual Property and Copyright Stat
10875  </table>  </table>
10876    
10877  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
10878  <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>
10879  <h3>Author's Address</h3>  <h3>Author's Address</h3>
10880  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
10881  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 5966  Schoenebeck</td></tr> Line 10893  Schoenebeck</td></tr>
10893  <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>
10894  </table>  </table>
10895  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
10896  <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>
10897  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
10898  <p class='copyright'>  <p class='copyright'>
10899  The IETF takes no position regarding the validity or scope of  Copyright &copy; The IETF Trust (2007).</p>
 any intellectual property or other rights that might be claimed  
 to  pertain to the implementation or use of the technology  
 described in this document or the extent to which any license  
 under such rights might or might not be available; neither does  
 it represent that it has made any effort to identify any such  
 rights. Information on the IETF's procedures with respect to  
 rights in standards-track and standards-related documentation  
 can be found in BCP&nbsp;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>  
10900  <p class='copyright'>  <p class='copyright'>
10901  The IETF invites any interested party to bring to its  This document is subject to the rights,
10902  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
10903  other proprietary rights which may cover technology that may be  and except as set forth therein,
10904  required to practice this standard. Please address the  the authors retain all their rights.</p>
 information to the IETF Executive Director.</p>  
 <h3>Full Copyright Statement</h3>  
10905  <p class='copyright'>  <p class='copyright'>
10906  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  This document and the information contained herein are provided
10907    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
10908    THE ORGANIZATION HE/SHE REPRESENTS
10909    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
10910    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
10911    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
10912    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
10913    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
10914    PURPOSE.</p>
10915    <h3>Intellectual Property</h3>
10916  <p class='copyright'>  <p class='copyright'>
10917  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
10918  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
10919  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
10920  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
10921  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
10922  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
10923  document itself may not be modified in any way, such as by removing  such rights.
10924  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
10925  Internet organizations, except as needed for the purpose of  rights in RFC documents can be found in BCP&nbsp;78 and BCP&nbsp;79.</p>
 developing Internet standards in which case the procedures for  
 copyrights defined in the Internet Standards process must be  
 followed, or as required to translate it into languages other than  
 English.</p>  
10926  <p class='copyright'>  <p class='copyright'>
10927  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
10928  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
10929    or the result of an attempt made to obtain a general license or
10930    permission for the use of such proprietary rights by implementers or
10931    users of this specification can be obtained from the IETF on-line IPR
10932    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
10933  <p class='copyright'>  <p class='copyright'>
10934  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
10935  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
10936  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
10937  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
10938  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
10939  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
10940    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
10941  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
10942  <p class='copyright'>  <p class='copyright'>
10943  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
10944  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
10945  </body></html>  </body></html>

Legend:
Removed from v.940  
changed lines
  Added in v.1251

  ViewVC Help
Powered by ViewVC