/[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 1400 by schoenebeck, Thu Oct 11 18:59:34 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;
12          font-size: small ; color: #000000 ; background-color: #ffffff ; }          }
13      .title { color: #990000; font-size: x-large ;          h1, h2, h3, h4, h5, h6 {
14          font-weight: bold; text-align: right;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15          font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-weight: bold; font-style: normal;
16          background-color: transparent; }          }
17      .filename { color: #666666; font-size: 18px; line-height: 28px;          h1 { color: #900; background-color: transparent; text-align: right; }
18          font-weight: bold; text-align: right;          h3 { color: #333; background-color: transparent; }
19          font-family: helvetica, arial, sans-serif;  
20          background-color: transparent; }          td.RFCbug {
21      td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;                  font-size: x-small; text-decoration: none;
22          text-align: justify; vertical-align: middle ; padding-top: 2px ; }                  width: 30px; height: 30px; padding-top: 2px;
23      td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;                  text-align: justify; vertical-align: middle;
24          background-color: #000000 ;                  background-color: #000;
25          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
26          font-size: x-small ; }          td.RFCbug span.RFC {
27      td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28          text-align: center ;                  font-weight: bold; color: #666;
29          font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
30          font-size: x-small ; background-color: #000000; }          td.RFCbug span.hotText {
31      /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32      div#counter{margin-top: 100px}                  font-weight: normal; text-align: center; color: #FFF;
33            }
34      a.info{  
35          position:relative; /*this is the key*/          table.TOCbug { width: 30px; height: 15px; }
36          z-index:24;          td.TOCbug {
37          text-decoration:none}                  text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39      a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}          }
40            td.TOCbug a {
41      a.info span{display: none}                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43      a.info:hover span.info{ /*the span will display just on :hover state*/                  color: #FFF; background-color: transparent;
44          display:block;          }
45          position:absolute;  
46          font-size: smaller ;          td.header {
47          top:2em; left:2em; width:15em;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48          padding: 2px ;                  vertical-align: top; width: 33%;
49          border:1px solid #333333;                  color: #FFF; background-color: #666;
50          background-color:#eeeeee; color:#990000;          }
51          text-align: left ;}          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53       A { font-weight: bold; }  
54       A:link { color: #990000; background-color: transparent ; }          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55       A:visited { color: #333333; background-color: transparent ; }          a.info {
56       A:active { color: #333333; background-color: transparent ; }                  /* This is the key. */
57                    position: relative;
58      p { margin-left: 2em; margin-right: 2em; }                  z-index: 24;
59      p.copyright { font-size: x-small ; }                  text-decoration: none;
60      p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}          }
61      table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }          a.info:hover {
62      td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }                  z-index: 25;
63                    color: #FFF; background-color: #900;
64      span.emph { font-style: italic; }          }
65      span.strong { font-weight: bold; }          a.info span { display: none; }
66      span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }          a.info:hover span.info {
67                    /* The span will display just on :hover state. */
68      span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }                  display: block;
69      span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }                  position: absolute;
70      span.vdeluxe { font-weight: bold; font-style: italic; font-family: "Courier New", Courier, monospace ; }                  font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72      ol.text { margin-left: 2em; margin-right: 2em; }                  padding: 2px; border: 1px solid #333;
73      ul.text { margin-left: 2em; margin-right: 2em; }                  color: #900; background-color: #EEE;
74      li { margin-left: 3em;  }                  text-align: left;
   
     pre { margin-left: 3em; color: #333333;  background-color: transparent;  
         font-family: "Courier New", Courier, monospace ; font-size: small ;  
         text-align: left;  
75          }          }
76    
77      h3 { color: #333333; font-size: medium ;          a { font-weight: bold; }
78          font-family: helvetica, arial, sans-serif ;          a:link    { color: #900; background-color: transparent; }
79          background-color: transparent; }          a:visited { color: #633; background-color: transparent; }
80      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }          a:active  { color: #633; background-color: transparent; }
81    
82      table.bug { width: 30px ; height: 15px ; }          p { margin-left: 2em; margin-right: 2em; }
83      td.bug { color: #ffffff ; background-color: #990000 ;          p.copyright { font-size: x-small; }
84          text-align: center ; width: 30px ; height: 15px ;          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85           }          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86      td.bug A.link2 { color: #ffffff ; font-weight: bold;          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87          text-decoration: none;  
88          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;          ol.text { margin-left: 2em; margin-right: 2em; }
89          font-size: x-small ; background-color: transparent }          ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91      td.header { color: #ffffff; font-size: x-small ;  
92          font-family: arial, helvetica, sans-serif; vertical-align: top;          /* RFC-2629 <spanx>s and <artwork>s. */
93          background-color: #666666 ; width: 33% ; }          em     { font-style: italic; }
94      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }          strong { font-weight: bold; }
95      td.author-text { font-size: x-small; }          dfn    { font-weight: bold; font-style: normal; }
96      table.full { vertical-align: top ; border-collapse: collapse ;          cite   { font-weight: normal; font-style: normal; }
97          border-style: solid solid solid solid ;          tt     { color: #036; }
98          border-color: black black black black ;          tt, pre, pre dfn, pre em, pre cite, pre span {
99          font-size: small ; text-align: center ; }                  font-family: "Courier New", Courier, monospace; font-size: small;
100      table.headers, table.none { vertical-align: top ; border-collapse: collapse ;          }
101          border-style: none;          pre {
102          font-size: small ; text-align: center ; }                  text-align: left; padding: 4px;
103      table.full th { font-weight: bold ;                  color: #000; background-color: #CCC;
104          border-style: solid ;          }
105          border-color: black black black black ; }          pre dfn  { color: #900; }
106      table.headers th { font-weight: bold ;          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107          border-style: none none solid none;          pre .key { color: #33C; font-weight: bold; }
108          border-color: black black black black ; }          pre .id  { color: #900; }
109      table.none th { font-weight: bold ;          pre .str { color: #000; background-color: #CFF; }
110          border-style: none; }          pre .val { color: #066; }
111      table.full td {          pre .rep { color: #909; }
112          border-style: solid solid solid solid ;          pre .oth { color: #000; background-color: #FCF; }
113          border-color: #333333 #333333 #333333 #333333 ; }          pre .err { background-color: #FCC; }
114      table.headers td, table.none td { border-style: none; }  
115            /* RFC-2629 <texttable>s. */
116      hr { height: 1px }          table.all, table.full, table.headers, table.none {
117  -->                  font-size: small; text-align: center; border-width: 2px;
118  </style>                  vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></style>
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: 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: April 13, 2008</td><td class="header">October 11, 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 April 13, 2008.</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    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
436    Formatting the instruments database<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
438    Editing Instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
440    Opening an appropriate instrument editor application<br />
441  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
442  Command Syntax<br />  Command Syntax<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
444    Character Set and Escape Sequences<br />
445  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
446  Events<br />  Events<br />
447  &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;
448    Number of audio output devices changed<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
450    Audio output device's settings changed<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
452    Number of MIDI input devices changed<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
454    MIDI input device's settings changed<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
456  Number of sampler channels changed<br />  Number of sampler channels changed<br />
457  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;
458  Number of active voices changed<br />  Number of active voices changed<br />
459  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;
460  Number of active disk streams changed<br />  Number of active disk streams changed<br />
461  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;
462  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
463  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE INFO">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;
464  Channel information changed<br />  Channel information changed<br />
465  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.10.</a>&nbsp;
466    Number of effect sends changed<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
468    Effect send information changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
470  Total number of active voices changed<br />  Total number of active voices changed<br />
471  &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;
472    Number of MIDI instrument maps changed<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.14.</a>&nbsp;
474    MIDI instrument map information changed<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.15.</a>&nbsp;
476    Number of MIDI instruments changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.16.</a>&nbsp;
478    MIDI instrument information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.17.</a>&nbsp;
480    Global settings changed<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.18.</a>&nbsp;
482    Number of database instrument directories changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.19.</a>&nbsp;
484    Database instrument directory information changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.20.</a>&nbsp;
486    Number of database instruments changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.21.</a>&nbsp;
488    Database instrument information changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.22.</a>&nbsp;
490    Database job status information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.23.</a>&nbsp;
492  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
493  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
494  Security Considerations<br />  Security Considerations<br />
# Line 350  Intellectual Property and Copyright Stat Line 504  Intellectual Property and Copyright Stat
504  <br clear="all" />  <br clear="all" />
505    
506  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
507  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
508  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
509    Requirements notation</h3>
510    
511  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
512              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
513              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
514              described in <a class="info" href="#RFC2119">[RFC2119]<span> (</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>.
515  </p>  </p>
516  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
517              claimed the opposite.              claimed the opposite.
# Line 365  Intellectual Property and Copyright Stat Line 520  Intellectual Property and Copyright Stat
520              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
521              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
522              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
523              character as defined in the ASCII standard), thus the following              character as defined in the ASCII standard <a class='info' href='#RFC20'>[RFC20]<span> (</span><span class='info'>UCLA, &ldquo;ASCII format for Network Interchange,&rdquo; 1969.</span><span>)</span></a>),
524              example:              thus the following example:
525  </p>  </p>
526  <p>  <p>
527                  </p>                  </p>
# Line 432  Intellectual Property and Copyright Stat Line 587  Intellectual Property and Copyright Stat
587              return and line feed characters respectively.              return and line feed characters respectively.
588  </p>  </p>
589  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
590  <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>
591  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
592    Versioning of this specification</h3>
593    
594  <p>LSCP will certainly be extended and enhanced by-and-by. Each official  <p>LSCP will certainly be extended and enhanced by-and-by. Each official
595              release of the LSCP specification will be tagged with a unique version              release of the LSCP specification will be tagged with a unique version
# Line 476  Intellectual Property and Copyright Stat Line 632  Intellectual Property and Copyright Stat
632  <p>  <p>
633              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
634              The frontend can use the              The frontend can use the
635              <a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span> (</span><span class="info">General sampler informations</span><span>)</span></a> command to              <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
636              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
637                            
638  </p>  </p>
639  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
640  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
641  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
642    Introduction</h3>
643    
644  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
645              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 502  Intellectual Property and Copyright Stat Line 659  Intellectual Property and Copyright Stat
659              there.              there.
660  </p>  </p>
661  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
662  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
663  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
664    Focus of this protocol</h3>
665    
666  <p>Main focus of this protocol is to provide a way to configure  <p>Main focus of this protocol is to provide a way to configure
667              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 514  Intellectual Property and Copyright Stat Line 672  Intellectual Property and Copyright Stat
672              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
673  </p>  </p>
674  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
675  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
676  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
677    Communication Overview</h3>
678    
679  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
680              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 529  Intellectual Property and Copyright Stat Line 688  Intellectual Property and Copyright Stat
688              methods will be described next.              methods will be described next.
689  </p>  </p>
690  <a name="anchor5"></a><br /><hr />  <a name="anchor5"></a><br /><hr />
691  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
692  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;Request/response communication method</h3>  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
693    Request/response communication method</h3>
694    
695  <p>This simple communication method is based on  <p>This simple communication method is based on
696                  <a class="info" href="#RFC793">TCP<span> (</span><span class="info">Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The                  <a class='info' href='#RFC793'>TCP<span> (</span><span class='info'>Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The
697                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
698                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
699                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 574  Intellectual Property and Copyright Stat Line 734  Intellectual Property and Copyright Stat
734                  MUST be sent back in the same order.                  MUST be sent back in the same order.
735  </p>  </p>
736  <a name="anchor6"></a><br /><hr />  <a name="anchor6"></a><br /><hr />
737  <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>
738  <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;
739    Result format</h3>
740    
741  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
742  </p>  </p>
# Line 766  Intellectual Property and Copyright Stat Line 927  Intellectual Property and Copyright Stat
927                                            
928  </p>  </p>
929  <a name="anchor7"></a><br /><hr />  <a name="anchor7"></a><br /><hr />
930  <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>
931  <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;
932    Subscribe/notify communication method</h3>
933    
934  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
935                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 844  Intellectual Property and Copyright Stat Line 1006  Intellectual Property and Copyright Stat
1006  </p>  </p>
1007  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1008                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1009                  a list of supported events see <a class="info" href="#events">Section&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>.
1010  </p>  </p>
1011  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1012                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
# Line 890  Intellectual Property and Copyright Stat Line 1052  Intellectual Property and Copyright Stat
1052                  it wants to receive.                  it wants to receive.
1053  </p>  </p>
1054  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1055  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1056  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1057    Description for control commands</h3>
1058    
1059  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1060              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1061              commands (e.g. <a class="info" href="#GET CHANNEL INFO">"GET CHANNEL INFO"<span> (</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>
1062              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
1063              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1064              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1065  </p>  </p>
1066  <a name="anchor8"></a><br /><hr />  <a name="anchor8"></a><br /><hr />
1067  <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>
1068  <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;
1069    Ignored lines and comments</h3>
1070    
1071  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1072                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 911  Intellectual Property and Copyright Stat Line 1075  Intellectual Property and Copyright Stat
1075                  file.                  file.
1076  </p>  </p>
1077  <a name="anchor9"></a><br /><hr />  <a name="anchor9"></a><br /><hr />
1078  <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>
1079  <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;
1080    Configuring audio drivers</h3>
1081    
1082  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1083                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 946  Intellectual Property and Copyright Stat Line 1111  Intellectual Property and Copyright Stat
1111                  possible values, etc.                  possible values, etc.
1112  </p>  </p>
1113  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1114  <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>
1115  <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;
1116    Getting amount of available audio output drivers</h3>
1117    
1118  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1119                      audio output drivers currently available for the                      audio output drivers currently available for the
# Line 985  Intellectual Property and Copyright Stat Line 1151  Intellectual Property and Copyright Stat
1151                                            
1152  </p>  </p>
1153  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1154  <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>
1155  <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;
1156    Getting all available audio output drivers</h3>
1157    
1158  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1159                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
# Line 1025  Intellectual Property and Copyright Stat Line 1192  Intellectual Property and Copyright Stat
1192                                            
1193  </p>  </p>
1194  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1195  <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>
1196  <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;
1197    Getting information about a specific audio
1198                  output driver</h3>                  output driver</h3>
1199    
1200  <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 1211  Intellectual Property and Copyright Stat
1211  </p>  </p>
1212  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1213                      audio output driver, returned by the                      audio output driver, returned by the
1214                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</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.
1215  </p>  </p>
1216  <p>Possible Answers:  <p>Possible Answers:
1217  </p>  </p>
# Line 1124  Intellectual Property and Copyright Stat Line 1292  Intellectual Property and Copyright Stat
1292                                            
1293  </p>  </p>
1294  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1295  <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>
1296  <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;
1297    Getting information about specific audio
1298                  output driver parameter</h3>                  output driver parameter</h3>
1299    
1300  <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 1309  Intellectual Property and Copyright Stat
1309                                            
1310  </p>  </p>
1311  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1312                      driver as returned by the <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</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,
1313                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1314                      obtained (as returned by the                      obtained (as returned by the
1315                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">"GET AUDIO_OUTPUT_DRIVER INFO"<span> (</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
1316                      &lt;deplist&gt; is an optional list of parameters on which the sought                      &lt;deplist&gt; is an optional list of parameters on which the sought
1317                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value
1318                      pairs in form of "key1=val1 key2=val2 ...", where character string values                      pairs in form of "key1=val1 key2=val2 ...", where character string values
# Line 1200  Intellectual Property and Copyright Stat Line 1369  Intellectual Property and Copyright Stat
1369  <blockquote class="text">  <blockquote class="text">
1370  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1371                                  given when the device is to be created with the                                  given when the device is to be created with the
1372                                  <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</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>
1373                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1374  </p>  </p>
1375  </blockquote>  </blockquote>
# Line 1211  Intellectual Property and Copyright Stat Line 1380  Intellectual Property and Copyright Stat
1380  <blockquote class="text">  <blockquote class="text">
1381  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1382                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1383                                  the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</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>
1384                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1385  </p>  </p>
1386  </blockquote>  </blockquote>
# Line 1250  Intellectual Property and Copyright Stat Line 1419  Intellectual Property and Copyright Stat
1419  <blockquote class="text">  <blockquote class="text">
1420  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1421                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1422                                  given with the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</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,
1423                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1424                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1425                                  apostrophes (')                                  apostrophes (')
# Line 1378  Intellectual Property and Copyright Stat Line 1547  Intellectual Property and Copyright Stat
1547                                            
1548  </p>  </p>
1549  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1550  <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>
1551  <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;
1552    Creating an audio output device</h3>
1553    
1554  <p>Use the following command to create a new audio output device for  the desired audio output system:  <p>Use the following command to create a new audio output device for  the desired audio output system:
1555  </p>  </p>
# Line 1393  Intellectual Property and Copyright Stat Line 1563  Intellectual Property and Copyright Stat
1563  </p>  </p>
1564  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio
1565                      output system as returned by the                      output system as returned by the
1566                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class="info">Getting all available audio output drivers</span><span>)</span></a>                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a>
1567                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1568                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1569                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1462  Intellectual Property and Copyright Stat Line 1632  Intellectual Property and Copyright Stat
1632                                            
1633  </p>  </p>
1634  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1635  <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>
1636  <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;
1637    Destroying an audio output device</h3>
1638    
1639  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1640  </p>  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1648  Intellectual Property and Copyright Stat
1648  </p>  </p>
1649  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1650                      audio output device as given by the                      audio output device as given by the
1651                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</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>
1652                      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>
1653                      command.                      command.
1654  </p>  </p>
1655  <p>Possible Answers:  <p>Possible Answers:
# Line 1531  Intellectual Property and Copyright Stat Line 1702  Intellectual Property and Copyright Stat
1702                                            
1703  </p>  </p>
1704  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1705  <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>
1706  <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;
1707    Getting all created audio output device count</h3>
1708    
1709  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1710  </p>  </p>
# Line 1568  Intellectual Property and Copyright Stat Line 1740  Intellectual Property and Copyright Stat
1740                                            
1741  </p>  </p>
1742  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1743  <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>
1744  <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;
1745    Getting all created audio output device list</h3>
1746    
1747  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1748  </p>  </p>
# Line 1605  Intellectual Property and Copyright Stat Line 1778  Intellectual Property and Copyright Stat
1778                                            
1779  </p>  </p>
1780  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1781  <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>
1782  <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;
1783    Getting current settings of an audio output device</h3>
1784    
1785  <p>Use the following command to get current settings of a specific, created audio output device:  <p>Use the following command to get current settings of a specific, created audio output device:
1786  </p>  </p>
# Line 1620  Intellectual Property and Copyright Stat Line 1794  Intellectual Property and Copyright Stat
1794  </p>  </p>
1795  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1796                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1797                      <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</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.
1798  </p>  </p>
1799  <p>Possible Answers:  <p>Possible Answers:
1800  </p>  </p>
# Line 1640  Intellectual Property and Copyright Stat Line 1814  Intellectual Property and Copyright Stat
1814  <blockquote class="text">  <blockquote class="text">
1815  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1816                                      returned by the                                      returned by the
1817                                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</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>
1818                                      command                                      command
1819  </p>  </p>
1820  </blockquote>  </blockquote>
# Line 1681  Intellectual Property and Copyright Stat Line 1855  Intellectual Property and Copyright Stat
1855                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1856                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1857                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1858                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section&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>)
1859                      which are also returned by this command.                      which are also returned by this command.
1860  </p>  </p>
1861  <p>Example:  <p>Example:
# Line 1711  Intellectual Property and Copyright Stat Line 1885  Intellectual Property and Copyright Stat
1885                                            
1886  </p>  </p>
1887  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1888  <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>
1889  <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;
1890    Changing settings of audio output devices</h3>
1891    
1892  <p>Use the following command to alter a specific setting of a created audio output device:  <p>Use the following command to alter a specific setting of a created audio output device:
1893  </p>  </p>
# Line 1726  Intellectual Property and Copyright Stat Line 1901  Intellectual Property and Copyright Stat
1901  </p>  </p>
1902  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1903                      audio output device as given by the                      audio output device as given by the
1904                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1905                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1906                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1907                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1908  </p>  </p>
# Line 1779  Intellectual Property and Copyright Stat Line 1954  Intellectual Property and Copyright Stat
1954                                            
1955  </p>  </p>
1956  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1957  <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>
1958  <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;
1959    Getting information about an audio channel</h3>
1960    
1961  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1962  </p>  </p>
# Line 1793  Intellectual Property and Copyright Stat Line 1969  Intellectual Property and Copyright Stat
1969                                            
1970  </p>  </p>
1971  <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
1972                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1973                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1974                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
1975  </p>  </p>
1976  <p>Possible Answers:  <p>Possible Answers:
# Line 1921  Intellectual Property and Copyright Stat Line 2097  Intellectual Property and Copyright Stat
2097                                            
2098  </p>  </p>
2099  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2100  <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>
2101  <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;
2102    Getting information about specific audio channel parameter</h3>
2103    
2104  <p>Use the following command to get detailed information about specific audio channel parameter:  <p>Use the following command to get detailed information about specific audio channel parameter:
2105  </p>  </p>
# Line 1935  Intellectual Property and Copyright Stat Line 2112  Intellectual Property and Copyright Stat
2112                                            
2113  </p>  </p>
2114  <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
2115                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2116                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2117                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2118                      and &lt;param&gt; a specific channel parameter name for which information should                      and &lt;param&gt; a specific channel parameter name for which information should
2119                      be obtained (as returned by the <a class="info" href="#GET AUDIO_OUTPUT_CHANNEL INFO">"GET AUDIO_OUTPUT_CHANNEL INFO"<span> (</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).
2120  </p>  </p>
2121  <p>Possible Answers:  <p>Possible Answers:
2122  </p>  </p>
# Line 2067  Intellectual Property and Copyright Stat Line 2244  Intellectual Property and Copyright Stat
2244                                            
2245  </p>  </p>
2246  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2247  <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>
2248  <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;
2249    Changing settings of audio output channels</h3>
2250    
2251  <p>Use the following command to alter a specific setting of an audio output channel:  <p>Use the following command to alter a specific setting of an audio output channel:
2252  </p>  </p>
# Line 2081  Intellectual Property and Copyright Stat Line 2259  Intellectual Property and Copyright Stat
2259                                            
2260  </p>  </p>
2261  <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
2262                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2263                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2264                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2265                      parameter to change and &lt;value&gt; by the new value for this parameter.                      parameter to change and &lt;value&gt; by the new value for this parameter.
2266  </p>  </p>
# Line 2144  Intellectual Property and Copyright Stat Line 2322  Intellectual Property and Copyright Stat
2322                                            
2323  </p>  </p>
2324  <a name="anchor10"></a><br /><hr />  <a name="anchor10"></a><br /><hr />
2325  <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>
2326  <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;
2327    Configuring MIDI input drivers</h3>
2328    
2329  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2330                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as
# Line 2174  Intellectual Property and Copyright Stat Line 2353  Intellectual Property and Copyright Stat
2353                  possible values, etc.                  possible values, etc.
2354  </p>  </p>
2355  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2356  <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>
2357  <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;
2358    Getting amount of available MIDI input drivers</h3>
2359    
2360  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2361                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
# Line 2213  Intellectual Property and Copyright Stat Line 2393  Intellectual Property and Copyright Stat
2393                                            
2394  </p>  </p>
2395  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2396  <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>
2397  <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;
2398    Getting all available MIDI input drivers</h3>
2399    
2400  <p>Use the following command to list all MIDI input drivers currently available  <p>Use the following command to list all MIDI input drivers currently available
2401                      for the LinuxSampler instance:                      for the LinuxSampler instance:
# Line 2251  Intellectual Property and Copyright Stat Line 2432  Intellectual Property and Copyright Stat
2432                                            
2433  </p>  </p>
2434  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2435  <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>
2436  <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;
2437    Getting information about a specific MIDI input driver</h3>
2438    
2439  <p>Use the following command to get detailed information about a specific MIDI input driver:  <p>Use the following command to get detailed information about a specific MIDI input driver:
2440  </p>  </p>
# Line 2265  Intellectual Property and Copyright Stat Line 2447  Intellectual Property and Copyright Stat
2447                                            
2448  </p>  </p>
2449  <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
2450                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command.                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command.
2451  </p>  </p>
2452  <p>Possible Answers:  <p>Possible Answers:
2453  </p>  </p>
# Line 2332  Intellectual Property and Copyright Stat Line 2514  Intellectual Property and Copyright Stat
2514                                            
2515  </p>  </p>
2516  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2517  <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>
2518  <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;
2519    Getting information about specific MIDI input driver parameter</h3>
2520    
2521  <p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver:  <p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver:
2522  </p>  </p>
# Line 2346  Intellectual Property and Copyright Stat Line 2529  Intellectual Property and Copyright Stat
2529                                            
2530  </p>  </p>
2531  <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
2532                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific
2533                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2534                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span> (</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
2535                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2536                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",
2537                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2395  Intellectual Property and Copyright Stat Line 2578  Intellectual Property and Copyright Stat
2578  <blockquote class="text">  <blockquote class="text">
2579  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2580                                  given when the device is to be created with the                                  given when the device is to be created with the
2581                                  <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</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
2582                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2583  </p>  </p>
2584  </blockquote>  </blockquote>
# Line 2406  Intellectual Property and Copyright Stat Line 2589  Intellectual Property and Copyright Stat
2589  <blockquote class="text">  <blockquote class="text">
2590  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2591                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2592                                  the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</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
2593                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2594  </p>  </p>
2595  </blockquote>  </blockquote>
# Line 2445  Intellectual Property and Copyright Stat Line 2628  Intellectual Property and Copyright Stat
2628  <blockquote class="text">  <blockquote class="text">
2629  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2630                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2631                                  given with the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</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,
2632                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2633                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2634                                  apostrophes (')                                  apostrophes (')
# Line 2519  Intellectual Property and Copyright Stat Line 2702  Intellectual Property and Copyright Stat
2702                                            
2703  </p>  </p>
2704  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2705  <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>
2706  <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;
2707    Creating a MIDI input device</h3>
2708    
2709  <p>Use the following command to create a new MIDI input device for  the desired MIDI input system:  <p>Use the following command to create a new MIDI input device for  the desired MIDI input system:
2710  </p>  </p>
# Line 2533  Intellectual Property and Copyright Stat Line 2717  Intellectual Property and Copyright Stat
2717                                            
2718  </p>  </p>
2719  <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
2720                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an
2721                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where
2722                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2723                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 2589  Intellectual Property and Copyright Stat Line 2773  Intellectual Property and Copyright Stat
2773                                            
2774  </p>  </p>
2775  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2776  <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>
2777  <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;
2778    Destroying a MIDI input device</h3>
2779    
2780  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2781  </p>  </p>
# Line 2603  Intellectual Property and Copyright Stat Line 2788  Intellectual Property and Copyright Stat
2788                                            
2789  </p>  </p>
2790  <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
2791                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2792                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2793                      command.                      command.
2794  </p>  </p>
2795  <p>Possible Answers:  <p>Possible Answers:
# Line 2654  Intellectual Property and Copyright Stat Line 2839  Intellectual Property and Copyright Stat
2839                                            
2840  </p>  </p>
2841  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2842  <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>
2843  <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;
2844    Getting all created MIDI input device count</h3>
2845    
2846  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2847  </p>  </p>
# Line 2691  Intellectual Property and Copyright Stat Line 2877  Intellectual Property and Copyright Stat
2877                                            
2878  </p>  </p>
2879  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2880  <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>
2881  <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;
2882    Getting all created MIDI input device list</h3>
2883    
2884  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2885  </p>  </p>
# Line 2738  Intellectual Property and Copyright Stat Line 2925  Intellectual Property and Copyright Stat
2925                                            
2926  </p>  </p>
2927  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2928  <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>
2929  <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;
2930    Getting current settings of a MIDI input device</h3>
2931    
2932  <p>Use the following command to get current settings of a specific, created MIDI input device:  <p>Use the following command to get current settings of a specific, created MIDI input device:
2933  </p>  </p>
# Line 2752  Intellectual Property and Copyright Stat Line 2940  Intellectual Property and Copyright Stat
2940                                            
2941  </p>  </p>
2942  <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
2943                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2944                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
2945                      command.                      command.
2946  </p>  </p>
2947  <p>Possible Answers:  <p>Possible Answers:
# Line 2776  Intellectual Property and Copyright Stat Line 2964  Intellectual Property and Copyright Stat
2964                                          </p>                                          </p>
2965  <blockquote class="text">  <blockquote class="text">
2966  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2967                                              returned by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</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>
2968                                              command                                              command
2969  </p>  </p>
2970  </blockquote>  </blockquote>
# Line 2806  Intellectual Property and Copyright Stat Line 2994  Intellectual Property and Copyright Stat
2994                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
2995                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
2996                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
2997                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span> (</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
2998                      by this command.                      by this command.
2999  </p>  </p>
3000  <p>Example:  <p>Example:
# Line 2826  Intellectual Property and Copyright Stat Line 3014  Intellectual Property and Copyright Stat
3014                                            
3015  </p>  </p>
3016  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3017  <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>
3018  <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;
3019    Changing settings of MIDI input devices</h3>
3020    
3021  <p>Use the following command to alter a specific setting of a created MIDI input device:  <p>Use the following command to alter a specific setting of a created MIDI input device:
3022  </p>  </p>
# Line 2841  Intellectual Property and Copyright Stat Line 3030  Intellectual Property and Copyright Stat
3030  </p>  </p>
3031  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
3032                      MIDI input device as returned by the                      MIDI input device as returned by the
3033                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3034                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3035                      command, &lt;key&gt; by the name of the parameter to change and                      command, &lt;key&gt; by the name of the parameter to change and
3036                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3037  </p>  </p>
# Line 2893  Intellectual Property and Copyright Stat Line 3082  Intellectual Property and Copyright Stat
3082                                            
3083  </p>  </p>
3084  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3085  <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>
3086  <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;
3087    Getting information about a MIDI port</h3>
3088    
3089  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3090  </p>  </p>
# Line 2907  Intellectual Property and Copyright Stat Line 3097  Intellectual Property and Copyright Stat
3097                                            
3098  </p>  </p>
3099  <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
3100                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3101                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3102                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3103  </p>  </p>
3104  <p>Possible Answers:  <p>Possible Answers:
# Line 2955  Intellectual Property and Copyright Stat Line 3145  Intellectual Property and Copyright Stat
3145                                            
3146  </p>  </p>
3147  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3148  <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>
3149  <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;
3150    Getting information about specific MIDI port parameter</h3>
3151    
3152  <p>Use the following command to get detailed information about specific MIDI port parameter:  <p>Use the following command to get detailed information about specific MIDI port parameter:
3153  </p>  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3160  Intellectual Property and Copyright Stat
3160                                            
3161  </p>  </p>
3162  <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
3163                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3164                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3165                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3166                      &lt;param&gt; a specific port parameter name for which information should be                      &lt;param&gt; a specific port parameter name for which information should be
3167                      obtained (as returned by the <a class="info" href="#GET MIDI_INPUT_PORT INFO">"GET MIDI_INPUT_PORT INFO"<span> (</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).
3168  </p>  </p>
3169  <p>Possible Answers:  <p>Possible Answers:
3170  </p>  </p>
# Line 3096  Intellectual Property and Copyright Stat Line 3287  Intellectual Property and Copyright Stat
3287                                            
3288  </p>  </p>
3289  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3290  <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>
3291  <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;
3292    Changing settings of MIDI input ports</h3>
3293    
3294  <p>Use the following command to alter a specific setting of a MIDI input port:  <p>Use the following command to alter a specific setting of a MIDI input port:
3295  </p>  </p>
# Line 3111  Intellectual Property and Copyright Stat Line 3303  Intellectual Property and Copyright Stat
3303  </p>  </p>
3304  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
3305                      MIDI device as returned by the                      MIDI device as returned by the
3306                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3307                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a>                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a>
3308                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of                      command, &lt;port&gt; by the MIDI port number, &lt;key&gt; by the name of
3309                      the parameter to change and &lt;value&gt; by the new value for this                      the parameter to change and &lt;value&gt; by the new value for this
3310                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3311                        for specifying no value for parameters allowing a list of values.
3312  </p>  </p>
3313  <p>Possible Answers:  <p>Possible Answers:
3314  </p>  </p>
# Line 3156  Intellectual Property and Copyright Stat Line 3349  Intellectual Property and Copyright Stat
3349  <p>  <p>
3350                          </p>                          </p>
3351  <blockquote class="text">  <blockquote class="text">
3352    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3353    </p>
3354    <p>S: "OK"
3355    </p>
3356    </blockquote><p>
3357                        
3358    </p>
3359  <p>  <p>
3360                            </p>
3361    <blockquote class="text">
3362    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3363    </p>
3364    <p>S: "OK"
3365  </p>  </p>
3366  </blockquote><p>  </blockquote><p>
3367                                            
3368  </p>  </p>
3369  <a name="anchor11"></a><br /><hr />  <a name="anchor11"></a><br /><hr />
3370  <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>
3371  <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;
3372    Configuring sampler channels</h3>
3373    
3374  <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
3375                  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
3376                  MIDI and audio devices.                  MIDI and audio devices.
3377  </p>  </p>
3378  <a name="LOAD INSTRUMENT"></a><br /><hr />  <a name="LOAD INSTRUMENT"></a><br /><hr />
3379  <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>
3380  <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;
3381    Loading an instrument</h3>
3382    
3383  <p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:  <p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:
3384  </p>  </p>
# Line 3189  Intellectual Property and Copyright Stat Line 3396  Intellectual Property and Copyright Stat
3396                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3397                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3398  </p>  </p>
3399    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3400                        escape characters for special characters (see chapter
3401                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>"
3402                        for details) and accordingly backslash characters in the filename
3403                        MUST now be escaped as well!
3404    </p>
3405  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3406                      is that the regular command returns OK only after the instrument has been                      is that the regular command returns OK only after the instrument has been
3407                      fully loaded and the channel is ready to be used while NON_MODAL version                      fully loaded and the channel is ready to be used while NON_MODAL version
3408                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3409                      on the channel. The <a class="info" href="#GET CHANNEL INFO">GET CHANNEL INFO<span> (</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>
3410                      command can be used to obtain loading                      command can be used to obtain loading
3411                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3412                      such as making sure that the file could be read and it is of a proper format                      such as making sure that the file could be read and it is of a proper format
# Line 3247  Intellectual Property and Copyright Stat Line 3460  Intellectual Property and Copyright Stat
3460                                            
3461  </p>  </p>
3462  <a name="LOAD ENGINE"></a><br /><hr />  <a name="LOAD ENGINE"></a><br /><hr />
3463  <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>
3464  <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;
3465    Loading a sampler engine</h3>
3466    
3467  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3468                      channel by the following command:                      channel by the following command:
# Line 3262  Intellectual Property and Copyright Stat Line 3476  Intellectual Property and Copyright Stat
3476                                            
3477  </p>  </p>
3478  <p>Where &lt;engine-name&gt; is an engine name as obtained by the  <p>Where &lt;engine-name&gt; is an engine name as obtained by the
3479                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</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;
3480                      the sampler channel as returned by the                      the sampler channel as returned by the
3481                      <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
3482                      <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
3483                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3484                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3485                      commands on the new sampler channel. It can also be used to change                      commands on the new sampler channel. It can also be used to change
# Line 3321  Intellectual Property and Copyright Stat Line 3535  Intellectual Property and Copyright Stat
3535                                            
3536  </p>  </p>
3537  <a name="GET CHANNELS"></a><br /><hr />  <a name="GET CHANNELS"></a><br /><hr />
3538  <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>
3539  <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;
3540    Getting all created sampler channel count</h3>
3541    
3542  <p>The number of sampler channels can change on runtime. To get the  <p>The number of sampler channels can change on runtime. To get the
3543                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
# Line 3359  Intellectual Property and Copyright Stat Line 3574  Intellectual Property and Copyright Stat
3574                                            
3575  </p>  </p>
3576  <a name="LIST CHANNELS"></a><br /><hr />  <a name="LIST CHANNELS"></a><br /><hr />
3577  <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>
3578  <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;
3579    Getting all created sampler channel list</h3>
3580    
3581  <p>The number of sampler channels can change on runtime. To get the  <p>The number of sampler channels can change on runtime. To get the
3582                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
# Line 3398  Intellectual Property and Copyright Stat Line 3614  Intellectual Property and Copyright Stat
3614                                            
3615  </p>  </p>
3616  <a name="ADD CHANNEL"></a><br /><hr />  <a name="ADD CHANNEL"></a><br /><hr />
3617  <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>
3618  <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;
3619    Adding a new sampler channel</h3>
3620    
3621  <p>A new sampler channel can be added to the end of the sampler  <p>A new sampler channel can be added to the end of the sampler
3622                      channel list by sending the following command:                      channel list by sending the following command:
# Line 3472  Intellectual Property and Copyright Stat Line 3689  Intellectual Property and Copyright Stat
3689                                            
3690  </p>  </p>
3691  <a name="REMOVE CHANNEL"></a><br /><hr />  <a name="REMOVE CHANNEL"></a><br /><hr />
3692  <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>
3693  <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;
3694    Removing a sampler channel</h3>
3695    
3696  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3697  </p>  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 3705  Intellectual Property and Copyright Stat
3705  </p>  </p>
3706  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3707                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3708                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3709                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a>                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3710                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3711                      remain the same.                      remain the same.
3712  </p>  </p>
# Line 3538  Intellectual Property and Copyright Stat Line 3756  Intellectual Property and Copyright Stat
3756                                            
3757  </p>  </p>
3758  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3759  <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>
3760  <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;
3761    Getting amount of available engines</h3>
3762    
3763  <p>The front-end can ask for the number of available engines by sending the following command:  <p>The front-end can ask for the number of available engines by sending the following command:
3764  </p>  </p>
# Line 3574  Intellectual Property and Copyright Stat Line 3793  Intellectual Property and Copyright Stat
3793                                            
3794  </p>  </p>
3795  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3796  <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>
3797  <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;
3798    Getting all available engines</h3>
3799    
3800  <p>The front-end can ask for a list of all available engines by sending the following command:  <p>The front-end can ask for a list of all available engines by sending the following command:
3801  </p>  </p>
# Line 3613  Intellectual Property and Copyright Stat Line 3833  Intellectual Property and Copyright Stat
3833                                            
3834  </p>  </p>
3835  <a name="GET ENGINE INFO"></a><br /><hr />  <a name="GET ENGINE INFO"></a><br /><hr />
3836  <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>
3837  <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;
3838    Getting information about an engine</h3>
3839    
3840  <p>The front-end can ask for information about a specific engine by  <p>The front-end can ask for information about a specific engine by
3841                      sending the following command:                      sending the following command:
# Line 3628  Intellectual Property and Copyright Stat Line 3849  Intellectual Property and Copyright Stat
3849                                            
3850  </p>  </p>
3851  <p>Where &lt;engine-name&gt; is an engine name as obtained by the  <p>Where &lt;engine-name&gt; is an engine name as obtained by the
3852                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</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.
3853  </p>  </p>
3854  <p>Possible Answers:  <p>Possible Answers:
3855  </p>  </p>
# Line 3648  Intellectual Property and Copyright Stat Line 3869  Intellectual Property and Copyright Stat
3869                                          </p>                                          </p>
3870  <blockquote class="text">  <blockquote class="text">
3871  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3872                                                (note that the character string may contain
3873                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3874  </p>  </p>
3875  </blockquote>  </blockquote>
3876                                                                            
# Line 3685  Intellectual Property and Copyright Stat Line 3908  Intellectual Property and Copyright Stat
3908                                            
3909  </p>  </p>
3910  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3911  <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>
3912  <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;
3913    Getting sampler channel information</h3>
3914    
3915  <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
3916                      by sending the following command:                      by sending the following command:
# Line 3700  Intellectual Property and Copyright Stat Line 3924  Intellectual Property and Copyright Stat
3924                                            
3925  </p>  </p>
3926  <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
3927                      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>
3928                      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.
3929  </p>  </p>
3930  <p>Possible Answers:  <p>Possible Answers:
3931  </p>  </p>
# Line 3766  Intellectual Property and Copyright Stat Line 3990  Intellectual Property and Copyright Stat
3990  <blockquote class="text">  <blockquote class="text">
3991  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
3992                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
3993                                              channel                                              channel (note: since LSCP 1.2 this path may contain
3994                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3995  </p>  </p>
3996  </blockquote>  </blockquote>
3997                                                                            
# Line 3783  Intellectual Property and Copyright Stat Line 4008  Intellectual Property and Copyright Stat
4008                                          </p>                                          </p>
4009  <blockquote class="text">  <blockquote class="text">
4010  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4011                                                (note: since LSCP 1.2 this character string may contain
4012                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4013  </p>  </p>
4014  </blockquote>  </blockquote>
4015                                                                            
# Line 3829  Intellectual Property and Copyright Stat Line 4056  Intellectual Property and Copyright Stat
4056                                          </p>                                          </p>
4057  <blockquote class="text">  <blockquote class="text">
4058  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4059                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4060                                              1.0 means amplification)                                              1.0 means amplification)
4061  </p>  </p>
4062  </blockquote>  </blockquote>
# Line 3856  Intellectual Property and Copyright Stat Line 4083  Intellectual Property and Copyright Stat
4083  </blockquote>  </blockquote>
4084                                                                            
4085    
4086    <p>MIDI_INSTRUMENT_MAP -
4087                                            </p>
4088    <blockquote class="text">
4089    <p>Determines to which MIDI instrument map this sampler
4090                                                channel is assigned to. Read chapter
4091                                                <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>
4092                                                for a list of possible values.
4093    </p>
4094    </blockquote>
4095                                        
4096    
4097  </blockquote>  </blockquote>
4098                                                            
4099    
# Line 3895  Intellectual Property and Copyright Stat Line 4133  Intellectual Property and Copyright Stat
4133  </p>  </p>
4134  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4135  </p>  </p>
4136    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4137    </p>
4138    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4139    </p>
4140    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4141    </p>
4142    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4143    </p>
4144  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4145  </p>  </p>
4146  </blockquote><p>  </blockquote><p>
4147                                            
4148  </p>  </p>
4149  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4150  <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>
4151  <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;
4152    Current number of active voices</h3>
4153    
4154  <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
4155                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3916  Intellectual Property and Copyright Stat Line 4163  Intellectual Property and Copyright Stat
4163                                            
4164  </p>  </p>
4165  <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
4166                      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>
4167                      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.
4168  </p>  </p>
4169  <p>Possible Answers:  <p>Possible Answers:
4170  </p>  </p>
# Line 3941  Intellectual Property and Copyright Stat Line 4188  Intellectual Property and Copyright Stat
4188                                            
4189  </p>  </p>
4190  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4191  <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>
4192  <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;
4193    Current number of active disk streams</h3>
4194    
4195  <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
4196                      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 4204  Intellectual Property and Copyright Stat
4204                                            
4205  </p>  </p>
4206  <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
4207                      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>
4208                      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.
4209  </p>  </p>
4210  <p>Possible Answers:  <p>Possible Answers:
4211  </p>  </p>
# Line 3983  Intellectual Property and Copyright Stat Line 4231  Intellectual Property and Copyright Stat
4231                                            
4232  </p>  </p>
4233  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4234  <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>
4235  <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;
4236    Current fill state of disk stream buffers</h3>
4237    
4238  <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
4239                      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 4258  Intellectual Property and Copyright Stat
4258  </p>  </p>
4259  <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
4260                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4261                      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>
4262                      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.
4263  </p>  </p>
4264  <p>Possible Answers:  <p>Possible Answers:
4265  </p>  </p>
# Line 4060  Intellectual Property and Copyright Stat Line 4309  Intellectual Property and Copyright Stat
4309                                            
4310  </p>  </p>
4311  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4312  <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>
4313  <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;
4314    Setting audio output device</h3>
4315    
4316  <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
4317                      channel by sending the following command:                      channel by sending the following command:
# Line 4075  Intellectual Property and Copyright Stat Line 4325  Intellectual Property and Copyright Stat
4325                                            
4326  </p>  </p>
4327  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4328                      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>
4329                      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
4330                      &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
4331                      <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>
4332                      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>
4333                      command.                      command.
4334  </p>  </p>
4335  <p>Possible Answers:  <p>Possible Answers:
# Line 4126  Intellectual Property and Copyright Stat Line 4376  Intellectual Property and Copyright Stat
4376  </blockquote><p>  </blockquote><p>
4377                                            
4378  </p>  </p>
4379  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4380  <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>
4381  <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;
4382    Setting audio output type</h3>
4383    
4384  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4385  </p>  </p>
# Line 4191  Intellectual Property and Copyright Stat Line 4442  Intellectual Property and Copyright Stat
4442                                            
4443  </p>  </p>
4444  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4445  <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>
4446  <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;
4447    Setting audio output channel</h3>
4448    
4449  <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
4450                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4206  Intellectual Property and Copyright Stat Line 4458  Intellectual Property and Copyright Stat
4458                                            
4459  </p>  </p>
4460  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4461                      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>
4462                      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
4463                      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
4464                      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
4465                      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 4509  Intellectual Property and Copyright Stat
4509                                            
4510  </p>  </p>
4511  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4512  <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>
4513  <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;
4514    Setting MIDI input device</h3>
4515    
4516  <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
4517                      channel by sending the following command:                      channel by sending the following command:
# Line 4272  Intellectual Property and Copyright Stat Line 4525  Intellectual Property and Copyright Stat
4525                                            
4526  </p>  </p>
4527  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4528                      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>
4529                      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
4530                      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
4531                      <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>
4532                      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.
4533  </p>  </p>
4534  <p>Possible Answers:  <p>Possible Answers:
4535  </p>  </p>
# Line 4323  Intellectual Property and Copyright Stat Line 4576  Intellectual Property and Copyright Stat
4576                                            
4577  </p>  </p>
4578  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4579  <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>
4580  <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;
4581    Setting MIDI input type</h3>
4582    
4583  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4584  </p>  </p>
# Line 4387  Intellectual Property and Copyright Stat Line 4641  Intellectual Property and Copyright Stat
4641                                            
4642  </p>  </p>
4643  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4644  <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>
4645  <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;
4646    Setting MIDI input port</h3>
4647    
4648  <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
4649                      channel by sending the following command:                      channel by sending the following command:
# Line 4450  Intellectual Property and Copyright Stat Line 4705  Intellectual Property and Copyright Stat
4705                                            
4706  </p>  </p>
4707  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4708  <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>
4709  <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;
4710    Setting MIDI input channel</h3>
4711    
4712  <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
4713                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4513  Intellectual Property and Copyright Stat Line 4769  Intellectual Property and Copyright Stat
4769                                            
4770  </p>  </p>
4771  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4772  <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>
4773  <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;
4774    Setting channel volume</h3>
4775    
4776  <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
4777                      the following command:                      the following command:
# Line 4577  Intellectual Property and Copyright Stat Line 4834  Intellectual Property and Copyright Stat
4834                                            
4835  </p>  </p>
4836  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4837  <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>
4838  <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;
4839    Muting a sampler channel</h3>
4840    
4841  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4842                      channel by sending the following command:                      channel by sending the following command:
# Line 4592  Intellectual Property and Copyright Stat Line 4850  Intellectual Property and Copyright Stat
4850                                            
4851  </p>  </p>
4852  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4853                      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>
4854                      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
4855                      &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"
4856                      to unmute the channel.                      to unmute the channel.
4857  </p>  </p>
# Line 4642  Intellectual Property and Copyright Stat Line 4900  Intellectual Property and Copyright Stat
4900                                            
4901  </p>  </p>
4902  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4903  <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>
4904  <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;
4905    Soloing a sampler channel</h3>
4906    
4907  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4908                      by sending the following command:                      by sending the following command:
# Line 4657  Intellectual Property and Copyright Stat Line 4916  Intellectual Property and Copyright Stat
4916                                            
4917  </p>  </p>
4918  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4919                      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>
4920                      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
4921                      &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"
4922                      to unsolo the channel.                      to unsolo the channel.
4923  </p>  </p>
# Line 4706  Intellectual Property and Copyright Stat Line 4965  Intellectual Property and Copyright Stat
4965  </blockquote><p>  </blockquote><p>
4966                                            
4967  </p>  </p>
4968    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4969    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4970    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4971    Assigning a MIDI instrument map to a sampler channel</h3>
4972    
4973    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
4974                        by sending the following command:
4975    </p>
4976    <p>
4977                            </p>
4978    <blockquote class="text">
4979    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
4980    </p>
4981    </blockquote><p>
4982                        
4983    </p>
4984    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4985                        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>
4986                        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
4987                        &lt;map&gt; can have the following possibilites:
4988    </p>
4989    <p>
4990                            </p>
4991    <blockquote class="text">
4992    <p>"NONE" -
4993                                    </p>
4994    <blockquote class="text">
4995    <p>This is the default setting. In this case
4996                                        the sampler channel is not assigned any MIDI
4997                                        instrument map and thus will ignore all MIDI
4998                                        program change messages.
4999    </p>
5000    </blockquote>
5001                                
5002    
5003    <p>"DEFAULT" -
5004                                    </p>
5005    <blockquote class="text">
5006    <p>The sampler channel will always use the
5007                                        default MIDI instrument map to handle MIDI
5008                                        program change messages.
5009    </p>
5010    </blockquote>
5011                                
5012    
5013    <p>numeric ID -
5014                                    </p>
5015    <blockquote class="text">
5016    <p>You can assign a specific MIDI instrument map
5017                                        by replacing &lt;map&gt; with the respective numeric
5018                                        ID of the MIDI instrument map as returned by the
5019                                        <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>
5020                                        command. Once that map will be deleted, the sampler
5021                                        channel would fall back to "NONE".
5022    </p>
5023    </blockquote>
5024                                
5025    
5026    </blockquote><p>
5027                        
5028    </p>
5029    <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>
5030                        for details regarding MIDI instrument mapping.
5031    </p>
5032    <p>Possible Answers:
5033    </p>
5034    <p>
5035                            </p>
5036    <blockquote class="text">
5037    <p>"OK" -
5038                                    </p>
5039    <blockquote class="text">
5040    <p>on success
5041    </p>
5042    </blockquote>
5043                                
5044    
5045    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5046                                    </p>
5047    <blockquote class="text">
5048    <p>in case it failed, providing an appropriate error code and error message
5049    </p>
5050    </blockquote>
5051                                
5052    
5053    </blockquote><p>
5054                        
5055    </p>
5056    <p>Examples:
5057    </p>
5058    <p>
5059                            </p>
5060    <blockquote class="text">
5061    <p>
5062    </p>
5063    </blockquote><p>
5064                        
5065    </p>
5066    <a name="CREATE FX_SEND"></a><br /><hr />
5067    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5068    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5069    Adding an effect send to a sampler channel</h3>
5070    
5071    <p>The front-end can create an additional effect send on a specific sampler channel
5072                        by sending the following command:
5073    </p>
5074    <p>
5075                            </p>
5076    <blockquote class="text">
5077    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5078    </p>
5079    </blockquote><p>
5080                        
5081    </p>
5082    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5083                        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>
5084                        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
5085                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5086                        is a number between 0..127 defining the MIDI controller which can alter the
5087                        effect send level and &lt;name&gt; is an optional argument defining a name
5088                        for the effect send entity. The name does not have to be unique, but MUST be
5089                        encapsulated into apostrophes and supports escape sequences as described in chapter
5090                        "<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>".
5091    </p>
5092    <p>By default, that is as initial routing, the effect send's audio channels
5093                        are automatically routed to the last audio channels of the sampler channel's
5094                        audio output device, that way you can i.e. first increase the amount of audio
5095                        channels on the audio output device for having dedicated effect send output
5096                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5097                        be picked. You can alter the destination channels however with
5098                        <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>.
5099                        
5100    </p>
5101    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5102                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5103                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5104                        the voices and route the audio signal afterwards to the master outputs and effect send
5105                        outputs (along with their respective effect send levels). A sampler channel without effect
5106                        sends however can mix its voices directly into the audio output devices's audio buffers
5107                        and is thus faster.
5108                        
5109    </p>
5110    <p>Possible Answers:
5111    </p>
5112    <p>
5113                            </p>
5114    <blockquote class="text">
5115    <p>"OK[&lt;fx-send-id&gt;]" -
5116                                    </p>
5117    <blockquote class="text">
5118    <p>in case a new effect send could be added to the
5119                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5120                                        unique ID of the newly created effect send entity
5121    </p>
5122    </blockquote>
5123                                
5124    
5125    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5126                                    </p>
5127    <blockquote class="text">
5128    <p>when a new effect send could not be added, i.e.
5129                                        due to invalid parameters
5130    </p>
5131    </blockquote>
5132                                
5133    
5134    </blockquote><p>
5135                        
5136    </p>
5137    <p>Examples:
5138    </p>
5139    <p>
5140                            </p>
5141    <blockquote class="text">
5142    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5143    </p>
5144    <p>S: "OK[0]"
5145    </p>
5146    </blockquote><p>
5147                        
5148    </p>
5149    <p>
5150                            </p>
5151    <blockquote class="text">
5152    <p>C: "CREATE FX_SEND 0 93"
5153    </p>
5154    <p>S: "OK[1]"
5155    </p>
5156    </blockquote><p>
5157                        
5158    </p>
5159    <a name="DESTROY FX_SEND"></a><br /><hr />
5160    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5161    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5162    Removing an effect send from a sampler channel</h3>
5163    
5164    <p>The front-end can remove an existing effect send on a specific sampler channel
5165                        by sending the following command:
5166    </p>
5167    <p>
5168                            </p>
5169    <blockquote class="text">
5170    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5171    </p>
5172    </blockquote><p>
5173                        
5174    </p>
5175    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5176                        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>
5177                        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
5178                        sampler channel from which the effect send should be removed from and
5179                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5180                        <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>
5181                        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.
5182    </p>
5183    <p>Possible Answers:
5184    </p>
5185    <p>
5186                            </p>
5187    <blockquote class="text">
5188    <p>"OK" -
5189                                    </p>
5190    <blockquote class="text">
5191    <p>on success
5192    </p>
5193    </blockquote>
5194                                
5195    
5196    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5197                                    </p>
5198    <blockquote class="text">
5199    <p>in case it failed, providing an appropriate error code and
5200                                        error message
5201    </p>
5202    </blockquote>
5203                                
5204    
5205    </blockquote><p>
5206                        
5207    </p>
5208    <p>Example:
5209    </p>
5210    <p>
5211                            </p>
5212    <blockquote class="text">
5213    <p>C: "DESTROY FX_SEND 0 0"
5214    </p>
5215    <p>S: "OK"
5216    </p>
5217    </blockquote><p>
5218                        
5219    </p>
5220    <a name="GET FX_SENDS"></a><br /><hr />
5221    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5222    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5223    Getting amount of effect sends on a sampler channel</h3>
5224    
5225    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5226                        by sending the following command:
5227    </p>
5228    <p>
5229                            </p>
5230    <blockquote class="text">
5231    <p>GET FX_SENDS &lt;sampler-channel&gt;
5232    </p>
5233    </blockquote><p>
5234                        
5235    </p>
5236    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5237                        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>
5238                        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.
5239    </p>
5240    <p>Possible Answers:
5241    </p>
5242    <p>
5243                            </p>
5244    <blockquote class="text">
5245    <p>The sampler will answer by returning the number of effect
5246                                sends on the given sampler channel.
5247    </p>
5248    </blockquote><p>
5249                        
5250    </p>
5251    <p>Example:
5252    </p>
5253    <p>
5254                            </p>
5255    <blockquote class="text">
5256    <p>C: "GET FX_SENDS 0"
5257    </p>
5258    <p>S: "2"
5259    </p>
5260    </blockquote><p>
5261                        
5262    </p>
5263    <a name="LIST FX_SENDS"></a><br /><hr />
5264    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5265    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5266    Listing all effect sends on a sampler channel</h3>
5267    
5268    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5269                        by sending the following command:
5270    </p>
5271    <p>
5272                            </p>
5273    <blockquote class="text">
5274    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5275    </p>
5276    </blockquote><p>
5277                        
5278    </p>
5279    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5280                        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>
5281                        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.
5282    </p>
5283    <p>Possible Answers:
5284    </p>
5285    <p>
5286                            </p>
5287    <blockquote class="text">
5288    <p>The sampler will answer by returning a comma separated list
5289                                with all effect sends' numerical IDs on the given sampler
5290                                channel.
5291    </p>
5292    </blockquote><p>
5293                        
5294    </p>
5295    <p>Examples:
5296    </p>
5297    <p>
5298                            </p>
5299    <blockquote class="text">
5300    <p>C: "LIST FX_SENDS 0"
5301    </p>
5302    <p>S: "0,1"
5303    </p>
5304    </blockquote><p>
5305                        
5306    </p>
5307    <p>
5308                            </p>
5309    <blockquote class="text">
5310    <p>C: "LIST FX_SENDS 1"
5311    </p>
5312    <p>S: ""
5313    </p>
5314    </blockquote><p>
5315                        
5316    </p>
5317    <a name="GET FX_SEND INFO"></a><br /><hr />
5318    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5319    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5320    Getting effect send information</h3>
5321    
5322    <p>The front-end can ask for the current settings of an effect send entity
5323                        by sending the following command:
5324    </p>
5325    <p>
5326                            </p>
5327    <blockquote class="text">
5328    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5329    </p>
5330    </blockquote><p>
5331                        
5332    </p>
5333    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5334                        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>
5335                        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
5336                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5337                        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>
5338                        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.
5339                      
5340    </p>
5341    <p>Possible Answers:
5342    </p>
5343    <p>
5344                            </p>
5345    <blockquote class="text">
5346    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5347                                Each answer line begins with the settings category name
5348                                followed by a colon and then a space character &lt;SP&gt; and finally
5349                                the info character string to that setting category. At the
5350                                moment the following categories are defined:
5351    </p>
5352    <p>
5353                                    </p>
5354    <blockquote class="text">
5355    <p>NAME -
5356                                            </p>
5357    <blockquote class="text">
5358    <p>name of the effect send entity
5359                                                (note that this character string may contain
5360                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5361    </p>
5362    </blockquote>
5363                                        
5364    
5365    <p>MIDI_CONTROLLER -
5366                                            </p>
5367    <blockquote class="text">
5368    <p>a value between 0 and 127 reflecting the MIDI controller
5369                                                which is able to modify the effect send's send level
5370    </p>
5371    </blockquote>
5372                                        
5373    
5374    <p>LEVEL -
5375                                            </p>
5376    <blockquote class="text">
5377    <p>optionally dotted number reflecting the effect send's
5378                                                current send level (where a value &lt; 1.0 means attenuation
5379                                                and a value > 1.0 means amplification)
5380    </p>
5381    </blockquote>
5382                                        
5383    
5384    <p>AUDIO_OUTPUT_ROUTING -
5385                                            </p>
5386    <blockquote class="text">
5387    <p>comma separated list which reflects to which audio
5388                                                channel of the selected audio output device each
5389                                                effect send output channel is routed to, e.g. "0,3" would
5390                                                mean the effect send's output channel 0 is routed to channel
5391                                                0 of the audio output device and the effect send's output
5392                                                channel 1 is routed to the channel 3 of the audio
5393                                                output device (see
5394                                                <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>
5395                                                for details)
5396    </p>
5397    </blockquote>
5398                                        
5399    
5400    </blockquote>
5401                                
5402    
5403    </blockquote><p>
5404                        
5405    </p>
5406    <p>The mentioned fields above don't have to be in particular order.
5407    </p>
5408    <p>Example:
5409    </p>
5410    <p>
5411                            </p>
5412    <blockquote class="text">
5413    <p>C: "GET FX_SEND INFO 0 0"
5414    </p>
5415    <p>S: "NAME: Reverb Send"
5416    </p>
5417    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5418    </p>
5419    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5420    </p>
5421    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5422    </p>
5423    <p>&nbsp;&nbsp;&nbsp;"."
5424    </p>
5425    </blockquote><p>
5426                        
5427    </p>
5428    <a name="SET FX_SEND NAME"></a><br /><hr />
5429    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5430    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5431    Changing effect send's name</h3>
5432    
5433    <p>The front-end can alter the current name of an effect
5434                        send entity by sending the following command:
5435    </p>
5436    <p>
5437                            </p>
5438    <blockquote class="text">
5439    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5440    </p>
5441    </blockquote><p>
5442                        
5443    </p>
5444    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5445                        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>
5446                        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,
5447                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5448                        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>
5449                        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
5450                        &lt;name&gt; is the new name of the effect send entity, which
5451                        does not have to be unique (name MUST be encapsulated into apostrophes
5452                        and supports escape sequences as described in chapter
5453                        "<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>").
5454                        
5455    </p>
5456    <p>Possible Answers:
5457    </p>
5458    <p>
5459                            </p>
5460    <blockquote class="text">
5461    <p>"OK" -
5462                                    </p>
5463    <blockquote class="text">
5464    <p>on success
5465    </p>
5466    </blockquote>
5467                                
5468    
5469    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5470                                    </p>
5471    <blockquote class="text">
5472    <p>in case it failed, providing an appropriate error code and error message
5473    </p>
5474    </blockquote>
5475                                
5476    
5477    </blockquote><p>
5478                        
5479    </p>
5480    <p>Example:
5481    </p>
5482    <p>
5483                            </p>
5484    <blockquote class="text">
5485    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5486    </p>
5487    <p>S: "OK"
5488    </p>
5489    </blockquote><p>
5490                        
5491    </p>
5492    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5493    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5494    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5495    Altering effect send's audio routing</h3>
5496    
5497    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5498                        sampler channel by sending the following command:
5499    </p>
5500    <p>
5501                            </p>
5502    <blockquote class="text">
5503    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5504    </p>
5505    </blockquote><p>
5506                        
5507    </p>
5508    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5509                        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>
5510                        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,
5511                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5512                        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>
5513                        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,
5514                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5515                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5516                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5517                        should be routed to.
5518    </p>
5519    <p>Note that effect sends can only route audio to the same audio output
5520                        device as assigned to the effect send's sampler channel. Also note that an
5521                        effect send entity does always have exactly as much audio channels as its
5522                        sampler channel. So if the sampler channel is stereo, the effect send does
5523                        have two audio channels as well. Also keep in mind that the amount of audio
5524                        channels on a sampler channel might be dependant not only to the deployed
5525                        sampler engine on the sampler channel, but also dependant to the instrument
5526                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5527                        send into a mono one by simply altering its audio routing appropriately.
5528    </p>
5529    <p>Possible Answers:
5530    </p>
5531    <p>
5532                            </p>
5533    <blockquote class="text">
5534    <p>"OK" -
5535                                    </p>
5536    <blockquote class="text">
5537    <p>on success
5538    </p>
5539    </blockquote>
5540                                
5541    
5542    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5543                                    </p>
5544    <blockquote class="text">
5545    <p>if audio output channel was set, but there are noteworthy
5546                                        issue(s) related, providing an appropriate warning code and
5547                                        warning message
5548    </p>
5549    </blockquote>
5550                                
5551    
5552    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5553                                    </p>
5554    <blockquote class="text">
5555    <p>in case it failed, providing an appropriate error code and error message
5556    </p>
5557    </blockquote>
5558                                
5559    
5560    </blockquote><p>
5561                        
5562    </p>
5563    <p>Example:
5564    </p>
5565    <p>
5566                            </p>
5567    <blockquote class="text">
5568    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5569    </p>
5570    <p>S: "OK"
5571    </p>
5572    </blockquote><p>
5573                        
5574    </p>
5575    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5576    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5577    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5578    Altering effect send's MIDI controller</h3>
5579    
5580    <p>The front-end can alter the MIDI controller of an effect
5581                        send entity by sending the following command:
5582    </p>
5583    <p>
5584                            </p>
5585    <blockquote class="text">
5586    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5587    </p>
5588    </blockquote><p>
5589                        
5590    </p>
5591    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5592                        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>
5593                        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,
5594                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5595                        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>
5596                        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
5597                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5598                        able to modify the effect send's send level.
5599    </p>
5600    <p>Possible Answers:
5601    </p>
5602    <p>
5603                            </p>
5604    <blockquote class="text">
5605    <p>"OK" -
5606                                    </p>
5607    <blockquote class="text">
5608    <p>on success
5609    </p>
5610    </blockquote>
5611                                
5612    
5613    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5614                                    </p>
5615    <blockquote class="text">
5616    <p>if MIDI controller was set, but there are noteworthy
5617                                        issue(s) related, providing an appropriate warning code and
5618                                        warning message
5619    </p>
5620    </blockquote>
5621                                
5622    
5623    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5624                                    </p>
5625    <blockquote class="text">
5626    <p>in case it failed, providing an appropriate error code and error message
5627    </p>
5628    </blockquote>
5629                                
5630    
5631    </blockquote><p>
5632                        
5633    </p>
5634    <p>Example:
5635    </p>
5636    <p>
5637                            </p>
5638    <blockquote class="text">
5639    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5640    </p>
5641    <p>S: "OK"
5642    </p>
5643    </blockquote><p>
5644                        
5645    </p>
5646    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5647    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5648    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5649    Altering effect send's send level</h3>
5650    
5651    <p>The front-end can alter the current send level of an effect
5652                        send entity by sending the following command:
5653    </p>
5654    <p>
5655                            </p>
5656    <blockquote class="text">
5657    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5658    </p>
5659    </blockquote><p>
5660                        
5661    </p>
5662    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5663                        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>
5664                        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,
5665                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5666                        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>
5667                        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
5668                        &lt;volume&gt; is an optionally dotted positive number (a value
5669                        smaller than 1.0 means attenuation, whereas a value greater than
5670                        1.0 means amplification) reflecting the new send level.
5671    </p>
5672    <p>Possible Answers:
5673    </p>
5674    <p>
5675                            </p>
5676    <blockquote class="text">
5677    <p>"OK" -
5678                                    </p>
5679    <blockquote class="text">
5680    <p>on success
5681    </p>
5682    </blockquote>
5683                                
5684    
5685    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5686                                    </p>
5687    <blockquote class="text">
5688    <p>if new send level was set, but there are noteworthy
5689                                        issue(s) related, providing an appropriate warning code and
5690                                        warning message
5691    </p>
5692    </blockquote>
5693                                
5694    
5695    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5696                                    </p>
5697    <blockquote class="text">
5698    <p>in case it failed, providing an appropriate error code and error message
5699    </p>
5700    </blockquote>
5701                                
5702    
5703    </blockquote><p>
5704                        
5705    </p>
5706    <p>Example:
5707    </p>
5708    <p>
5709                            </p>
5710    <blockquote class="text">
5711    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5712    </p>
5713    <p>S: "OK"
5714    </p>
5715    </blockquote><p>
5716                        
5717    </p>
5718  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5719  <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>
5720  <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;
5721    Resetting a sampler channel</h3>
5722    
5723  <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:
5724  </p>  </p>
# Line 4772  Intellectual Property and Copyright Stat Line 5782  Intellectual Property and Copyright Stat
5782                                            
5783  </p>  </p>
5784  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
5785  <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>
5786  <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;
5787    Controlling connection</h3>
5788    
5789  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5790  </p>  </p>
5791  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></a><br /><hr />
5792  <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>
5793  <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;
5794    Register front-end for receiving event messages</h3>
5795    
5796  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5797                      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 5853  Intellectual Property and Copyright Stat
5853                                            
5854  </p>  </p>
5855  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
5856  <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>
5857  <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;
5858    Unregister front-end for not receiving event messages</h3>
5859    
5860  <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
5861                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4904  Intellectual Property and Copyright Stat Line 5917  Intellectual Property and Copyright Stat
5917                                            
5918  </p>  </p>
5919  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
5920  <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>
5921  <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;
5922    Enable or disable echo of commands</h3>
5923    
5924  <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:
5925  </p>  </p>
# Line 4960  Intellectual Property and Copyright Stat Line 5974  Intellectual Property and Copyright Stat
5974                                            
5975  </p>  </p>
5976  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
5977  <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>
5978  <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;
5979    Close client connection</h3>
5980    
5981  <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:
5982  </p>  </p>
# Line 4977  Intellectual Property and Copyright Stat Line 5992  Intellectual Property and Copyright Stat
5992                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
5993  </p>  </p>
5994  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
5995  <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>
5996  <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;
5997    Global commands</h3>
5998    
5999  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6000  </p>  </p>
6001  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6002  <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>
6003  <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;
6004    Current number of active voices</h3>
6005    
6006  <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
6007                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5009  Intellectual Property and Copyright Stat Line 6026  Intellectual Property and Copyright Stat
6026                                            
6027  </p>  </p>
6028  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6029  <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>
6030  <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;
6031    Maximum amount of active voices</h3>
6032    
6033  <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
6034                      by sending the following command:                      by sending the following command:
# Line 5035  Intellectual Property and Copyright Stat Line 6053  Intellectual Property and Copyright Stat
6053                                            
6054  </p>  </p>
6055  <a name="RESET"></a><br /><hr />  <a name="RESET"></a><br /><hr />
6056  <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>
6057  <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;
6058    Reset sampler</h3>
6059    
6060  <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:
6061  </p>  </p>
# Line 5075  Intellectual Property and Copyright Stat Line 6094  Intellectual Property and Copyright Stat
6094                                            
6095  </p>  </p>
6096  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6097  <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>
6098  <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;
6099    General sampler informations</h3>
6100    
6101  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6102                         instance by sending the following command:                         instance by sending the following command:
# Line 5108  Intellectual Property and Copyright Stat Line 6128  Intellectual Property and Copyright Stat
6128                                          </p>                                          </p>
6129  <blockquote class="text">  <blockquote class="text">
6130  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6131                                                (note that the character string may contain
6132                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6133  </p>  </p>
6134  </blockquote>  </blockquote>
6135                                                                            
# Line 5124  Intellectual Property and Copyright Stat Line 6146  Intellectual Property and Copyright Stat
6146                                          </p>                                          </p>
6147  <blockquote class="text">  <blockquote class="text">
6148  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6149                                              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)
6150    </p>
6151    </blockquote>
6152                                        
6153    
6154    <p>INSTRUMENTS_DB_SUPPORT -
6155                                            </p>
6156    <blockquote class="text">
6157    <p>either yes or no, specifies whether the
6158                                                sampler is build with instruments database support.
6159  </p>  </p>
6160  </blockquote>  </blockquote>
6161                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6169  Intellectual Property and Copyright Stat
6169  <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.
6170                      Other fields might be added in future.                      Other fields might be added in future.
6171  </p>  </p>
6172    <a name="GET 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.5"></a><h3>6.6.5.&nbsp;
6175    Getting global volume attenuation</h3>
6176    
6177    <p>The client can ask for 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>GET VOLUME
6184    </p>
6185    </blockquote><p>
6186                        
6187    </p>
6188    <p>Possible Answers:
6189    </p>
6190    <p>
6191                            </p>
6192    <blockquote class="text">
6193    <p>The sampler will always answer by returning the optional
6194                                dotted floating point coefficient, reflecting the current
6195                                global volume attenuation.
6196                                
6197    </p>
6198    </blockquote><p>
6199                        
6200    </p>
6201    <p>Note: it is up to the respective sampler engine whether to obey
6202                        that global volume parameter or not, but in general all engines SHOULD
6203                        use this parameter.
6204    </p>
6205    <a name="SET VOLUME"></a><br /><hr />
6206    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6207    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6208    Setting global volume attenuation</h3>
6209    
6210    <p>The client can alter the current global sampler-wide volume
6211                        attenuation by sending the following command:
6212    </p>
6213    <p>
6214                            </p>
6215    <blockquote class="text">
6216    <p>SET VOLUME &lt;volume&gt;
6217    </p>
6218    </blockquote><p>
6219                        
6220    </p>
6221    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6222                       floating point value, reflecting the new global volume parameter.
6223                       This value might usually be in the range between 0.0 and 1.0, that
6224                       is for attenuating the overall volume.
6225    </p>
6226    <p>Possible Answers:
6227    </p>
6228    <p>
6229                            </p>
6230    <blockquote class="text">
6231    <p>"OK" -
6232                                    </p>
6233    <blockquote class="text">
6234    <p>on success
6235    </p>
6236    </blockquote>
6237                                
6238    
6239    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6240                                    </p>
6241    <blockquote class="text">
6242    <p>if the global volume was set, but there are noteworthy
6243                                        issue(s) related, providing an appropriate warning code and
6244                                        warning message
6245    </p>
6246    </blockquote>
6247                                
6248    
6249    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6250                                    </p>
6251    <blockquote class="text">
6252    <p>in case it failed, providing an appropriate error code and error message
6253    </p>
6254    </blockquote>
6255                                
6256    
6257    </blockquote><p>
6258                        
6259    </p>
6260    <a name="MIDI Instrument Mapping"></a><br /><hr />
6261    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6262    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6263    MIDI Instrument Mapping</h3>
6264    
6265    <p>The MIDI protocol provides a way to switch between instruments
6266                    by sending so called MIDI bank select and MIDI program change
6267                    messages which are essentially just numbers. The following commands
6268                    allow to actually map arbitrary MIDI bank select / program change
6269                    numbers with real instruments.
6270    </p>
6271    <p>The sampler allows to manage an arbitrary amount of MIDI
6272                    instrument maps which define which instrument to load on
6273                    which MIDI program change message.
6274    </p>
6275    <p>By default, that is when the sampler is launched, there is no
6276                    map, thus the sampler will simply ignore all program change
6277                    messages. The front-end has to explicitly create at least one
6278                    map, add entries to the map and tell the respective sampler
6279                    channel(s) which MIDI instrument map to use, so the sampler
6280                    knows how to react on a given program change message on the
6281                    respective sampler channel, that is by switching to the
6282                    respectively defined engine type and loading the respective
6283                    instrument. See command
6284                    <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>
6285                    for how to assign a MIDI instrument map to a sampler channel.
6286    </p>
6287    <p>Also note per MIDI specification a bank select message does not
6288                    cause to switch to another instrument. Instead when receiving a
6289                    bank select message the bank value will be stored and a subsequent
6290                    program change message (which may occur at any time) will finally
6291                    cause the sampler to switch to the respective instrument as
6292                    reflected by the current MIDI instrument map.
6293    </p>
6294    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6295    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6296    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6297    Create a new MIDI instrument map</h3>
6298    
6299    <p>The front-end can add a new MIDI instrument map by sending
6300                        the following command:
6301    </p>
6302    <p>
6303                            </p>
6304    <blockquote class="text">
6305    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6306    </p>
6307    </blockquote><p>
6308                        
6309    </p>
6310    <p>Where &lt;name&gt; is an optional argument allowing to
6311                        assign a custom name to the new map. MIDI instrument Map
6312                        names do not have to be unique, but MUST be encapsulated
6313                        into apostrophes and support escape sequences as described
6314                        in chapter "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>".
6315                        
6316    </p>
6317    <p>Possible Answers:
6318    </p>
6319    <p>
6320                            </p>
6321    <blockquote class="text">
6322    <p>"OK[&lt;map&gt;]" -
6323                                    </p>
6324    <blockquote class="text">
6325    <p>in case a new MIDI instrument map could
6326                                        be added, where &lt;map&gt; reflects the
6327                                        unique ID of the newly created MIDI
6328                                        instrument map
6329    </p>
6330    </blockquote>
6331                                
6332    
6333    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6334                                    </p>
6335    <blockquote class="text">
6336    <p>when a new map could not be created, which
6337                                        might never occur in practice
6338    </p>
6339    </blockquote>
6340                                
6341    
6342    </blockquote><p>
6343                        
6344    </p>
6345    <p>Examples:
6346    </p>
6347    <p>
6348                            </p>
6349    <blockquote class="text">
6350    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6351    </p>
6352    <p>S: "OK[0]"
6353    </p>
6354    </blockquote><p>
6355                        
6356    </p>
6357    <p>
6358                            </p>
6359    <blockquote class="text">
6360    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6361    </p>
6362    <p>S: "OK[1]"
6363    </p>
6364    </blockquote><p>
6365                        
6366    </p>
6367    <p>
6368                            </p>
6369    <blockquote class="text">
6370    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6371    </p>
6372    <p>S: "OK[5]"
6373    </p>
6374    </blockquote><p>
6375                        
6376    </p>
6377    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6378    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6379    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6380    Delete one particular or all MIDI instrument maps</h3>
6381    
6382    <p>The front-end can delete a particular MIDI instrument map
6383                        by sending the following command:
6384    </p>
6385    <p>
6386                            </p>
6387    <blockquote class="text">
6388    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6389    </p>
6390    </blockquote><p>
6391                        
6392    </p>
6393    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6394                        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>
6395                        command.
6396    </p>
6397    <p>The front-end can delete all MIDI instrument maps by
6398                        sending the following command:
6399    </p>
6400    <p>
6401                            </p>
6402    <blockquote class="text">
6403    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6404    </p>
6405    </blockquote><p>
6406                        
6407    </p>
6408    <p>Possible Answers:
6409    </p>
6410    <p>
6411                            </p>
6412    <blockquote class="text">
6413    <p>"OK" -
6414                                    </p>
6415    <blockquote class="text">
6416    <p>in case the map(s) could be deleted
6417    </p>
6418    </blockquote>
6419                                
6420    
6421    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6422                                    </p>
6423    <blockquote class="text">
6424    <p>when the given map does not exist
6425    </p>
6426    </blockquote>
6427                                
6428    
6429    </blockquote><p>
6430                        
6431    </p>
6432    <p>Examples:
6433    </p>
6434    <p>
6435                            </p>
6436    <blockquote class="text">
6437    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6438    </p>
6439    <p>S: "OK"
6440    </p>
6441    </blockquote><p>
6442                        
6443    </p>
6444    <p>
6445                            </p>
6446    <blockquote class="text">
6447    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6448    </p>
6449    <p>S: "OK"
6450    </p>
6451    </blockquote><p>
6452                        
6453    </p>
6454    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6455    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6456    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6457    Get amount of existing MIDI instrument maps</h3>
6458    
6459    <p>The front-end can retrieve the current amount of MIDI
6460                        instrument maps by sending the following command:
6461    </p>
6462    <p>
6463                            </p>
6464    <blockquote class="text">
6465    <p>GET MIDI_INSTRUMENT_MAPS
6466    </p>
6467    </blockquote><p>
6468                        
6469    </p>
6470    <p>Possible Answers:
6471    </p>
6472    <p>
6473                            </p>
6474    <blockquote class="text">
6475    <p>The sampler will answer by returning the current
6476                                number of MIDI instrument maps.
6477    </p>
6478    </blockquote><p>
6479                        
6480    </p>
6481    <p>Example:
6482    </p>
6483    <p>
6484                            </p>
6485    <blockquote class="text">
6486    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6487    </p>
6488    <p>S: "2"
6489    </p>
6490    </blockquote><p>
6491                        
6492    </p>
6493    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6494    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6495    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6496    Getting all created MIDI instrument maps</h3>
6497    
6498    <p>The number of MIDI instrument maps can change on runtime. To get the
6499                        current list of MIDI instrument maps, the front-end can send the
6500                        following command:
6501    </p>
6502    <p>
6503                            </p>
6504    <blockquote class="text">
6505    <p>LIST MIDI_INSTRUMENT_MAPS
6506    </p>
6507    </blockquote><p>
6508                        
6509    </p>
6510    <p>Possible Answers:
6511    </p>
6512    <p>
6513                            </p>
6514    <blockquote class="text">
6515    <p>The sampler will answer by returning a comma separated list
6516                                with all MIDI instrument maps' numerical IDs.
6517    </p>
6518    </blockquote><p>
6519                        
6520    </p>
6521    <p>Example:
6522    </p>
6523    <p>
6524                            </p>
6525    <blockquote class="text">
6526    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6527    </p>
6528    <p>S: "0,1,5,12"
6529    </p>
6530    </blockquote><p>
6531                        
6532    </p>
6533    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6534    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6535    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6536    Getting MIDI instrument map information</h3>
6537    
6538    <p>The front-end can ask for the current settings of a MIDI
6539                        instrument map by sending the following command:
6540    </p>
6541    <p>
6542                            </p>
6543    <blockquote class="text">
6544    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6545    </p>
6546    </blockquote><p>
6547                        
6548    </p>
6549    <p>Where &lt;map&gt; is the numerical ID of the map the
6550                        front-end is interested in as returned by the
6551                        <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>
6552                        command.
6553    </p>
6554    <p>Possible Answers:
6555    </p>
6556    <p>
6557                            </p>
6558    <blockquote class="text">
6559    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6560                                Each answer line begins with the settings category name
6561                                followed by a colon and then a space character &lt;SP&gt; and finally
6562                                the info character string to that setting category. At the
6563                                moment the following categories are defined:
6564    </p>
6565    <p>
6566                                    </p>
6567    <blockquote class="text">
6568    <p>NAME -
6569                                            </p>
6570    <blockquote class="text">
6571    <p>custom name of the given map,
6572                                                which does not have to be unique
6573                                                (note that this character string may contain
6574                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6575    </p>
6576    </blockquote>
6577                                        
6578    
6579    <p>DEFAULT -
6580                                            </p>
6581    <blockquote class="text">
6582    <p>either true or false,
6583                                                defines whether this map is the default map
6584    </p>
6585    </blockquote>
6586                                        
6587    
6588    </blockquote>
6589                                
6590    
6591    </blockquote><p>
6592                        
6593    </p>
6594    <p>The mentioned fields above don't have to be in particular order.
6595    </p>
6596    <p>Example:
6597    </p>
6598    <p>
6599                            </p>
6600    <blockquote class="text">
6601    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6602    </p>
6603    <p>S: "NAME: Standard Map"
6604    </p>
6605    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6606    </p>
6607    <p>&nbsp;&nbsp;&nbsp;"."
6608    </p>
6609    </blockquote><p>
6610                        
6611    </p>
6612    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6613    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6614    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6615    Renaming a MIDI instrument map</h3>
6616    
6617    <p>The front-end can alter the custom name of a MIDI
6618                        instrument map by sending the following command:
6619    </p>
6620    <p>
6621                            </p>
6622    <blockquote class="text">
6623    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6624    </p>
6625    </blockquote><p>
6626                        
6627    </p>
6628    <p>Where &lt;map&gt; is the numerical ID of the map and
6629                        &lt;name&gt; the new custom name of the map, which does not
6630                        have to be unique (name MUST be encapsulated into apostrophes
6631                        and supports escape sequences as described in chapter
6632                        "<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>").
6633                        
6634    </p>
6635    <p>Possible Answers:
6636    </p>
6637    <p>
6638                            </p>
6639    <blockquote class="text">
6640    <p>"OK" -
6641                                    </p>
6642    <blockquote class="text">
6643    <p>on success
6644    </p>
6645    </blockquote>
6646                                
6647    
6648    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6649                                    </p>
6650    <blockquote class="text">
6651    <p>in case the given map does not exist
6652    </p>
6653    </blockquote>
6654                                
6655    
6656    </blockquote><p>
6657                        
6658    </p>
6659    <p>Example:
6660    </p>
6661    <p>
6662                            </p>
6663    <blockquote class="text">
6664    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6665    </p>
6666    <p>S: "OK"
6667    </p>
6668    </blockquote><p>
6669                        
6670    </p>
6671    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6672    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6673    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6674    Create or replace a MIDI instrument map entry</h3>
6675    
6676    <p>The front-end can create a new or replace an existing entry
6677                        in a sampler's MIDI instrument map by sending the following
6678                        command:
6679    </p>
6680    <p>
6681                            </p>
6682    <blockquote class="text">
6683    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6684                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6685                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6686                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6687    </p>
6688    </blockquote><p>
6689                        
6690    </p>
6691    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6692                        &lt;midi_bank&gt; is an integer value between
6693                        0..16383 reflecting the MIDI bank select index,
6694                        &lt;midi_prog&gt; an
6695                        integer value between 0..127 reflecting the MIDI program change
6696                        index, &lt;engine_name&gt; a sampler engine name as returned by
6697                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6698                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6699                        of the instrument's file to be deployed (encapsulated into apostrophes,
6700                        supporting escape sequences as described in chapter
6701                        "<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>"),
6702                        &lt;instrument_index&gt; the index (integer value) of the instrument
6703                        within the given file, &lt;volume_value&gt; reflects the master
6704                        volume of the instrument as optionally dotted number (where a
6705                        value &lt; 1.0 means attenuation and a value > 1.0 means
6706                        amplification). This parameter easily allows to adjust the
6707                        volume of all intruments within a custom instrument map
6708                        without having to adjust their instrument files. The
6709                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6710                        time of the instrument, that is when the instrument should
6711                        be loaded, when freed and has exactly the following
6712                        possibilities:
6713    </p>
6714    <p>
6715                            </p>
6716    <blockquote class="text">
6717    <p>"ON_DEMAND" -
6718                                    </p>
6719    <blockquote class="text">
6720    <p>The instrument will be loaded when needed,
6721                                        that is when demanded by at least one sampler
6722                                        channel. It will immediately be freed from memory
6723                                        when not needed by any sampler channel anymore.
6724    </p>
6725    </blockquote>
6726                                
6727    
6728    <p>"ON_DEMAND_HOLD" -
6729                                    </p>
6730    <blockquote class="text">
6731    <p>The instrument will be loaded when needed,
6732                                        that is when demanded by at least one sampler
6733                                        channel. It will be kept in memory even when
6734                                        not needed by any sampler channel anymore.
6735                                        Instruments with this mode are only freed
6736                                        when the sampler is reset or all mapping
6737                                        entries with this mode (and respective
6738                                        instrument) are explicitly changed to
6739                                        "ON_DEMAND" and no sampler channel is using
6740                                        the instrument anymore.
6741    </p>
6742    </blockquote>
6743                                
6744    
6745    <p>"PERSISTENT" -
6746                                    </p>
6747    <blockquote class="text">
6748    <p>The instrument will immediately be loaded
6749                                        into memory when this mapping
6750                                        command is sent and the instrument is kept all
6751                                        the time. Instruments with this mode are
6752                                        only freed when the sampler is reset or all
6753                                        mapping entries with this mode (and
6754                                        respective instrument) are explicitly
6755                                        changed to "ON_DEMAND" and no sampler
6756                                        channel is using the instrument anymore.
6757    </p>
6758    </blockquote>
6759                                
6760    
6761    <p>not supplied -
6762                                    </p>
6763    <blockquote class="text">
6764    <p>In case there is no &lt;instr_load_mode&gt;
6765                                        argument given, it will be up to the
6766                                        InstrumentManager to decide which mode to use.
6767                                        Usually it will use "ON_DEMAND" if an entry
6768                                        for the given instrument does not exist in
6769                                        the InstrumentManager's list yet, otherwise
6770                                        if an entry already exists, it will simply
6771                                        stick with the mode currently reflected by
6772                                        the already existing entry, that is it will
6773                                        not change the mode.
6774    </p>
6775    </blockquote>
6776                                
6777    
6778    </blockquote><p>
6779                        
6780    </p>
6781    <p>
6782                        The &lt;instr_load_mode&gt; argument thus allows to define an
6783                        appropriate strategy (low memory consumption vs. fast
6784                        instrument switching) for each instrument individually. Note, the
6785                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6786                        "PERSISTENT" have to be supported by the respective sampler engine
6787                        (which is technically the case when the engine provides an
6788                        InstrumentManager for its format). If this is not the case the
6789                        argument will automatically fall back to the default value
6790                        "ON_DEMAND". Also the load mode of one instrument may
6791                        automatically change the laod mode of other instrument(s), i.e.
6792                        because the instruments are part of the same file and the
6793                        engine does not allow a way to manage load modes for them
6794                        individually. Due to this, in case the frontend shows the
6795                        load modes of entries, the frontend should retrieve the actual
6796                        mode by i.e. sending
6797                        <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>
6798                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6799                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6800                        "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") for the
6801                        mapping entry, useful for frontends for displaying an appropriate name for
6802                        mapped instruments (using
6803                        <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>).
6804                        
6805    </p>
6806    <p>
6807                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6808                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6809                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6810                        immediately, that is to let the sampler establish the mapping in the
6811                        background. So this argument might be especially useful for mappings with
6812                        a "PERSISTENT" type, because these have to load the respective instruments
6813                        immediately and might thus block for a very long time. It is recommended
6814                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6815                        because it has the following drawbacks: as "NON_MODAL" instructions return
6816                        immediately, they may not necessarily return an error i.e. when the given
6817                        instrument file turns out to be corrupt, beside that subsequent commands
6818                        in a LSCP instruction sequence might fail, because mandatory mappings are
6819                        not yet completed.
6820                        
6821    </p>
6822    <p>Possible Answers:
6823    </p>
6824    <p>
6825                            </p>
6826    <blockquote class="text">
6827    <p>"OK" -
6828                                    </p>
6829    <blockquote class="text">
6830    <p>usually
6831    </p>
6832    </blockquote>
6833                                
6834    
6835    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6836                                    </p>
6837    <blockquote class="text">
6838    <p>when the given map or engine does not exist or a value
6839                                        is out of range
6840    </p>
6841    </blockquote>
6842                                
6843    
6844    </blockquote><p>
6845                        
6846    </p>
6847    <p>Examples:
6848    </p>
6849    <p>
6850                            </p>
6851    <blockquote class="text">
6852    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6853    </p>
6854    <p>S: "OK"
6855    </p>
6856    </blockquote><p>
6857                        
6858    </p>
6859    <p>
6860                            </p>
6861    <blockquote class="text">
6862    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6863    </p>
6864    <p>S: "OK"
6865    </p>
6866    </blockquote><p>
6867                        
6868    </p>
6869    <p>
6870                            </p>
6871    <blockquote class="text">
6872    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6873    </p>
6874    <p>S: "OK"
6875    </p>
6876    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6877    </p>
6878    <p>S: "OK"
6879    </p>
6880    </blockquote><p>
6881                        
6882    </p>
6883    <p>
6884                            </p>
6885    <blockquote class="text">
6886    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6887    </p>
6888    <p>S: "OK"
6889    </p>
6890    </blockquote><p>
6891                        
6892    </p>
6893    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6894    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6895    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6896    Getting ammount of MIDI instrument map entries</h3>
6897    
6898    <p>The front-end can query the amount of currently existing
6899                        entries in a MIDI instrument map by sending the following
6900                        command:
6901    </p>
6902    <p>
6903                            </p>
6904    <blockquote class="text">
6905    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6906    </p>
6907    </blockquote><p>
6908                        
6909    </p>
6910    <p>The front-end can query the amount of currently existing
6911                        entries in all MIDI instrument maps by sending the following
6912                        command:
6913    </p>
6914    <p>
6915                            </p>
6916    <blockquote class="text">
6917    <p>GET MIDI_INSTRUMENTS ALL
6918    </p>
6919    </blockquote><p>
6920                        
6921    </p>
6922    <p>Possible Answers:
6923    </p>
6924    <p>
6925                            </p>
6926    <blockquote class="text">
6927    <p>The sampler will answer by sending the current number of
6928                                entries in the MIDI instrument map(s).
6929    </p>
6930    </blockquote><p>
6931                        
6932    </p>
6933    <p>Example:
6934    </p>
6935    <p>
6936                            </p>
6937    <blockquote class="text">
6938    <p>C: "GET MIDI_INSTRUMENTS 0"
6939    </p>
6940    <p>S: "234"
6941    </p>
6942    </blockquote><p>
6943                        
6944    </p>
6945    <p>
6946                            </p>
6947    <blockquote class="text">
6948    <p>C: "GET MIDI_INSTRUMENTS ALL"
6949    </p>
6950    <p>S: "954"
6951    </p>
6952    </blockquote><p>
6953                        
6954    </p>
6955    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
6956    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6957    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
6958    Getting indeces of all entries of a MIDI instrument map</h3>
6959    
6960    <p>The front-end can query a list of all currently existing
6961                        entries in a certain MIDI instrument map by sending the following
6962                        command:
6963    </p>
6964    <p>
6965                            </p>
6966    <blockquote class="text">
6967    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
6968    </p>
6969    </blockquote><p>
6970                        
6971    </p>
6972    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
6973    </p>
6974    <p>The front-end can query a list of all currently existing
6975                        entries of all MIDI instrument maps by sending the following
6976                        command:
6977    </p>
6978    <p>
6979                            </p>
6980    <blockquote class="text">
6981    <p>LIST MIDI_INSTRUMENTS ALL
6982    </p>
6983    </blockquote><p>
6984                        
6985    </p>
6986    <p>Possible Answers:
6987    </p>
6988    <p>
6989                            </p>
6990    <blockquote class="text">
6991    <p>The sampler will answer by sending a comma separated
6992                                list of map ID - MIDI bank - MIDI program triples, where
6993                                each triple is encapsulated into curly braces. The
6994                                list is returned in one single line. Each triple
6995                                just reflects the key of the respective map entry,
6996                                thus subsequent
6997                                <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>
6998                                command(s) are necessary to retrieve detailed informations
6999                                about each entry.
7000    </p>
7001    </blockquote><p>
7002                        
7003    </p>
7004    <p>Example:
7005    </p>
7006    <p>
7007                            </p>
7008    <blockquote class="text">
7009    <p>C: "LIST MIDI_INSTRUMENTS 0"
7010    </p>
7011    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7012    </p>
7013    </blockquote><p>
7014                        
7015    </p>
7016    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7017    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7018    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7019    Remove an entry from the MIDI instrument map</h3>
7020    
7021    <p>The front-end can delete an entry from a MIDI instrument
7022                        map by sending the following command:
7023    </p>
7024    <p>
7025                            </p>
7026    <blockquote class="text">
7027    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7028    </p>
7029    </blockquote><p>
7030                        
7031    </p>
7032    <p>
7033                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7034                        &lt;midi_bank&gt; is an integer value between 0..16383
7035                        reflecting the MIDI bank value and
7036                        &lt;midi_prog&gt; an integer value between
7037                        0..127 reflecting the MIDI program value of the map's entrie's key
7038                        index triple.
7039                        
7040    </p>
7041    <p>Possible Answers:
7042    </p>
7043    <p>
7044                            </p>
7045    <blockquote class="text">
7046    <p>"OK" -
7047                                    </p>
7048    <blockquote class="text">
7049    <p>usually
7050    </p>
7051    </blockquote>
7052                                
7053    
7054    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7055                                    </p>
7056    <blockquote class="text">
7057    <p>when index out of bounds
7058    </p>
7059    </blockquote>
7060                                
7061    
7062    </blockquote><p>
7063                        
7064    </p>
7065    <p>Example:
7066    </p>
7067    <p>
7068                            </p>
7069    <blockquote class="text">
7070    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7071    </p>
7072    <p>S: "OK"
7073    </p>
7074    </blockquote><p>
7075                        
7076    </p>
7077    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7078    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7079    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7080    Get current settings of MIDI instrument map entry</h3>
7081    
7082    <p>The front-end can retrieve the current settings of a certain
7083                        instrument map entry by sending the following command:
7084    </p>
7085    <p>
7086                            </p>
7087    <blockquote class="text">
7088    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7089    </p>
7090    </blockquote><p>
7091                        
7092    </p>
7093    <p>
7094                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7095                        &lt;midi_bank&gt; is an integer value between 0..16383
7096                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7097                        and &lt;midi_prog&gt; an integer value between
7098                        0..127 reflecting the MIDI program value of the map's entrie's key
7099                        index triple.
7100                        
7101    </p>
7102    <p>Possible Answers:
7103    </p>
7104    <p>
7105                            </p>
7106    <blockquote class="text">
7107    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7108                                separated list. Each answer line begins with the
7109                                information category name followed by a colon and then
7110                                a space character &lt;SP&gt; and finally the info
7111                                character string to that info category. At the moment
7112                                the following categories are defined:
7113    </p>
7114    <p>"NAME" -
7115                                    </p>
7116    <blockquote class="text">
7117    <p>Name for this MIDI instrument map entry (if defined).
7118                                        This name shall be used by frontends for displaying a
7119                                        name for this mapped instrument. It can be set and
7120                                        changed with the
7121                                        <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>
7122                                        command and does not have to be unique.
7123                                        (note that this character string may contain
7124                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7125    </p>
7126    </blockquote>
7127                                
7128    
7129    <p>"ENGINE_NAME" -
7130                                    </p>
7131    <blockquote class="text">
7132    <p>Name of the engine to be deployed for this
7133                                        instrument.
7134    </p>
7135    </blockquote>
7136                                
7137    
7138    <p>"INSTRUMENT_FILE" -
7139                                    </p>
7140    <blockquote class="text">
7141    <p>File name of the instrument
7142                                        (note that this path may contain
7143                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7144    </p>
7145    </blockquote>
7146                                
7147    
7148    <p>"INSTRUMENT_NR" -
7149                                    </p>
7150    <blockquote class="text">
7151    <p>Index of the instrument within the file.
7152    </p>
7153    </blockquote>
7154                                
7155    
7156    <p>"INSTRUMENT_NAME" -
7157                                    </p>
7158    <blockquote class="text">
7159    <p>Name of the loaded instrument as reflected by its file.
7160                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7161                                        cannot be changed (note that this character string may contain
7162                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7163    </p>
7164    </blockquote>
7165                                
7166    
7167    <p>"LOAD_MODE" -
7168                                    </p>
7169    <blockquote class="text">
7170    <p>Life time of instrument
7171                                        (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).
7172    </p>
7173    </blockquote>
7174                                
7175    
7176    <p>"VOLUME" -
7177                                    </p>
7178    <blockquote class="text">
7179    <p>master volume of the instrument as optionally
7180                                        dotted number (where a value &lt; 1.0 means attenuation
7181                                        and a value > 1.0 means amplification)
7182    </p>
7183    </blockquote>
7184                                
7185    
7186    <p>The mentioned fields above don't have to be in particular order.
7187    </p>
7188    </blockquote><p>
7189                        
7190    </p>
7191    <p>Example:
7192    </p>
7193    <p>
7194                            </p>
7195    <blockquote class="text">
7196    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7197    </p>
7198    <p>S: "NAME: Drums for Foo Song"
7199    </p>
7200    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7201    </p>
7202    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7203    </p>
7204    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7205    </p>
7206    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7207    </p>
7208    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7209    </p>
7210    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7211    </p>
7212    <p>&nbsp;&nbsp;&nbsp;"."
7213    </p>
7214    </blockquote><p>
7215                        
7216    </p>
7217    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7218    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7219    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7220    Clear MIDI instrument map</h3>
7221    
7222    <p>The front-end can clear a whole MIDI instrument map, that
7223                        is delete all its entries by sending the following command:
7224    </p>
7225    <p>
7226                            </p>
7227    <blockquote class="text">
7228    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7229    </p>
7230    </blockquote><p>
7231                        
7232    </p>
7233    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7234    </p>
7235    <p>The front-end can clear all MIDI instrument maps, that
7236                        is delete all entries of all maps by sending the following
7237                        command:
7238    </p>
7239    <p>
7240                            </p>
7241    <blockquote class="text">
7242    <p>CLEAR MIDI_INSTRUMENTS ALL
7243    </p>
7244    </blockquote><p>
7245                        
7246    </p>
7247    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7248                        maps, only their entries, thus the map's settings like
7249                        custom name will be preservevd.
7250    </p>
7251    <p>Possible Answers:
7252    </p>
7253    <p>
7254                            </p>
7255    <blockquote class="text">
7256    <p>"OK" -
7257                                    </p>
7258    <blockquote class="text">
7259    <p>always
7260    </p>
7261    </blockquote>
7262                                
7263    
7264    </blockquote><p>
7265                        
7266    </p>
7267    <p>Examples:
7268    </p>
7269    <p>
7270                           </p>
7271    <blockquote class="text">
7272    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7273    </p>
7274    <p>S: "OK"
7275    </p>
7276    </blockquote><p>
7277                        
7278    </p>
7279    <p>
7280                           </p>
7281    <blockquote class="text">
7282    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7283    </p>
7284    <p>S: "OK"
7285    </p>
7286    </blockquote><p>
7287                        
7288    </p>
7289    <a name="Managing Instruments Database"></a><br /><hr />
7290    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7291    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7292    Managing Instruments Database</h3>
7293    
7294    <p>The following commands describe how to use and manage
7295                    the instruments database.
7296    </p>
7297    <p>Notice:
7298    </p>
7299    <p>
7300                            </p>
7301    <blockquote class="text">
7302    <p>All command arguments representing a path or
7303                                instrument/directory name support escape sequences as described in chapter
7304                                "<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>".
7305                                
7306    </p>
7307    <p>All occurrences of a forward slash in instrument and directory
7308                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7309                                
7310    </p>
7311    </blockquote><p>
7312                        
7313    </p>
7314    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7315    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7316    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7317    Creating a new instrument directory</h3>
7318    
7319    <p>The front-end can add a new instrument directory to the
7320                        instruments database by sending the following command:
7321    </p>
7322    <p>
7323                            </p>
7324    <blockquote class="text">
7325    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7326    </p>
7327    </blockquote><p>
7328                        
7329    </p>
7330    <p>Where &lt;dir&gt; is the absolute path name of the directory
7331                        to be created (encapsulated into apostrophes).
7332    </p>
7333    <p>Possible Answers:
7334    </p>
7335    <p>
7336                            </p>
7337    <blockquote class="text">
7338    <p>"OK" -
7339                                    </p>
7340    <blockquote class="text">
7341    <p>on success
7342    </p>
7343    </blockquote>
7344                                
7345    
7346    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7347                                    </p>
7348    <blockquote class="text">
7349    <p>when the directory could not be created, which
7350                                        can happen if the directory already exists or the
7351                                        name contains not allowed symbols
7352    </p>
7353    </blockquote>
7354                                
7355    
7356    </blockquote><p>
7357                        
7358    </p>
7359    <p>Examples:
7360    </p>
7361    <p>
7362                            </p>
7363    <blockquote class="text">
7364    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7365    </p>
7366    <p>S: "OK"
7367    </p>
7368    </blockquote><p>
7369                        
7370    </p>
7371    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7372    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7373    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7374    Deleting an instrument directory</h3>
7375    
7376    <p>The front-end can delete a particular instrument directory
7377                        from the instruments database by sending the following command:
7378    </p>
7379    <p>
7380                            </p>
7381    <blockquote class="text">
7382    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7383    </p>
7384    </blockquote><p>
7385                        
7386    </p>
7387    <p>Where &lt;dir&gt; is the absolute path name of the directory
7388                        to delete. The optional FORCE argument can be used to
7389                        force the deletion of a non-empty directory and all its content.
7390    </p>
7391    <p>Possible Answers:
7392    </p>
7393    <p>
7394                            </p>
7395    <blockquote class="text">
7396    <p>"OK" -
7397                                    </p>
7398    <blockquote class="text">
7399    <p>if the directory is deleted successfully
7400    </p>
7401    </blockquote>
7402                                
7403    
7404    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7405                                    </p>
7406    <blockquote class="text">
7407    <p>if the given directory does not exist, or
7408                                        if trying to delete a non-empty directory,
7409                                        without using the FORCE argument.
7410    </p>
7411    </blockquote>
7412                                
7413    
7414    </blockquote><p>
7415                        
7416    </p>
7417    <p>Examples:
7418    </p>
7419    <p>
7420                            </p>
7421    <blockquote class="text">
7422    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7423    </p>
7424    <p>S: "OK"
7425    </p>
7426    </blockquote><p>
7427                        
7428    </p>
7429    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7430    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7431    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7432    Getting amount of instrument directories</h3>
7433    
7434    <p>The front-end can retrieve the current amount of
7435                        directories in a specific directory by sending the following command:
7436    </p>
7437    <p>
7438                            </p>
7439    <blockquote class="text">
7440    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7441    </p>
7442    </blockquote><p>
7443                        
7444    </p>
7445    <p>Where &lt;dir&gt; should be replaced by the absolute path
7446                        name of the directory. If RECURSIVE is specified, the number of
7447                        all directories, including those located in subdirectories of the
7448                        specified directory, will be returned.
7449    </p>
7450    <p>Possible Answers:
7451    </p>
7452    <p>
7453                            </p>
7454    <blockquote class="text">
7455    <p>The current number of instrument directories
7456                                in the specified directory.
7457    </p>
7458    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7459                                    </p>
7460    <blockquote class="text">
7461    <p>if the given directory does not exist.
7462    </p>
7463    </blockquote>
7464                                
7465    
7466    </blockquote><p>
7467                        
7468    </p>
7469    <p>Example:
7470    </p>
7471    <p>
7472                            </p>
7473    <blockquote class="text">
7474    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7475    </p>
7476    <p>S: "2"
7477    </p>
7478    </blockquote><p>
7479                        
7480    </p>
7481    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7482    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7483    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7484    Listing all directories in specific directory</h3>
7485    
7486    <p>The front-end can retrieve the current list of directories
7487                        in specific directory by sending the following command:
7488    </p>
7489    <p>
7490                            </p>
7491    <blockquote class="text">
7492    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7493    </p>
7494    </blockquote><p>
7495                        
7496    </p>
7497    <p>Where &lt;dir&gt; should be replaced by the absolute path
7498                        name of the directory. If RECURSIVE is specified, the absolute path names
7499                        of all directories, including those located in subdirectories of the
7500                        specified directory, will be returned.
7501    </p>
7502    <p>Possible Answers:
7503    </p>
7504    <p>
7505                            </p>
7506    <blockquote class="text">
7507    <p>A comma separated list of all instrument directories
7508                                (encapsulated into apostrophes) in the specified directory.
7509    </p>
7510    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7511                                    </p>
7512    <blockquote class="text">
7513    <p>if the given directory does not exist.
7514    </p>
7515    </blockquote>
7516                                
7517    
7518    </blockquote><p>
7519                        
7520    </p>
7521    <p>Example:
7522    </p>
7523    <p>
7524                            </p>
7525    <blockquote class="text">
7526    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7527    </p>
7528    <p>S: "'Piano Collection','Percussion Collection'"
7529    </p>
7530    </blockquote><p>
7531                        
7532    </p>
7533    <p>
7534                            </p>
7535    <blockquote class="text">
7536    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7537    </p>
7538    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7539    </p>
7540    </blockquote><p>
7541                        
7542    </p>
7543    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7544    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7545    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7546    Getting instrument directory information</h3>
7547    
7548    <p>The front-end can ask for the current settings of an
7549                        instrument directory by sending the following command:
7550    </p>
7551    <p>
7552                            </p>
7553    <blockquote class="text">
7554    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7555    </p>
7556    </blockquote><p>
7557                        
7558    </p>
7559    <p>Where &lt;dir&gt; should be replaced by the absolute path
7560                        name of the directory the front-end is interested in.
7561    </p>
7562    <p>Possible Answers:
7563    </p>
7564    <p>
7565                            </p>
7566    <blockquote class="text">
7567    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7568                                Each answer line begins with the settings category name
7569                                followed by a colon and then a space character &lt;SP&gt; and finally
7570                                the info character string to that setting category. At the
7571                                moment the following categories are defined:
7572    </p>
7573    <p>
7574                                    </p>
7575    <blockquote class="text">
7576    <p>DESCRIPTION -
7577                                            </p>
7578    <blockquote class="text">
7579    <p>A brief description of the directory content.
7580                                                Note that the character string may contain
7581                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7582    </p>
7583    </blockquote>
7584                                        
7585    
7586    <p>CREATED -
7587                                            </p>
7588    <blockquote class="text">
7589    <p>The creation date and time of the directory,
7590                                                represented in "YYYY-MM-DD HH:MM:SS" format
7591    </p>
7592    </blockquote>
7593                                        
7594    
7595    <p>MODIFIED -
7596                                            </p>
7597    <blockquote class="text">
7598    <p>The date and time of the last modification of the
7599                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7600    </p>
7601    </blockquote>
7602                                        
7603    
7604    </blockquote>
7605                                
7606    
7607    </blockquote><p>
7608                        
7609    </p>
7610    <p>The mentioned fields above don't have to be in particular order.
7611    </p>
7612    <p>Example:
7613    </p>
7614    <p>
7615                            </p>
7616    <blockquote class="text">
7617    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7618    </p>
7619    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7620    </p>
7621    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7622    </p>
7623    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7624    </p>
7625    <p>&nbsp;&nbsp;&nbsp;"."
7626    </p>
7627    </blockquote><p>
7628                        
7629    </p>
7630    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7631    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7632    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7633    Renaming an instrument directory</h3>
7634    
7635    <p>The front-end can alter the name of a specific
7636                        instrument directory by sending the following command:
7637    </p>
7638    <p>
7639                            </p>
7640    <blockquote class="text">
7641    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7642    </p>
7643    </blockquote><p>
7644                        
7645    </p>
7646    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7647                        &lt;name&gt; is the new name for that directory.
7648    </p>
7649    <p>Possible Answers:
7650    </p>
7651    <p>
7652                            </p>
7653    <blockquote class="text">
7654    <p>"OK" -
7655                                    </p>
7656    <blockquote class="text">
7657    <p>on success
7658    </p>
7659    </blockquote>
7660                                
7661    
7662    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7663                                    </p>
7664    <blockquote class="text">
7665    <p>in case the given directory does not exists,
7666                                        or if a directory with name equal to the new
7667                                        name already exists.
7668    </p>
7669    </blockquote>
7670                                
7671    
7672    </blockquote><p>
7673                        
7674    </p>
7675    <p>Example:
7676    </p>
7677    <p>
7678                            </p>
7679    <blockquote class="text">
7680    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7681    </p>
7682    <p>S: "OK"
7683    </p>
7684    </blockquote><p>
7685                        
7686    </p>
7687    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7688    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7689    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7690    Moving an instrument directory</h3>
7691    
7692    <p>The front-end can move a specific
7693                        instrument directory by sending the following command:
7694    </p>
7695    <p>
7696                            </p>
7697    <blockquote class="text">
7698    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7699    </p>
7700    </blockquote><p>
7701                        
7702    </p>
7703    <p>Where &lt;dir&gt; is the absolute path name of the directory
7704                        to move and &lt;dst&gt; is the location where the directory will
7705                        be moved to.
7706    </p>
7707    <p>Possible Answers:
7708    </p>
7709    <p>
7710                            </p>
7711    <blockquote class="text">
7712    <p>"OK" -
7713                                    </p>
7714    <blockquote class="text">
7715    <p>on success
7716    </p>
7717    </blockquote>
7718                                
7719    
7720    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7721                                    </p>
7722    <blockquote class="text">
7723    <p>in case a given directory does not exists,
7724                                        or if a directory with name equal to the name
7725                                        of the specified directory already exists in
7726                                        the destination directory. Error is also thrown
7727                                        when trying to move a directory to a subdirectory
7728                                        of itself.
7729    </p>
7730    </blockquote>
7731                                
7732    
7733    </blockquote><p>
7734                        
7735    </p>
7736    <p>Example:
7737    </p>
7738    <p>
7739                            </p>
7740    <blockquote class="text">
7741    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7742    </p>
7743    <p>S: "OK"
7744    </p>
7745    </blockquote><p>
7746                        
7747    </p>
7748    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7749    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7750    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7751    Copying instrument directories</h3>
7752    
7753    <p>The front-end can copy a specific
7754                        instrument directory by sending the following command:
7755    </p>
7756    <p>
7757                            </p>
7758    <blockquote class="text">
7759    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7760    </p>
7761    </blockquote><p>
7762                        
7763    </p>
7764    <p>Where &lt;dir&gt; is the absolute path name of the directory
7765                        to copy and &lt;dst&gt; is the location where the directory will
7766                        be copied to.
7767    </p>
7768    <p>Possible Answers:
7769    </p>
7770    <p>
7771                            </p>
7772    <blockquote class="text">
7773    <p>"OK" -
7774                                    </p>
7775    <blockquote class="text">
7776    <p>on success
7777    </p>
7778    </blockquote>
7779                                
7780    
7781    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7782                                    </p>
7783    <blockquote class="text">
7784    <p>in case a given directory does not exists,
7785                                        or if a directory with name equal to the name
7786                                        of the specified directory already exists in
7787                                        the destination directory. Error is also thrown
7788                                        when trying to copy a directory to a subdirectory
7789                                        of itself.
7790    </p>
7791    </blockquote>
7792                                
7793    
7794    </blockquote><p>
7795                        
7796    </p>
7797    <p>Example:
7798    </p>
7799    <p>
7800                            </p>
7801    <blockquote class="text">
7802    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7803    </p>
7804    <p>S: "OK"
7805    </p>
7806    </blockquote><p>
7807                        
7808    </p>
7809    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7810    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7811    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7812    Changing the description of directory</h3>
7813    
7814    <p>The front-end can alter the description of a specific
7815                        instrument directory by sending the following command:
7816    </p>
7817    <p>
7818                            </p>
7819    <blockquote class="text">
7820    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7821    </p>
7822    </blockquote><p>
7823                        
7824    </p>
7825    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7826                        &lt;desc&gt; is the new description for the directory
7827                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7828                        "<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>").
7829    </p>
7830    <p>Possible Answers:
7831    </p>
7832    <p>
7833                            </p>
7834    <blockquote class="text">
7835    <p>"OK" -
7836                                    </p>
7837    <blockquote class="text">
7838    <p>on success
7839    </p>
7840    </blockquote>
7841                                
7842    
7843    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7844                                    </p>
7845    <blockquote class="text">
7846    <p>in case the given directory does not exists.
7847    </p>
7848    </blockquote>
7849                                
7850    
7851    </blockquote><p>
7852                        
7853    </p>
7854    <p>Example:
7855    </p>
7856    <p>
7857                            </p>
7858    <blockquote class="text">
7859    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7860    </p>
7861    <p>S: "OK"
7862    </p>
7863    </blockquote><p>
7864                        
7865    </p>
7866    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7867    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7868    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7869    Finding directories</h3>
7870    
7871    <p>The front-end can search for directories
7872                        in specific directory by sending the following command:
7873    </p>
7874    <p>
7875                            </p>
7876    <blockquote class="text">
7877    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7878    </p>
7879    </blockquote><p>
7880                        
7881    </p>
7882    <p>Where &lt;dir&gt; should be replaced by the absolute path
7883                        name of the directory to search in. If NON_RECURSIVE is specified, the
7884                        directories located in subdirectories of the specified directory will not
7885                        be searched. &lt;criteria-list&gt; is a list of search criterias
7886                        in form of "key1=val1 key2=val2 ...". The following criterias are
7887                        allowed:
7888    </p>
7889    <p>
7890                          
7891    <p>NAME='&lt;search-string&gt;'
7892                              </p>
7893    <blockquote class="text">
7894    <p>Restricts the search to directories, which names
7895                                  satisfy the supplied search string (encapsulated into apostrophes,
7896                                  supporting escape sequences as described in chapter
7897                                  "<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>").
7898    </p>
7899    </blockquote><p>
7900                          
7901    </p>
7902    
7903                          
7904    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7905                              </p>
7906    <blockquote class="text">
7907    <p>Restricts the search to directories, which creation
7908                                  date satisfies the specified period, where &lt;date-after&gt;
7909                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7910                                  If &lt;date-after&gt; is omitted the search is restricted to
7911                                  directories created before &lt;date-before&gt;. If
7912                                  &lt;date-before&gt; is omitted, the search is restricted
7913                                  to directories created after &lt;date-after&gt;.
7914    </p>
7915    </blockquote><p>
7916                          
7917    </p>
7918    
7919                          
7920    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7921                              </p>
7922    <blockquote class="text">
7923    <p>Restricts the search to directories, which
7924                                  date of last modification satisfies the specified period, where
7925                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7926                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7927                                  directories, which are last modified before &lt;date-before&gt;. If
7928                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7929                                  which are last modified after &lt;date-after&gt;.
7930    </p>
7931    </blockquote><p>
7932                          
7933    </p>
7934    
7935                          
7936    <p>DESCRIPTION='&lt;search-string&gt;'
7937                              </p>
7938    <blockquote class="text">
7939    <p>Restricts the search to directories with description
7940                                  that satisfies the supplied search string
7941                                  (encapsulated into apostrophes, supporting escape
7942                                  sequences as described in chapter
7943                                  "<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>").
7944    </p>
7945    </blockquote><p>
7946                          
7947    </p>
7948                        
7949    
7950    <p>Where &lt;search-string&gt; is either a regular expression, or a
7951                        word list separated with spaces for OR search and with '+' for AND search.
7952    </p>
7953    <p>Possible Answers:
7954    </p>
7955    <p>
7956                            </p>
7957    <blockquote class="text">
7958    <p>A comma separated list with the absolute path names (encapsulated into
7959                                apostrophes) of all directories in the specified directory that satisfy
7960                                the supplied search criterias.
7961    </p>
7962    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7963                                    </p>
7964    <blockquote class="text">
7965    <p>if the given directory does not exist.
7966    </p>
7967    </blockquote>
7968                                
7969    
7970    </blockquote><p>
7971                        
7972    </p>
7973    <p>Example:
7974    </p>
7975    <p>
7976                            </p>
7977    <blockquote class="text">
7978    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7979    </p>
7980    <p>S: "'/Piano Collection'"
7981    </p>
7982    </blockquote><p>
7983                        
7984    </p>
7985    <p>
7986                            </p>
7987    <blockquote class="text">
7988    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7989    </p>
7990    <p>S: "'/Piano Collection','/Percussions'"
7991    </p>
7992    </blockquote><p>
7993                        
7994    </p>
7995    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7996    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7997    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7998    Adding instruments to the instruments database</h3>
7999    
8000    <p>The front-end can add one or more instruments
8001                        to the instruments database by sending the following command:
8002    </p>
8003    <p>
8004                            </p>
8005    <blockquote class="text">
8006    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8007    </p>
8008    </blockquote><p>
8009                        
8010    </p>
8011    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8012                        (encapsulated into apostrophes) in the instruments database in which
8013                        only the new instruments (that are not already in the database) will
8014                        be added, &lt;file_path&gt; is the absolute path name of a file or
8015                        directory in the file system (encapsulated into apostrophes). In case
8016                        an instrument file is supplied, only the instruments in the specified
8017                        file will be added to the instruments database. If the optional
8018                        &lt;instr_index&gt; (the index of the instrument within the given file)
8019                        is supplied too, then only the specified instrument will be added.
8020                        In case a directory is supplied, the instruments in that directory
8021                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8022                        when a directory is provided as &lt;file_path&gt; and specifies how the
8023                        scanning will be done and has exactly the following possibilities:
8024    </p>
8025    <p>
8026                            </p>
8027    <blockquote class="text">
8028    <p>"RECURSIVE" -
8029                                    </p>
8030    <blockquote class="text">
8031    <p>All instruments will be processed, including those
8032                                        in the subdirectories, and the respective subdirectory
8033                                        tree structure will be recreated in the instruments
8034                                        database
8035    </p>
8036    </blockquote>
8037                                
8038    
8039    <p>"NON_RECURSIVE" -
8040                                    </p>
8041    <blockquote class="text">
8042    <p>Only the instruments in the specified directory
8043                                        will be added, the instruments in the subdirectories
8044                                        will not be processed.
8045    </p>
8046    </blockquote>
8047                                
8048    
8049    <p>"FLAT" -
8050                                    </p>
8051    <blockquote class="text">
8052    <p>All instruments will be processed, including those
8053                                        in the subdirectories, but the respective subdirectory
8054                                        structure will not be recreated in the instruments
8055                                        database. All instruments will be added directly in
8056                                        the specified database directory.
8057    </p>
8058    </blockquote>
8059                                
8060    
8061    </blockquote><p>
8062                        
8063    </p>
8064    <p>The difference between regular and NON_MODAL versions of the command
8065                        is that the regular command returns when the scanning is finished
8066                        while NON_MODAL version returns immediately and a background process is launched.
8067                        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>
8068                        command can be used to monitor the scanning progress.
8069    </p>
8070    <p>Possible Answers:
8071    </p>
8072    <p>
8073                            </p>
8074    <blockquote class="text">
8075    <p>"OK" -
8076                                    </p>
8077    <blockquote class="text">
8078    <p>on success when NON_MODAL is not supplied
8079    </p>
8080    </blockquote>
8081                                
8082    
8083    <p>"OK[&lt;job-id&gt;]" -
8084                                    </p>
8085    <blockquote class="text">
8086    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8087                                        is a numerical ID used to obtain status information about the job progress.
8088                                        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>
8089                                        
8090    </p>
8091    </blockquote>
8092                                
8093    
8094    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8095                                    </p>
8096    <blockquote class="text">
8097    <p>if an invalid path is specified.
8098    </p>
8099    </blockquote>
8100                                
8101    
8102    </blockquote><p>
8103                        
8104    </p>
8105    <p>Examples:
8106    </p>
8107    <p>
8108                            </p>
8109    <blockquote class="text">
8110    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8111    </p>
8112    <p>S: "OK"
8113    </p>
8114    </blockquote><p>
8115                        
8116    </p>
8117    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8118    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8119    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8120    Removing an instrument</h3>
8121    
8122    <p>The front-end can remove a particular instrument
8123                        from the instruments database by sending the following command:
8124    </p>
8125    <p>
8126                            </p>
8127    <blockquote class="text">
8128    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8129    </p>
8130    </blockquote><p>
8131                        
8132    </p>
8133    <p>Where &lt;instr_path&gt; is the absolute path name
8134                        (in the instruments database) of the instrument to remove.
8135    </p>
8136    <p>Possible Answers:
8137    </p>
8138    <p>
8139                            </p>
8140    <blockquote class="text">
8141    <p>"OK" -
8142                                    </p>
8143    <blockquote class="text">
8144    <p>if the instrument is removed successfully
8145    </p>
8146    </blockquote>
8147                                
8148    
8149    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8150                                    </p>
8151    <blockquote class="text">
8152    <p>if the given path does not exist or
8153                                        is a directory.
8154    </p>
8155    </blockquote>
8156                                
8157    
8158    </blockquote><p>
8159                        
8160    </p>
8161    <p>Examples:
8162    </p>
8163    <p>
8164                            </p>
8165    <blockquote class="text">
8166    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8167    </p>
8168    <p>S: "OK"
8169    </p>
8170    </blockquote><p>
8171                        
8172    </p>
8173    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8174    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8175    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8176    Getting amount of instruments</h3>
8177    
8178    <p>The front-end can retrieve the current amount of
8179                        instruments in a specific directory by sending the following command:
8180    </p>
8181    <p>
8182                            </p>
8183    <blockquote class="text">
8184    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8185    </p>
8186    </blockquote><p>
8187                        
8188    </p>
8189    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8190                        of the directory. If RECURSIVE is specified, the number of all
8191                        instruments, including those located in subdirectories of the
8192                        specified directory, will be returned.
8193    </p>
8194    <p>Possible Answers:
8195    </p>
8196    <p>
8197                            </p>
8198    <blockquote class="text">
8199    <p>The current number of instruments
8200                                in the specified directory.
8201    </p>
8202    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8203                                    </p>
8204    <blockquote class="text">
8205    <p>if the given directory does not exist.
8206    </p>
8207    </blockquote>
8208                                
8209    
8210    </blockquote><p>
8211                        
8212    </p>
8213    <p>Example:
8214    </p>
8215    <p>
8216                            </p>
8217    <blockquote class="text">
8218    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8219    </p>
8220    <p>S: "2"
8221    </p>
8222    </blockquote><p>
8223                        
8224    </p>
8225    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8226    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8227    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8228    Listing all instruments in specific directory</h3>
8229    
8230    <p>The front-end can retrieve the current list of instruments
8231                        in specific directory by sending the following command:
8232    </p>
8233    <p>
8234                            </p>
8235    <blockquote class="text">
8236    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8237    </p>
8238    </blockquote><p>
8239                        
8240    </p>
8241    <p>Where &lt;dir&gt; should be replaced by the absolute path
8242                        name of the directory. If RECURSIVE is specified, the absolute path
8243                        names of all instruments, including those located in subdirectories
8244                        of the specified directory, will be returned.
8245    </p>
8246    <p>Possible Answers:
8247    </p>
8248    <p>
8249                            </p>
8250    <blockquote class="text">
8251    <p>A comma separated list of all instruments
8252                                (encapsulated into apostrophes) in the specified directory.
8253    </p>
8254    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8255                                    </p>
8256    <blockquote class="text">
8257    <p>if the given directory does not exist.
8258    </p>
8259    </blockquote>
8260                                
8261    
8262    </blockquote><p>
8263                        
8264    </p>
8265    <p>Example:
8266    </p>
8267    <p>
8268                            </p>
8269    <blockquote class="text">
8270    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8271    </p>
8272    <p>S: "'Bosendorfer 290','Steinway D'"
8273    </p>
8274    </blockquote><p>
8275                        
8276    </p>
8277    <p>
8278                            </p>
8279    <blockquote class="text">
8280    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8281    </p>
8282    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8283    </p>
8284    </blockquote><p>
8285                        
8286    </p>
8287    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8288    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8289    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8290    Getting instrument information</h3>
8291    
8292    <p>The front-end can ask for the current settings of an
8293                        instrument by sending the following command:
8294    </p>
8295    <p>
8296                            </p>
8297    <blockquote class="text">
8298    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8299    </p>
8300    </blockquote><p>
8301                        
8302    </p>
8303    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8304                        name of the instrument the front-end is interested in.
8305    </p>
8306    <p>Possible Answers:
8307    </p>
8308    <p>
8309                            </p>
8310    <blockquote class="text">
8311    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8312                                Each answer line begins with the settings category name
8313                                followed by a colon and then a space character &lt;SP&gt; and finally
8314                                the info character string to that setting category. At the
8315                                moment the following categories are defined:
8316    </p>
8317    <p>
8318                                    </p>
8319    <blockquote class="text">
8320    <p>INSTRUMENT_FILE -
8321                                            </p>
8322    <blockquote class="text">
8323    <p>File name of the instrument.
8324                                                Note that the character string may contain
8325                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8326    </p>
8327    </blockquote>
8328                                        
8329    
8330    <p>INSTRUMENT_NR -
8331                                            </p>
8332    <blockquote class="text">
8333    <p>Index of the instrument within the file.
8334    </p>
8335    </blockquote>
8336                                        
8337    
8338    <p>FORMAT_FAMILY -
8339                                            </p>
8340    <blockquote class="text">
8341    <p>The format family of the instrument.
8342    </p>
8343    </blockquote>
8344                                        
8345    
8346    <p>FORMAT_VERSION -
8347                                            </p>
8348    <blockquote class="text">
8349    <p>The format version of the instrument.
8350    </p>
8351    </blockquote>
8352                                        
8353    
8354    <p>SIZE -
8355                                            </p>
8356    <blockquote class="text">
8357    <p>The size of the instrument in bytes.
8358    </p>
8359    </blockquote>
8360                                        
8361    
8362    <p>CREATED -
8363                                            </p>
8364    <blockquote class="text">
8365    <p>The date and time when the instrument is added
8366                                                in the instruments database, represented in
8367                                               "YYYY-MM-DD HH:MM:SS" format
8368    </p>
8369    </blockquote>
8370                                        
8371    
8372    <p>MODIFIED -
8373                                            </p>
8374    <blockquote class="text">
8375    <p>The date and time of the last modification of the
8376                                                instrument's database settings, represented in
8377                                                "YYYY-MM-DD HH:MM:SS" format
8378    </p>
8379    </blockquote>
8380                                        
8381    
8382    <p>DESCRIPTION -
8383                                            </p>
8384    <blockquote class="text">
8385    <p>A brief description of the instrument.
8386                                                Note that the character string may contain
8387                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8388    </p>
8389    </blockquote>
8390                                        
8391    
8392    <p>IS_DRUM -
8393                                            </p>
8394    <blockquote class="text">
8395    <p>either true or false, determines whether the
8396                                                instrument is a drumkit or a chromatic instrument
8397    </p>
8398    </blockquote>
8399                                        
8400    
8401    <p>PRODUCT -
8402                                            </p>
8403    <blockquote class="text">
8404    <p>The product title of the instrument.
8405                                                Note that the character string may contain
8406                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8407    </p>
8408    </blockquote>
8409                                        
8410    
8411    <p>ARTISTS -
8412                                            </p>
8413    <blockquote class="text">
8414    <p>Lists the artist names.
8415                                                Note that the character string may contain
8416                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8417    </p>
8418    </blockquote>
8419                                        
8420    
8421    <p>KEYWORDS -
8422                                            </p>
8423    <blockquote class="text">
8424    <p>Provides a list of keywords that refer to the instrument.
8425                                                Keywords are separated with semicolon and blank.
8426                                                Note that the character string may contain
8427                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8428    </p>
8429    </blockquote>
8430                                        
8431    
8432    </blockquote>
8433                                
8434    
8435    </blockquote><p>
8436                        
8437    </p>
8438    <p>The mentioned fields above don't have to be in particular order.
8439    </p>
8440    <p>Example:
8441    </p>
8442    <p>
8443                            </p>
8444    <blockquote class="text">
8445    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8446    </p>
8447    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8448    </p>
8449    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8450    </p>
8451    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8452    </p>
8453    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8454    </p>
8455    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8456    </p>
8457    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8458    </p>
8459    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8460    </p>
8461    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8462    </p>
8463    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8464    </p>
8465    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8466    </p>
8467    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8468    </p>
8469    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8470    </p>
8471    <p>&nbsp;&nbsp;&nbsp;"."
8472    </p>
8473    </blockquote><p>
8474                        
8475    </p>
8476    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8477    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8478    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8479    Renaming an instrument</h3>
8480    
8481    <p>The front-end can alter the name of a specific
8482                        instrument by sending the following command:
8483    </p>
8484    <p>
8485                            </p>
8486    <blockquote class="text">
8487    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8488    </p>
8489    </blockquote><p>
8490                        
8491    </p>
8492    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8493                        &lt;name&gt; is the new name for that instrument.
8494    </p>
8495    <p>Possible Answers:
8496    </p>
8497    <p>
8498                            </p>
8499    <blockquote class="text">
8500    <p>"OK" -
8501                                    </p>
8502    <blockquote class="text">
8503    <p>on success
8504    </p>
8505    </blockquote>
8506                                
8507    
8508    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8509                                    </p>
8510    <blockquote class="text">
8511    <p>in case the given instrument does not exists,
8512                                        or if an instrument with name equal to the new
8513                                        name already exists.
8514    </p>
8515    </blockquote>
8516                                
8517    
8518    </blockquote><p>
8519                        
8520    </p>
8521    <p>Example:
8522    </p>
8523    <p>
8524                            </p>
8525    <blockquote class="text">
8526    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8527    </p>
8528    <p>S: "OK"
8529    </p>
8530    </blockquote><p>
8531                        
8532    </p>
8533    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8534    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8535    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8536    Moving an instrument</h3>
8537    
8538    <p>The front-end can move a specific instrument to another directory by
8539                        sending the following command:
8540    </p>
8541    <p>
8542                            </p>
8543    <blockquote class="text">
8544    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8545    </p>
8546    </blockquote><p>
8547                        
8548    </p>
8549    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8550                        to move and &lt;dst&gt; is the directory where the instrument will
8551                        be moved to.
8552    </p>
8553    <p>Possible Answers:
8554    </p>
8555    <p>
8556                            </p>
8557    <blockquote class="text">
8558    <p>"OK" -
8559                                    </p>
8560    <blockquote class="text">
8561    <p>on success
8562    </p>
8563    </blockquote>
8564                                
8565    
8566    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8567                                    </p>
8568    <blockquote class="text">
8569    <p>in case the given instrument does not exists,
8570                                        or if an instrument with name equal to the name of the
8571                                        specified instrument already exists in the destination
8572                                        directory.
8573    </p>
8574    </blockquote>
8575                                
8576    
8577    </blockquote><p>
8578                        
8579    </p>
8580    <p>Example:
8581    </p>
8582    <p>
8583                            </p>
8584    <blockquote class="text">
8585    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8586    </p>
8587    <p>S: "OK"
8588    </p>
8589    </blockquote><p>
8590                        
8591    </p>
8592    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8593    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8594    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8595    Copying instruments</h3>
8596    
8597    <p>The front-end can copy a specific instrument to another directory by
8598                        sending the following command:
8599    </p>
8600    <p>
8601                            </p>
8602    <blockquote class="text">
8603    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8604    </p>
8605    </blockquote><p>
8606                        
8607    </p>
8608    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8609                        to copy and &lt;dst&gt; is the directory where the instrument will
8610                        be copied to.
8611    </p>
8612    <p>Possible Answers:
8613    </p>
8614    <p>
8615                            </p>
8616    <blockquote class="text">
8617    <p>"OK" -
8618                                    </p>
8619    <blockquote class="text">
8620    <p>on success
8621    </p>
8622    </blockquote>
8623                                
8624    
8625    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8626                                    </p>
8627    <blockquote class="text">
8628    <p>in case the given instrument does not exists,
8629                                        or if an instrument with name equal to the name of the
8630                                        specified instrument already exists in the destination
8631                                        directory.
8632    </p>
8633    </blockquote>
8634                                
8635    
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p>Example:
8640    </p>
8641    <p>
8642                            </p>
8643    <blockquote class="text">
8644    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8645    </p>
8646    <p>S: "OK"
8647    </p>
8648    </blockquote><p>
8649                        
8650    </p>
8651    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8652    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8653    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8654    Changing the description of instrument</h3>
8655    
8656    <p>The front-end can alter the description of a specific
8657                        instrument by sending the following command:
8658    </p>
8659    <p>
8660                            </p>
8661    <blockquote class="text">
8662    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8663    </p>
8664    </blockquote><p>
8665                        
8666    </p>
8667    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8668                        &lt;desc&gt; is the new description for the instrument
8669                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8670                        "<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>").
8671    </p>
8672    <p>Possible Answers:
8673    </p>
8674    <p>
8675                            </p>
8676    <blockquote class="text">
8677    <p>"OK" -
8678                                    </p>
8679    <blockquote class="text">
8680    <p>on success
8681    </p>
8682    </blockquote>
8683                                
8684    
8685    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8686                                    </p>
8687    <blockquote class="text">
8688    <p>in case the given instrument does not exists.
8689    </p>
8690    </blockquote>
8691                                
8692    
8693    </blockquote><p>
8694                        
8695    </p>
8696    <p>Example:
8697    </p>
8698    <p>
8699                            </p>
8700    <blockquote class="text">
8701    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8702    </p>
8703    <p>S: "OK"
8704    </p>
8705    </blockquote><p>
8706                        
8707    </p>
8708    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8709    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8710    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8711    Finding instruments</h3>
8712    
8713    <p>The front-end can search for instruments
8714                        in specific directory by sending the following command:
8715    </p>
8716    <p>
8717                            </p>
8718    <blockquote class="text">
8719    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8720    </p>
8721    </blockquote><p>
8722                        
8723    </p>
8724    <p>Where &lt;dir&gt; should be replaced by the absolute path
8725                        name of the directory to search in. If NON_RECURSIVE is specified, the
8726                        directories located in subdirectories of the specified directory will not
8727                        be searched. &lt;criteria-list&gt; is a list of search criterias
8728                        in form of "key1=val1 key2=val2 ...". The following criterias are
8729                        allowed:
8730    </p>
8731    <p>
8732                          
8733    <p>NAME='&lt;search-string&gt;'
8734                              </p>
8735    <blockquote class="text">
8736    <p>Restricts the search to instruments, which names
8737                                  satisfy the supplied search string (encapsulated into apostrophes,
8738                                  supporting escape sequences as described in chapter
8739                                  "<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>").
8740    </p>
8741    </blockquote><p>
8742                          
8743    </p>
8744    
8745                          
8746    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8747                              </p>
8748    <blockquote class="text">
8749    <p>Restricts the search to instruments, which
8750                                  size is in the specified range. If &lt;min&gt; is omitted,
8751                                  the search results are restricted to instruments with size less then
8752                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8753                                  search is restricted to instruments with size greater then
8754                                  or equal to &lt;min&gt;.
8755    </p>
8756    </blockquote><p>
8757                          
8758    </p>
8759    
8760                          
8761    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8762                              </p>
8763    <blockquote class="text">
8764    <p>Restricts the search to instruments, which creation
8765                                  date satisfies the specified period, where &lt;date-after&gt;
8766                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8767                                  If &lt;date-after&gt; is omitted the search is restricted to
8768                                  instruments created before &lt;date-before&gt;. If
8769                                  &lt;date-before&gt; is omitted, the search is restricted
8770                                  to instruments created after &lt;date-after&gt;.
8771    </p>
8772    </blockquote><p>
8773                          
8774    </p>
8775    
8776                          
8777    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8778                              </p>
8779    <blockquote class="text">
8780    <p>Restricts the search to instruments, which
8781                                  date of last modification satisfies the specified period, where
8782                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8783                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8784                                  instruments, which are last modified before &lt;date-before&gt;. If
8785                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8786                                  which are last modified after &lt;date-after&gt;.
8787    </p>
8788    </blockquote><p>
8789                          
8790    </p>
8791    
8792                          
8793    <p>DESCRIPTION='&lt;search-string&gt;'
8794                              </p>
8795    <blockquote class="text">
8796    <p>Restricts the search to instruments with description
8797                                  that satisfies the supplied search string (encapsulated into apostrophes,
8798                                  supporting escape sequences as described in chapter
8799                                  "<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>").
8800    </p>
8801    </blockquote><p>
8802                          
8803    </p>
8804    
8805                          
8806    <p>PRODUCT='&lt;search-string&gt;'
8807                              </p>
8808    <blockquote class="text">
8809    <p>Restricts the search to instruments with product info
8810                                  that satisfies the supplied search string (encapsulated into apostrophes,
8811                                  supporting escape sequences as described in chapter
8812                                  "<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>").
8813    </p>
8814    </blockquote><p>
8815                          
8816    </p>
8817    
8818                          
8819    <p>ARTISTS='&lt;search-string&gt;'
8820                              </p>
8821    <blockquote class="text">
8822    <p>Restricts the search to instruments with artists info
8823                                  that satisfies the supplied search string (encapsulated into apostrophes,
8824                                  supporting escape sequences as described in chapter
8825                                  "<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>").
8826    </p>
8827    </blockquote><p>
8828                          
8829    </p>
8830    
8831                          
8832    <p>KEYWORDS='&lt;search-string&gt;'
8833                              </p>
8834    <blockquote class="text">
8835    <p>Restricts the search to instruments with keyword list
8836                                  that satisfies the supplied search string (encapsulated into apostrophes,
8837                                  supporting escape sequences as described in chapter
8838                                  "<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>").
8839    </p>
8840    </blockquote><p>
8841                          
8842    </p>
8843    
8844                          
8845    <p>IS_DRUM=true | false
8846                              </p>
8847    <blockquote class="text">
8848    <p>Either true or false. Restricts the search to
8849                                  drum kits or chromatic instruments.
8850    </p>
8851    </blockquote><p>
8852                          
8853    </p>
8854    
8855                          
8856    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8857                              </p>
8858    <blockquote class="text">
8859    <p>Restricts the search to instruments of the supplied format families,
8860                                  where &lt;format-list&gt; is a comma separated list of format families.
8861    </p>
8862    </blockquote><p>
8863                          
8864    </p>
8865                        
8866    
8867    <p>Where &lt;search-string&gt; is either a regular expression, or a
8868                        word list separated with spaces for OR search and with '+' for AND search.
8869    </p>
8870    <p>Possible Answers:
8871    </p>
8872    <p>
8873                            </p>
8874    <blockquote class="text">
8875    <p>A comma separated list with the absolute path names (encapsulated into
8876                                apostrophes) of all instruments in the specified directory that satisfy
8877                                the supplied search criterias.
8878    </p>
8879    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8880                                    </p>
8881    <blockquote class="text">
8882    <p>if the given directory does not exist.
8883    </p>
8884    </blockquote>
8885                                
8886    
8887    </blockquote><p>
8888                        
8889    </p>
8890    <p>Example:
8891    </p>
8892    <p>
8893                            </p>
8894    <blockquote class="text">
8895    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8896    </p>
8897    <p>S: "'/Piano Collection/Bosendorfer 290'"
8898    </p>
8899    </blockquote><p>
8900                        
8901    </p>
8902    <p>
8903                            </p>
8904    <blockquote class="text">
8905    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8906    </p>
8907    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8908    </p>
8909    </blockquote><p>
8910                        
8911    </p>
8912    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8913    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8914    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8915    Getting job status information</h3>
8916    
8917    <p>The front-end can ask for the current status of a
8918                        particular database instruments job by sending the following command:
8919    </p>
8920    <p>
8921                            </p>
8922    <blockquote class="text">
8923    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8924    </p>
8925    </blockquote><p>
8926                        
8927    </p>
8928    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8929                        of the job the front-end is interested in.
8930    </p>
8931    <p>Possible Answers:
8932    </p>
8933    <p>
8934                            </p>
8935    <blockquote class="text">
8936    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8937                                Each answer line begins with the settings category name
8938                                followed by a colon and then a space character &lt;SP&gt; and finally
8939                                the info character string to that setting category. At the
8940                                moment the following categories are defined:
8941    </p>
8942    <p>
8943                                    </p>
8944    <blockquote class="text">
8945    <p>FILES_TOTAL -
8946                                            </p>
8947    <blockquote class="text">
8948    <p>The total number of files scheduled for scanning
8949    </p>
8950    </blockquote>
8951                                        
8952    
8953    <p>FILES_SCANNED -
8954                                            </p>
8955    <blockquote class="text">
8956    <p>The current number of scanned files
8957    </p>
8958    </blockquote>
8959                                        
8960    
8961    <p>SCANNING -
8962                                            </p>
8963    <blockquote class="text">
8964    <p>The absolute path name of the file which is currently
8965                                                being scanned
8966    </p>
8967    </blockquote>
8968                                        
8969    
8970    <p>STATUS -
8971                                            </p>
8972    <blockquote class="text">
8973    <p>An integer value between 0 and 100 indicating the
8974                                                scanning progress percentage of the file which is
8975                                                currently being scanned
8976    </p>
8977    </blockquote>
8978                                        
8979    
8980    </blockquote>
8981                                
8982    
8983    </blockquote><p>
8984                        
8985    </p>
8986    <p>The mentioned fields above don't have to be in particular order.
8987    </p>
8988    <p>Example:
8989    </p>
8990    <p>
8991                            </p>
8992    <blockquote class="text">
8993    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8994    </p>
8995    <p>S: "FILES_TOTAL: 12"
8996    </p>
8997    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8998    </p>
8999    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9000    </p>
9001    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9002    </p>
9003    <p>&nbsp;&nbsp;&nbsp;"."
9004    </p>
9005    </blockquote><p>
9006                        
9007    </p>
9008    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9009    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9010    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9011    Formatting the instruments database</h3>
9012    
9013    <p>The front-end can remove all instruments and directories and re-create
9014                        the instruments database structure (e.g., in case of a database corruption)
9015                        by sending the following command:
9016    </p>
9017    <p>
9018                            </p>
9019    <blockquote class="text">
9020    <p>FORMAT INSTRUMENTS_DB
9021    </p>
9022    </blockquote><p>
9023                        
9024    </p>
9025    <p>Possible Answers:
9026    </p>
9027    <p>
9028                            </p>
9029    <blockquote class="text">
9030    <p>"OK" -
9031                                    </p>
9032    <blockquote class="text">
9033    <p>on success
9034    </p>
9035    </blockquote>
9036                                
9037    
9038    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9039                                    </p>
9040    <blockquote class="text">
9041    <p>If the formatting of the instruments database
9042                                        failed.
9043    </p>
9044    </blockquote>
9045                                
9046    
9047    </blockquote><p>
9048                        
9049    </p>
9050    <a name="editing_instruments"></a><br /><hr />
9051    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9052    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9053    Editing Instruments</h3>
9054    
9055    <p>The sampler allows to edit instruments while playing with the
9056                    sampler by spawning an external (3rd party) instrument editor
9057                    application for a given instrument. The 3rd party instrument
9058                    editor applications have to place a respective plugin DLL file
9059                    into the sampler's plugins directory. The sampler will
9060                    automatically try to load all plugin DLLs in that directory on
9061                    startup and only on startup!
9062    </p>
9063    <p>At the moment there is only one command for this feature set,
9064                    but this will most probably change in future.
9065    </p>
9066    <a name="EDIT INSTRUMENT"></a><br /><hr />
9067    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9068    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9069    Opening an appropriate instrument editor application</h3>
9070    
9071    <p>The front-end can request to open an appropriate instrument
9072                        editor application by sending the following command:
9073    </p>
9074    <p>
9075                            </p>
9076    <blockquote class="text">
9077    <p>EDIT INSTRUMENT &lt;sampler-channel&gt;
9078    </p>
9079    </blockquote><p>
9080                        
9081    </p>
9082    <p>Where &lt;sampler-channel&gt; should be replaced by the
9083                        number of the sampler channel as given by the
9084                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9085                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9086                        command.
9087    </p>
9088    <p>The sampler will try to ask all registered instrument
9089                        editors (or to be more specific: their sampler plugins)
9090                        whether they are capable to handle the instrument on the
9091                        given sampler channel. The sampler will simply use the first
9092                        instrument editor application which replied with a positive
9093                        answer and spawn that instrument editor application within
9094                        the sampler's process and provide that application access
9095                        to the instrument's data structures, so both applications
9096                        can share and access the same instruments data at the same
9097                        time, thus allowing to immediately hear changes with the
9098                        sampler made by the instrument editor.
9099    </p>
9100    <p>Note: consequently instrument editors are always spawned
9101                        locally on the same machine where the sampler is running
9102                        on!
9103    </p>
9104    <p>Possible Answers:
9105    </p>
9106    <p>
9107                            </p>
9108    <blockquote class="text">
9109    <p>"OK" -
9110                                    </p>
9111    <blockquote class="text">
9112    <p>when an appropriate instrument editor was
9113                                        launched
9114    </p>
9115    </blockquote>
9116                                
9117    
9118    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9119                                    </p>
9120    <blockquote class="text">
9121    <p>when an appropriate instrument editor was
9122                                        launched, but there are noteworthy issues
9123    </p>
9124    </blockquote>
9125                                
9126    
9127    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9128                                    </p>
9129    <blockquote class="text">
9130    <p>when an appropriate instrument editor
9131                                        could not be launched
9132    </p>
9133    </blockquote>
9134                                
9135    
9136    </blockquote><p>
9137                        
9138    </p>
9139    <p>Examples:
9140    </p>
9141    <p>
9142                            </p>
9143    <blockquote class="text">
9144    <p>C: "EDIT INSTRUMENT 0"
9145    </p>
9146    <p>S: "OK"
9147    </p>
9148    </blockquote><p>
9149                        
9150    </p>
9151  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9152  <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>
9153  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9154    Command Syntax</h3>
9155    
9156  <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>
9157              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>)
9158              where applicable.              where applicable.
9159                            
9160  </p>  </p>
# Line 5201  Intellectual Property and Copyright Stat Line 9212  Intellectual Property and Copyright Stat
9212  <p>command =  <p>command =
9213          </p>          </p>
9214  <blockquote class="text">  <blockquote class="text">
9215  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
9216                    
9217    </p>
9218    <p>/ MAP SP map_instruction
9219                    
9220    </p>
9221    <p>/ UNMAP SP unmap_instruction
9222                                    
9223  </p>  </p>
9224  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 5219  Intellectual Property and Copyright Stat Line 9236  Intellectual Property and Copyright Stat
9236  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
9237                                    
9238  </p>  </p>
9239  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
9240                                    
9241  </p>  </p>
9242  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5231  Intellectual Property and Copyright Stat Line 9248  Intellectual Property and Copyright Stat
9248  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9249                                    
9250  </p>  </p>
9251  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
9252                    
9253    </p>
9254    <p>/ CLEAR SP clear_instruction
9255                    
9256    </p>
9257    <p>/ FIND SP find_instruction
9258                    
9259    </p>
9260    <p>/ MOVE SP move_instruction
9261                    
9262    </p>
9263    <p>/ COPY SP copy_instruction
9264                    
9265    </p>
9266    <p>/ EDIT SP edit_instruction
9267                                    
9268  </p>  </p>
9269  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ FORMAT SP format_instruction
9270                                    
9271  </p>  </p>
9272  <p>/ RESET  <p>/ RESET
# Line 5246  Intellectual Property and Copyright Stat Line 9278  Intellectual Property and Copyright Stat
9278  </blockquote><p>  </blockquote><p>
9279    
9280  </p>  </p>
9281    <p>add_instruction =
9282            </p>
9283    <blockquote class="text">
9284    <p>CHANNEL
9285                    
9286    </p>
9287    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9288                    
9289    </p>
9290    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9291                    
9292    </p>
9293    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9294                    
9295    </p>
9296    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9297                    
9298    </p>
9299    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9300                    
9301    </p>
9302    <p>/ DB_INSTRUMENTS SP db_path SP filename
9303                    
9304    </p>
9305    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9306                    
9307    </p>
9308    <p>/ MIDI_INSTRUMENT_MAP
9309                    
9310    </p>
9311    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9312                    
9313    </p>
9314    </blockquote><p>
9315    
9316    </p>
9317  <p>subscribe_event =  <p>subscribe_event =
9318          </p>          </p>
9319  <blockquote class="text">  <blockquote class="text">
9320  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9321                    
9322    </p>
9323    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9324                    
9325    </p>
9326    <p>/ MIDI_INPUT_DEVICE_COUNT
9327                    
9328    </p>
9329    <p>/ MIDI_INPUT_DEVICE_INFO
9330                    
9331    </p>
9332    <p>/ CHANNEL_COUNT
9333                                    
9334  </p>  </p>
9335  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5264  Intellectual Property and Copyright Stat Line 9344  Intellectual Property and Copyright Stat
9344  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9345                                    
9346  </p>  </p>
9347    <p>/ FX_SEND_COUNT
9348                    
9349    </p>
9350    <p>/ FX_SEND_INFO
9351                    
9352    </p>
9353    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9354                    
9355    </p>
9356    <p>/ MIDI_INSTRUMENT_MAP_INFO
9357                    
9358    </p>
9359    <p>/ MIDI_INSTRUMENT_COUNT
9360                    
9361    </p>
9362    <p>/ MIDI_INSTRUMENT_INFO
9363                    
9364    </p>
9365    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9366                    
9367    </p>
9368    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9369                    
9370    </p>
9371    <p>/ DB_INSTRUMENT_COUNT
9372                    
9373    </p>
9374    <p>/ DB_INSTRUMENT_INFO
9375                    
9376    </p>
9377    <p>/ DB_INSTRUMENTS_JOB_INFO
9378                    
9379    </p>
9380  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9381                                    
9382  </p>  </p>
9383  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9384                                    
9385  </p>  </p>
9386    <p>/ GLOBAL_INFO
9387                    
9388    </p>
9389  </blockquote><p>  </blockquote><p>
9390    
9391  </p>  </p>
9392  <p>unsubscribe_event =  <p>unsubscribe_event =
9393          </p>          </p>
9394  <blockquote class="text">  <blockquote class="text">
9395  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9396                    
9397    </p>
9398    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9399                    
9400    </p>
9401    <p>/ MIDI_INPUT_DEVICE_COUNT
9402                    
9403    </p>
9404    <p>/ MIDI_INPUT_DEVICE_INFO
9405                    
9406    </p>
9407    <p>/ CHANNEL_COUNT
9408                                    
9409  </p>  </p>
9410  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5291  Intellectual Property and Copyright Stat Line 9419  Intellectual Property and Copyright Stat
9419  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9420                                    
9421  </p>  </p>
9422    <p>/ FX_SEND_COUNT
9423                    
9424    </p>
9425    <p>/ FX_SEND_INFO
9426                    
9427    </p>
9428    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9429                    
9430    </p>
9431    <p>/ MIDI_INSTRUMENT_MAP_INFO
9432                    
9433    </p>
9434    <p>/ MIDI_INSTRUMENT_COUNT
9435                    
9436    </p>
9437    <p>/ MIDI_INSTRUMENT_INFO
9438                    
9439    </p>
9440    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9441                    
9442    </p>
9443    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9444                    
9445    </p>
9446    <p>/ DB_INSTRUMENT_COUNT
9447                    
9448    </p>
9449    <p>/ DB_INSTRUMENT_INFO
9450                    
9451    </p>
9452    <p>/ DB_INSTRUMENTS_JOB_INFO
9453                    
9454    </p>
9455  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9456                                    
9457  </p>  </p>
9458  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9459                                    
9460  </p>  </p>
9461    <p>/ GLOBAL_INFO
9462                    
9463    </p>
9464    </blockquote><p>
9465    
9466    </p>
9467    <p>map_instruction =
9468            </p>
9469    <blockquote class="text">
9470    <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
9471                    
9472    </p>
9473    <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
9474                    
9475    </p>
9476    <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
9477                    
9478    </p>
9479    <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
9480                    
9481    </p>
9482    </blockquote><p>
9483    
9484    </p>
9485    <p>unmap_instruction =
9486            </p>
9487    <blockquote class="text">
9488    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9489                    
9490    </p>
9491    </blockquote><p>
9492    
9493    </p>
9494    <p>remove_instruction =
9495            </p>
9496    <blockquote class="text">
9497    <p>CHANNEL SP sampler_channel
9498                    
9499    </p>
9500    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9501                    
9502    </p>
9503    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9504                    
9505    </p>
9506    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9507                    
9508    </p>
9509    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9510                    
9511    </p>
9512    <p>/ DB_INSTRUMENT SP db_path
9513                    
9514    </p>
9515  </blockquote><p>  </blockquote><p>
9516    
9517  </p>  </p>
# Line 5381  Intellectual Property and Copyright Stat Line 9596  Intellectual Property and Copyright Stat
9596  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
9597                                    
9598  </p>  </p>
9599    <p>/ MIDI_INSTRUMENTS SP midi_map
9600                    
9601    </p>
9602    <p>/ MIDI_INSTRUMENTS SP ALL
9603                    
9604    </p>
9605    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9606                    
9607    </p>
9608    <p>/ MIDI_INSTRUMENT_MAPS
9609                    
9610    </p>
9611    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9612                    
9613    </p>
9614    <p>/ FX_SENDS SP sampler_channel
9615                    
9616    </p>
9617    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9618                    
9619    </p>
9620    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9621                    
9622    </p>
9623    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9624                    
9625    </p>
9626    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9627                    
9628    </p>
9629    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9630                    
9631    </p>
9632    <p>/ DB_INSTRUMENTS SP db_path
9633                    
9634    </p>
9635    <p>/ DB_INSTRUMENT SP INFO SP db_path
9636                    
9637    </p>
9638    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9639                    
9640    </p>
9641    <p>/ VOLUME
9642                    
9643    </p>
9644  </blockquote><p>  </blockquote><p>
9645    
9646  </p>  </p>
# Line 5396  Intellectual Property and Copyright Stat Line 9656  Intellectual Property and Copyright Stat
9656  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9657                                    
9658  </p>  </p>
9659    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9660                    
9661    </p>
9662  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' param_val_list
9663                                    
9664  </p>  </p>
9665  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
9666                                    
9667  </p>  </p>
9668    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9669                    
9670    </p>
9671    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9672                    
9673    </p>
9674    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9675                    
9676    </p>
9677    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9678                    
9679    </p>
9680    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9681                    
9682    </p>
9683    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
9684                    
9685    </p>
9686    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
9687                    
9688    </p>
9689    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
9690                    
9691    </p>
9692    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
9693                    
9694    </p>
9695  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9696                                    
9697  </p>  </p>
9698    <p>/ VOLUME SP volume_value
9699                    
9700    </p>
9701  </blockquote><p>  </blockquote><p>
9702    
9703  </p>  </p>
# Line 5423  Intellectual Property and Copyright Stat Line 9716  Intellectual Property and Copyright Stat
9716  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
9717                                    
9718  </p>  </p>
9719    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
9720                    
9721    </p>
9722    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
9723                    
9724    </p>
9725    </blockquote><p>
9726    
9727    </p>
9728    <p>reset_instruction =
9729            </p>
9730    <blockquote class="text">
9731    <p>CHANNEL SP sampler_channel
9732                    
9733    </p>
9734    </blockquote><p>
9735    
9736    </p>
9737    <p>clear_instruction =
9738            </p>
9739    <blockquote class="text">
9740    <p>MIDI_INSTRUMENTS SP midi_map
9741                    
9742    </p>
9743    <p>/ MIDI_INSTRUMENTS SP ALL
9744                    
9745    </p>
9746    </blockquote><p>
9747    
9748    </p>
9749    <p>find_instruction =
9750            </p>
9751    <blockquote class="text">
9752    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
9753                    
9754    </p>
9755    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
9756                    
9757    </p>
9758    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
9759                    
9760    </p>
9761    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
9762                    
9763    </p>
9764    </blockquote><p>
9765    
9766    </p>
9767    <p>move_instruction =
9768            </p>
9769    <blockquote class="text">
9770    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9771                    
9772    </p>
9773    <p>/ DB_INSTRUMENT SP db_path SP db_path
9774                    
9775    </p>
9776    </blockquote><p>
9777    
9778    </p>
9779    <p>copy_instruction =
9780            </p>
9781    <blockquote class="text">
9782    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9783                    
9784    </p>
9785    <p>/ DB_INSTRUMENT SP db_path SP db_path
9786                    
9787    </p>
9788  </blockquote><p>  </blockquote><p>
9789    
9790  </p>  </p>
# Line 5435  Intellectual Property and Copyright Stat Line 9797  Intellectual Property and Copyright Stat
9797  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
9798                                    
9799  </p>  </p>
9800    <p>/ FX_SEND SP sampler_channel SP fx_send_id
9801                    
9802    </p>
9803  </blockquote><p>  </blockquote><p>
9804    
9805  </p>  </p>
# Line 5486  Intellectual Property and Copyright Stat Line 9851  Intellectual Property and Copyright Stat
9851  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
9852                                    
9853  </p>  </p>
9854    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
9855                    
9856    </p>
9857    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
9858                    
9859    </p>
9860    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
9861                    
9862    </p>
9863    </blockquote><p>
9864    
9865    </p>
9866    <p>edit_instruction =
9867            </p>
9868    <blockquote class="text">
9869    <p>INSTRUMENT SP sampler_channel
9870                    
9871    </p>
9872    </blockquote><p>
9873    
9874    </p>
9875    <p>format_instruction =
9876            </p>
9877    <blockquote class="text">
9878    <p>INSTRUMENTS_DB
9879                    
9880    </p>
9881    </blockquote><p>
9882    
9883    </p>
9884    <p>modal_arg =
9885            </p>
9886    <blockquote class="text">
9887    <p>/* epsilon (empty argument) */
9888                    
9889    </p>
9890    <p>/ NON_MODAL SP
9891                    
9892    </p>
9893  </blockquote><p>  </blockquote><p>
9894    
9895  </p>  </p>
# Line 5534  Intellectual Property and Copyright Stat Line 9938  Intellectual Property and Copyright Stat
9938  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9939                                    
9940  </p>  </p>
9941    <p>/ MIDI_INSTRUMENTS SP midi_map
9942                    
9943    </p>
9944    <p>/ MIDI_INSTRUMENTS SP ALL
9945                    
9946    </p>
9947    <p>/ MIDI_INSTRUMENT_MAPS
9948                    
9949    </p>
9950    <p>/ FX_SENDS SP sampler_channel
9951                    
9952    </p>
9953    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9954                    
9955    </p>
9956    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9957                    
9958    </p>
9959    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9960                    
9961    </p>
9962    <p>/ DB_INSTRUMENTS SP db_path
9963                    
9964    </p>
9965  </blockquote><p>  </blockquote><p>
9966    
9967  </p>  </p>
# Line 5558  Intellectual Property and Copyright Stat Line 9986  Intellectual Property and Copyright Stat
9986  </blockquote><p>  </blockquote><p>
9987    
9988  </p>  </p>
9989    <p>instr_load_mode =
9990            </p>
9991    <blockquote class="text">
9992    <p>ON_DEMAND
9993                    
9994    </p>
9995    <p>/ ON_DEMAND_HOLD
9996                    
9997    </p>
9998    <p>/ PERSISTENT
9999                    
10000    </p>
10001    </blockquote><p>
10002    
10003    </p>
10004  <p>device_index =  <p>device_index =
10005          </p>          </p>
10006  <blockquote class="text">  <blockquote class="text">
# Line 5615  Intellectual Property and Copyright Stat Line 10058  Intellectual Property and Copyright Stat
10058  </blockquote><p>  </blockquote><p>
10059    
10060  </p>  </p>
10061    <p>midi_map =
10062            </p>
10063    <blockquote class="text">
10064    <p>number
10065                    
10066    </p>
10067    </blockquote><p>
10068    
10069    </p>
10070    <p>midi_bank =
10071            </p>
10072    <blockquote class="text">
10073    <p>number
10074                    
10075    </p>
10076    </blockquote><p>
10077    
10078    </p>
10079    <p>midi_prog =
10080            </p>
10081    <blockquote class="text">
10082    <p>number
10083                    
10084    </p>
10085    </blockquote><p>
10086    
10087    </p>
10088    <p>midi_ctrl =
10089            </p>
10090    <blockquote class="text">
10091    <p>number
10092                    
10093    </p>
10094    </blockquote><p>
10095    
10096    </p>
10097  <p>volume_value =  <p>volume_value =
10098          </p>          </p>
10099  <blockquote class="text">  <blockquote class="text">
# Line 5645  Intellectual Property and Copyright Stat Line 10124  Intellectual Property and Copyright Stat
10124  </blockquote><p>  </blockquote><p>
10125    
10126  </p>  </p>
10127    <p>fx_send_id =
10128            </p>
10129    <blockquote class="text">
10130    <p>number
10131                    
10132    </p>
10133    </blockquote><p>
10134    
10135    </p>
10136  <p>engine_name =  <p>engine_name =
10137          </p>          </p>
10138  <blockquote class="text">  <blockquote class="text">
# Line 5657  Intellectual Property and Copyright Stat Line 10145  Intellectual Property and Copyright Stat
10145  <p>filename =  <p>filename =
10146          </p>          </p>
10147  <blockquote class="text">  <blockquote class="text">
10148  <p>stringval  <p>path
10149                    
10150    </p>
10151    </blockquote><p>
10152    
10153    </p>
10154    <p>db_path =
10155            </p>
10156    <blockquote class="text">
10157    <p>path
10158                    
10159    </p>
10160    </blockquote><p>
10161    
10162    </p>
10163    <p>map_name =
10164            </p>
10165    <blockquote class="text">
10166    <p>stringval_escaped
10167                    
10168    </p>
10169    </blockquote><p>
10170    
10171    </p>
10172    <p>entry_name =
10173            </p>
10174    <blockquote class="text">
10175    <p>stringval_escaped
10176                    
10177    </p>
10178    </blockquote><p>
10179    
10180    </p>
10181    <p>fx_send_name =
10182            </p>
10183    <blockquote class="text">
10184    <p>stringval_escaped
10185                                    
10186  </p>  </p>
10187  </blockquote><p>  </blockquote><p>
# Line 5693  Intellectual Property and Copyright Stat Line 10217  Intellectual Property and Copyright Stat
10217  </blockquote><p>  </blockquote><p>
10218    
10219  </p>  </p>
10220    <p>query_val_list =
10221            </p>
10222    <blockquote class="text">
10223    <p>string '=' query_val
10224                    
10225    </p>
10226    <p>/ query_val_list SP string '=' query_val
10227                    
10228    </p>
10229    </blockquote><p>
10230    
10231    </p>
10232    <p>query_val =
10233            </p>
10234    <blockquote class="text">
10235    <p>text_escaped
10236                    
10237    </p>
10238    <p>/ stringval_escaped
10239                    
10240    </p>
10241    </blockquote><p>
10242    
10243    </p>
10244    <p>scan_mode =
10245            </p>
10246    <blockquote class="text">
10247    <p>RECURSIVE
10248                    
10249    </p>
10250    <p>/ NON_RECURSIVE
10251                    
10252    </p>
10253    <p>/ FLAT
10254                    
10255    </p>
10256    </blockquote><p>
10257    
10258    </p>
10259    <a name="character_set"></a><br /><hr />
10260    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10261    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10262    Character Set and Escape Sequences</h3>
10263    
10264    <p>Older versions of this protocol up to and including v1.1 only
10265                    supported the standard ASCII character set (ASCII code 0 - 127)
10266                    <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
10267                    however support the Extended ASCII character set (ASCII code
10268                    0 - 255). The same group of younger protocols also support
10269                    escape sequences, but only for certain, explicitly declared
10270                    parts of the protocol. The supported escape sequences are
10271                    defined as follows:
10272    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10273    <col align="left"><col align="left">
10274    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10275    <tr>
10276    <td align="left">\n</td>
10277    <td align="left">new line</td>
10278    </tr>
10279    <tr>
10280    <td align="left">\r</td>
10281    <td align="left">carriage return</td>
10282    </tr>
10283    <tr>
10284    <td align="left">\f</td>
10285    <td align="left">form feed</td>
10286    </tr>
10287    <tr>
10288    <td align="left">\t</td>
10289    <td align="left">horizontal tab</td>
10290    </tr>
10291    <tr>
10292    <td align="left">\v</td>
10293    <td align="left">vertical tab</td>
10294    </tr>
10295    <tr>
10296    <td align="left">\'</td>
10297    <td align="left">apostrophe</td>
10298    </tr>
10299    <tr>
10300    <td align="left">\"</td>
10301    <td align="left">quotation mark</td>
10302    </tr>
10303    <tr>
10304    <td align="left">\\</td>
10305    <td align="left">backslash</td>
10306    </tr>
10307    <tr>
10308    <td align="left">\OOO</td>
10309    <td align="left">three digit octal ASCII code of the character</td>
10310    </tr>
10311    <tr>
10312    <td align="left">\xHH</td>
10313    <td align="left">two digit hex ASCII code of the character</td>
10314    </tr>
10315    </table>
10316    
10317    <p>Notice: due to the transition of certain parts of the
10318                    protocol which now support escape sequences, a slight backward
10319                    incompatibility to protocols version v1.1 and younger has been
10320                    introduced. The only difference is that in parts of the protocol
10321                    where escape characters are now supported, a backslash characters
10322                    MUST be escaped as well (that is as double backslash), whereas
10323                    in the old versions a single backslash was sufficient.
10324    </p>
10325    <p>The following LSCP commands support escape sequences as part
10326                    of their filename / path based arguments and / or may contain
10327                    a filename / path with escape sequences in their response:
10328                    </p>
10329    <blockquote class="text">
10330    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10331    </p>
10332    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10333    </p>
10334    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10335    </p>
10336    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10337    </p>
10338    <p><a class='info' href='#ADD DB_INSTRUMENT_DIRECTORY'>"ADD DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Creating a new instrument directory</span><span>)</span></a>
10339    </p>
10340    <p><a class='info' href='#ADD DB_INSTRUMENTS'>"ADD DB_INSTRUMENTS"<span> (</span><span class='info'>Adding instruments to the instruments database</span><span>)</span></a>
10341    </p>
10342    <p><a class='info' href='#REMOVE DB_INSTRUMENT_DIRECTORY'>"REMOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Deleting an instrument directory</span><span>)</span></a>
10343    </p>
10344    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10345    </p>
10346    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORIES'>"GET DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Getting amount of instrument directories</span><span>)</span></a>
10347    </p>
10348    <p><a class='info' href='#LIST DB_INSTRUMENT_DIRECTORIES'>"LIST DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Listing all directories in specific directory</span><span>)</span></a>
10349    </p>
10350    <p><a class='info' href='#GET DB_INSTRUMENT_DIRECTORY INFO'>"GET DB_INSTRUMENT_DIRECTORY INFO"<span> (</span><span class='info'>Getting instrument directory information</span><span>)</span></a>
10351    </p>
10352    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10353    </p>
10354    <p><a class='info' href='#LIST DB_INSTRUMENTS'>"LIST DB_INSTRUMENTS"<span> (</span><span class='info'>Listing all instruments in specific directory</span><span>)</span></a>
10355    </p>
10356    <p><a class='info' href='#GET DB_INSTRUMENT INFO'>"GET DB_INSTRUMENT INFO"<span> (</span><span class='info'>Getting instrument information</span><span>)</span></a>
10357    </p>
10358    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10359    </p>
10360    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10361    </p>
10362    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10363    </p>
10364    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10365    </p>
10366    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10367    </p>
10368    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10369    </p>
10370    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10371    </p>
10372    <p><a class='info' href='#MOVE DB_INSTRUMENT_DIRECTORY'>"MOVE DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Moving an instrument directory</span><span>)</span></a>
10373    </p>
10374    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10375    </p>
10376    <p><a class='info' href='#COPY DB_INSTRUMENT_DIRECTORY'>"COPY DB_INSTRUMENT_DIRECTORY"<span> (</span><span class='info'>Copying instrument directories</span><span>)</span></a>
10377    </p>
10378    </blockquote><p>
10379                    Note that the forward slash character ('/') has a special meaning in
10380                    filename / path based arguments: it acts as separator of the nodes in
10381                    the path, thus if a directory- or filename includes a forward slash
10382                    (not intended as path node separator), you MUST escape that slash
10383                    either with the respective hex escape sequence ("\x2f") or with the
10384                    respective octal escape sequence ("\057").
10385                    
10386    </p>
10387    <p>
10388                    The following LSCP commands even support escape sequences as
10389                    part of at least one of their text-based arguments (i.e. entity name,
10390                    description) and / or may contain escape sequences in at least one of
10391                    their text-based fields in their response:
10392                    </p>
10393    <blockquote class="text">
10394    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10395    </p>
10396    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
10397    </p>
10398    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10399    </p>
10400    <p><a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
10401    </p>
10402    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
10403    </p>
10404    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
10405    </p>
10406    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10407    </p>
10408    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
10409    </p>
10410    <p><a class='info' href='#ADD MIDI_INSTRUMENT_MAP'>"ADD MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Create a new MIDI instrument map</span><span>)</span></a>
10411    </p>
10412    <p><a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
10413    </p>
10414    <p><a class='info' href='#SET MIDI_INSTRUMENT_MAP NAME'>"SET MIDI_INSTRUMENT_MAP NAME"<span> (</span><span class='info'>Renaming a MIDI instrument map</span><span>)</span></a>
10415    </p>
10416    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY NAME'>"SET DB_INSTRUMENT_DIRECTORY NAME"<span> (</span><span class='info'>Renaming an instrument directory</span><span>)</span></a>
10417    </p>
10418    <p><a class='info' href='#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION'>"SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"<span> (</span><span class='info'>Changing the description of directory</span><span>)</span></a>
10419    </p>
10420    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10421    </p>
10422    <p><a class='info' href='#SET DB_INSTRUMENT NAME'>"SET DB_INSTRUMENT NAME"<span> (</span><span class='info'>Renaming an instrument</span><span>)</span></a>
10423    </p>
10424    <p><a class='info' href='#SET DB_INSTRUMENT DESCRIPTION'>"SET DB_INSTRUMENT DESCRIPTION"<span> (</span><span class='info'>Changing the description of instrument</span><span>)</span></a>
10425    </p>
10426    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10427    </p>
10428    </blockquote><p>
10429                    Please note that these lists are manually maintained. If you
10430                    find a command that also supports escape sequences we forgot to
10431                    mention here, please report it!
10432                    
10433    </p>
10434  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10435  <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>
10436  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10437    Events</h3>
10438    
10439  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10440  </p>  </p>
10441  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10442  <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>
10443  <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;
10444    Number of audio output devices changed</h3>
10445    
10446    <p>Client may want to be notified when the total number of audio output devices on the
10447                    back-end changes by issuing the following command:
10448    </p>
10449    <p>
10450                        </p>
10451    <blockquote class="text">
10452    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10453    </p>
10454    </blockquote><p>
10455                    
10456    </p>
10457    <p>Server will start sending the following notification messages:
10458    </p>
10459    <p>
10460                        </p>
10461    <blockquote class="text">
10462    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10463    </p>
10464    </blockquote><p>
10465                    
10466    </p>
10467    <p>where &lt;devices&gt; will be replaced by the new number
10468                    of audio output devices.
10469    </p>
10470    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10471    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10472    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10473    Audio output device's settings changed</h3>
10474    
10475    <p>Client may want to be notified when changes were made to audio output devices on the
10476                    back-end by issuing the following command:
10477    </p>
10478    <p>
10479                        </p>
10480    <blockquote class="text">
10481    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10482    </p>
10483    </blockquote><p>
10484                    
10485    </p>
10486    <p>Server will start sending the following notification messages:
10487    </p>
10488    <p>
10489                        </p>
10490    <blockquote class="text">
10491    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10492    </p>
10493    </blockquote><p>
10494                    
10495    </p>
10496    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10497                    which settings has been changed. The front-end will have to send
10498                    the respective command to actually get the audio output device info. Because these messages
10499                    will be triggered by LSCP commands issued by other clients rather than real
10500                    time events happening on the server, it is believed that an empty notification
10501                    message is sufficient here.
10502    </p>
10503    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10504    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10505    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10506    Number of MIDI input devices changed</h3>
10507    
10508    <p>Client may want to be notified when the total number of MIDI input devices on the
10509                    back-end changes by issuing the following command:
10510    </p>
10511    <p>
10512                        </p>
10513    <blockquote class="text">
10514    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10515    </p>
10516    </blockquote><p>
10517                    
10518    </p>
10519    <p>Server will start sending the following notification messages:
10520    </p>
10521    <p>
10522                        </p>
10523    <blockquote class="text">
10524    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10525    </p>
10526    </blockquote><p>
10527                    
10528    </p>
10529    <p>where &lt;devices&gt; will be replaced by the new number
10530                    of MIDI input devices.
10531    </p>
10532    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10533    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10534    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10535    MIDI input device's settings changed</h3>
10536    
10537    <p>Client may want to be notified when changes were made to MIDI input devices on the
10538                    back-end by issuing the following command:
10539    </p>
10540    <p>
10541                        </p>
10542    <blockquote class="text">
10543    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10544    </p>
10545    </blockquote><p>
10546                    
10547    </p>
10548    <p>Server will start sending the following notification messages:
10549    </p>
10550    <p>
10551                        </p>
10552    <blockquote class="text">
10553    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10554    </p>
10555    </blockquote><p>
10556                    
10557    </p>
10558    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10559                    which settings has been changed. The front-end will have to send
10560                    the respective command to actually get the MIDI input device info. Because these messages
10561                    will be triggered by LSCP commands issued by other clients rather than real
10562                    time events happening on the server, it is believed that an empty notification
10563                    message is sufficient here.
10564    </p>
10565    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10566    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10567    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10568    Number of sampler channels changed</h3>
10569    
10570  <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
10571                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5728  Intellectual Property and Copyright Stat Line 10592  Intellectual Property and Copyright Stat
10592                  of sampler channels.                  of sampler channels.
10593  </p>  </p>
10594  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10595  <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>
10596  <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;
10597    Number of active voices changed</h3>
10598    
10599  <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
10600                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5747  Intellectual Property and Copyright Stat Line 10612  Intellectual Property and Copyright Stat
10612  <p>  <p>
10613                      </p>                      </p>
10614  <blockquote class="text">  <blockquote class="text">
10615  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10616  </p>  </p>
10617  </blockquote><p>  </blockquote><p>
10618                                    
# Line 5757  Intellectual Property and Copyright Stat Line 10622  Intellectual Property and Copyright Stat
10622                  active voices on that channel.                  active voices on that channel.
10623  </p>  </p>
10624  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10625  <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>
10626  <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;
10627    Number of active disk streams changed</h3>
10628    
10629  <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
10630                  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 10652  Intellectual Property and Copyright Stat
10652                  active disk streams on that channel.                  active disk streams on that channel.
10653  </p>  </p>
10654  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10655  <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>
10656  <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;
10657    Disk stream buffer fill state changed</h3>
10658    
10659  <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
10660                  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 10679  Intellectual Property and Copyright Stat
10679  </p>  </p>
10680  <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
10681                  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
10682                  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>
10683                  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.
10684  </p>  </p>
10685  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
10686  <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>
10687  <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;
10688    Channel information changed</h3>
10689    
10690  <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
10691                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 5847  Intellectual Property and Copyright Stat Line 10715  Intellectual Property and Copyright Stat
10715                  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
10716                  message is sufficient here.                  message is sufficient here.
10717  </p>  </p>
10718    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10719    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10720    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10721    Number of effect sends changed</h3>
10722    
10723    <p>Client may want to be notified when the number of effect sends on
10724                    a particular sampler channel is changed by issuing the following command:
10725    </p>
10726    <p>
10727                        </p>
10728    <blockquote class="text">
10729    <p>SUBSCRIBE FX_SEND_COUNT
10730    </p>
10731    </blockquote><p>
10732                    
10733    </p>
10734    <p>Server will start sending the following notification messages:
10735    </p>
10736    <p>
10737                        </p>
10738    <blockquote class="text">
10739    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10740    </p>
10741    </blockquote><p>
10742                    
10743    </p>
10744    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10745                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10746                    be replaced by the new number of effect sends on that channel.
10747    </p>
10748    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10749    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10750    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10751    Effect send information changed</h3>
10752    
10753    <p>Client may want to be notified when changes were made to effect sends on a
10754                    a particular sampler channel by issuing the following command:
10755    </p>
10756    <p>
10757                        </p>
10758    <blockquote class="text">
10759    <p>SUBSCRIBE FX_SEND_INFO
10760    </p>
10761    </blockquote><p>
10762                    
10763    </p>
10764    <p>Server will start sending the following notification messages:
10765    </p>
10766    <p>
10767                        </p>
10768    <blockquote class="text">
10769    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10770    </p>
10771    </blockquote><p>
10772                    
10773    </p>
10774    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10775                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10776                    be replaced by the numerical ID of the changed effect send.
10777    </p>
10778  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10779  <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>
10780  <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;
10781    Total number of active voices changed</h3>
10782    
10783  <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
10784                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5867  Intellectual Property and Copyright Stat Line 10796  Intellectual Property and Copyright Stat
10796  <p>  <p>
10797                      </p>                      </p>
10798  <blockquote class="text">  <blockquote class="text">
10799  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10800  </p>  </p>
10801  </blockquote><p>  </blockquote><p>
10802                                    
# Line 5875  Intellectual Property and Copyright Stat Line 10804  Intellectual Property and Copyright Stat
10804  <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
10805                  all currently active voices.                  all currently active voices.
10806  </p>  </p>
10807    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10808    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10809    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10810    Number of MIDI instrument maps changed</h3>
10811    
10812    <p>Client may want to be notified when the number of MIDI instrument maps on the
10813                    back-end changes by issuing the following command:
10814    </p>
10815    <p>
10816                        </p>
10817    <blockquote class="text">
10818    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
10819    </p>
10820    </blockquote><p>
10821                    
10822    </p>
10823    <p>Server will start sending the following notification messages:
10824    </p>
10825    <p>
10826                        </p>
10827    <blockquote class="text">
10828    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
10829    </p>
10830    </blockquote><p>
10831                    
10832    </p>
10833    <p>where &lt;maps&gt; will be replaced by the new number
10834                    of MIDI instrument maps.
10835    </p>
10836    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10837    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10838    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10839    MIDI instrument map information changed</h3>
10840    
10841    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
10842                    back-end by issuing the following command:
10843    </p>
10844    <p>
10845                        </p>
10846    <blockquote class="text">
10847    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
10848    </p>
10849    </blockquote><p>
10850                    
10851    </p>
10852    <p>Server will start sending the following notification messages:
10853    </p>
10854    <p>
10855                        </p>
10856    <blockquote class="text">
10857    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
10858    </p>
10859    </blockquote><p>
10860                    
10861    </p>
10862    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10863                    for which information changes occurred. The front-end will have to send
10864                    the respective command to actually get the MIDI instrument map info. Because these messages
10865                    will be triggered by LSCP commands issued by other clients rather than real
10866                    time events happening on the server, it is believed that an empty notification
10867                    message is sufficient here.
10868    </p>
10869    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10870    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10871    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10872    Number of MIDI instruments changed</h3>
10873    
10874    <p>Client may want to be notified when the number of MIDI instrument maps on the
10875                    back-end changes by issuing the following command:
10876    </p>
10877    <p>
10878                        </p>
10879    <blockquote class="text">
10880    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
10881    </p>
10882    </blockquote><p>
10883                    
10884    </p>
10885    <p>Server will start sending the following notification messages:
10886    </p>
10887    <p>
10888                        </p>
10889    <blockquote class="text">
10890    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
10891    </p>
10892    </blockquote><p>
10893                    
10894    </p>
10895    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
10896                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
10897                    the new number of MIDI instruments in the specified map.
10898    </p>
10899    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10900    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10901    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10902    MIDI instrument information changed</h3>
10903    
10904    <p>Client may want to be notified when changes were made to MIDI instruments on the
10905                    back-end by issuing the following command:
10906    </p>
10907    <p>
10908                        </p>
10909    <blockquote class="text">
10910    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
10911    </p>
10912    </blockquote><p>
10913                    
10914    </p>
10915    <p>Server will start sending the following notification messages:
10916    </p>
10917    <p>
10918                        </p>
10919    <blockquote class="text">
10920    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
10921    </p>
10922    </blockquote><p>
10923                    
10924    </p>
10925    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10926                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
10927                    the location of the changed MIDI instrument in the map. The front-end will have to send
10928                    the respective command to actually get the MIDI instrument info. Because these messages
10929                    will be triggered by LSCP commands issued by other clients rather than real
10930                    time events happening on the server, it is believed that an empty notification
10931                    message is sufficient here.
10932    </p>
10933    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10934    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10935    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10936    Global settings changed</h3>
10937    
10938    <p>Client may want to be notified when changes to the global settings
10939                    of the sampler were made by issuing the following command:
10940    </p>
10941    <p>
10942                        </p>
10943    <blockquote class="text">
10944    <p>SUBSCRIBE GLOBAL_INFO
10945    </p>
10946    </blockquote><p>
10947                    
10948    </p>
10949    <p>Server will start sending the following types of notification messages:
10950    </p>
10951    <p>
10952                        </p>
10953    <blockquote class="text">
10954    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10955                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10956                            replaced by the optional dotted floating point value, reflecting the
10957                            new global volume parameter.
10958    </p>
10959    </blockquote><p>
10960                    
10961    </p>
10962    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10963    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10964    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10965    Number of database instrument directories changed</h3>
10966    
10967    <p>Client may want to be notified when the number of instrument
10968                    directories in a particular directory in the instruments database
10969                    is changed by issuing the following command:
10970    </p>
10971    <p>
10972                        </p>
10973    <blockquote class="text">
10974    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10975    </p>
10976    </blockquote><p>
10977                    
10978    </p>
10979    <p>Server will start sending the following notification messages:
10980    </p>
10981    <p>
10982                        </p>
10983    <blockquote class="text">
10984    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10985    </p>
10986    </blockquote><p>
10987                    
10988    </p>
10989    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10990                    name of the directory in the instruments database,
10991                    in which the number of directories is changed.
10992    </p>
10993    <p>Note that when a non-empty directory is removed, this event
10994                    is not sent for the subdirectories in that directory.
10995    </p>
10996    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10997    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10998    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10999    Database instrument directory information changed</h3>
11000    
11001    <p>Client may want to be notified when changes were made to directories
11002                    in the instruments database by issuing the following command:
11003    </p>
11004    <p>
11005                        </p>
11006    <blockquote class="text">
11007    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11008    </p>
11009    </blockquote><p>
11010                    
11011    </p>
11012    <p>Server will start sending the following notification messages:
11013    </p>
11014    <p>
11015                        </p>
11016    <blockquote class="text">
11017    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11018    </p>
11019    </blockquote><p>
11020                    
11021    </p>
11022    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11023                    of the directory, for which information changes occurred. The front-end will have to send
11024                    the respective command to actually get the updated directory info. Because these messages
11025                    will be triggered by LSCP commands issued by other clients rather than real
11026                    time events happening on the server, it is believed that an empty notification
11027                    message is sufficient here.
11028    </p>
11029    <p>
11030                        </p>
11031    <blockquote class="text">
11032    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11033    </p>
11034    </blockquote><p>
11035                    
11036    </p>
11037    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11038                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11039                    the new name of the directory, encapsulated into apostrophes.
11040    </p>
11041    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11042    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11043    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11044    Number of database instruments changed</h3>
11045    
11046    <p>Client may want to be notified when the number of instruments
11047                    in a particular directory in the instruments database
11048                    is changed by issuing the following command:
11049    </p>
11050    <p>
11051                        </p>
11052    <blockquote class="text">
11053    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11054    </p>
11055    </blockquote><p>
11056                    
11057    </p>
11058    <p>Server will start sending the following notification messages:
11059    </p>
11060    <p>
11061                        </p>
11062    <blockquote class="text">
11063    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11064    </p>
11065    </blockquote><p>
11066                    
11067    </p>
11068    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11069                    name of the directory in the instruments database,
11070                    in which the number of instruments is changed.
11071    </p>
11072    <p>Note that when a non-empty directory is removed, this event
11073                    is not sent for the instruments in that directory.
11074    </p>
11075    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11076    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11077    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11078    Database instrument information changed</h3>
11079    
11080    <p>Client may want to be notified when changes were made to instruments
11081                    in the instruments database by issuing the following command:
11082    </p>
11083    <p>
11084                        </p>
11085    <blockquote class="text">
11086    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11087    </p>
11088    </blockquote><p>
11089                    
11090    </p>
11091    <p>Server will start sending the following notification messages:
11092    </p>
11093    <p>
11094                        </p>
11095    <blockquote class="text">
11096    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11097    </p>
11098    </blockquote><p>
11099                    
11100    </p>
11101    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11102                    of the instrument, which settings are changed. The front-end will have to send
11103                    the respective command to actually get the updated directory info. Because these messages
11104                    will be triggered by LSCP commands issued by other clients rather than real
11105                    time events happening on the server, it is believed that an empty notification
11106                    message is sufficient here.
11107    </p>
11108    <p>
11109                        </p>
11110    <blockquote class="text">
11111    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11112    </p>
11113    </blockquote><p>
11114                    
11115    </p>
11116    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11117                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11118                    the new name of the instrument, encapsulated into apostrophes.
11119    </p>
11120    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11121    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11122    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11123    Database job status information changed</h3>
11124    
11125    <p>Client may want to be notified when the status of particular database
11126                    instruments job is changed by issuing the following command:
11127    </p>
11128    <p>
11129                        </p>
11130    <blockquote class="text">
11131    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11132    </p>
11133    </blockquote><p>
11134                    
11135    </p>
11136    <p>Server will start sending the following notification messages:
11137    </p>
11138    <p>
11139                        </p>
11140    <blockquote class="text">
11141    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11142    </p>
11143    </blockquote><p>
11144                    
11145    </p>
11146    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11147                    which status is changed. The front-end will have to send the respective
11148                    command to actually get the status info. Because these messages
11149                    will be triggered by LSCP commands issued by other clients rather than real
11150                    time events happening on the server, it is believed that an empty notification
11151                    message is sufficient here.
11152    </p>
11153  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11154  <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>
11155  <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;
11156    Miscellaneous and debugging events</h3>
11157    
11158  <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
11159                  the server by issuing the following command:                  the server by issuing the following command:
# Line 5905  Intellectual Property and Copyright Stat Line 11181  Intellectual Property and Copyright Stat
11181                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11182  </p>  </p>
11183  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11184  <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>
11185  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11186    Security Considerations</h3>
11187    
11188  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11189              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 11191  Intellectual Property and Copyright Stat
11191              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11192  </p>  </p>
11193  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11194  <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>
11195  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11196    Acknowledgments</h3>
11197    
11198  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11199              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 11214  Intellectual Property and Copyright Stat
11214                            
11215  </p>  </p>
11216  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11217  <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>
11218  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11219  <table width="99%" border="0">  <table width="99%" border="0">
11220    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11221    <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>
11222  <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>
11223  <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>
11224  <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 11228  Intellectual Property and Copyright Stat
11228  </table>  </table>
11229    
11230  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11231  <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>
11232  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11233  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11234  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 5966  Schoenebeck</td></tr> Line 11246  Schoenebeck</td></tr>
11246  <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>
11247  </table>  </table>
11248  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11249  <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>
11250  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11251  <p class='copyright'>  <p class='copyright'>
11252  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>  
11253  <p class='copyright'>  <p class='copyright'>
11254  The IETF invites any interested party to bring to its  This document is subject to the rights,
11255  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11256  other proprietary rights which may cover technology that may be  and except as set forth therein,
11257  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>  
11258  <p class='copyright'>  <p class='copyright'>
11259  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  This document and the information contained herein are provided
11260    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11261    THE ORGANIZATION HE/SHE REPRESENTS
11262    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11263    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11264    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11265    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11266    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11267    PURPOSE.</p>
11268    <h3>Intellectual Property</h3>
11269  <p class='copyright'>  <p class='copyright'>
11270  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11271  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11272  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11273  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11274  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11275  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11276  document itself may not be modified in any way, such as by removing  such rights.
11277  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11278  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>  
11279  <p class='copyright'>  <p class='copyright'>
11280  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11281  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11282    or the result of an attempt made to obtain a general license or
11283    permission for the use of such proprietary rights by implementers or
11284    users of this specification can be obtained from the IETF on-line IPR
11285    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11286  <p class='copyright'>  <p class='copyright'>
11287  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11288  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11289  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11290  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11291  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11292  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11293    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11294  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11295  <p class='copyright'>  <p class='copyright'>
11296  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11297  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11298  </body></html>  </body></html>
11299    

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

  ViewVC Help
Powered by ViewVC