/[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 1390 by schoenebeck, Sun Oct 7 14:07:48 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 9, 2008</td><td class="header">October 7, 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 9, 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 3685  Intellectual Property and Copyright Stat Line 3906  Intellectual Property and Copyright Stat
3906                                            
3907  </p>  </p>
3908  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3909  <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>
3910  <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;
3911    Getting sampler channel information</h3>
3912    
3913  <p>The front-end can ask for the current settings of a sampler channel  <p>The front-end can ask for the current settings of a sampler channel
3914                      by sending the following command:                      by sending the following command:
# Line 3700  Intellectual Property and Copyright Stat Line 3922  Intellectual Property and Copyright Stat
3922                                            
3923  </p>  </p>
3924  <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
3925                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3926                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
3927  </p>  </p>
3928  <p>Possible Answers:  <p>Possible Answers:
3929  </p>  </p>
# Line 3829  Intellectual Property and Copyright Stat Line 4051  Intellectual Property and Copyright Stat
4051                                          </p>                                          </p>
4052  <blockquote class="text">  <blockquote class="text">
4053  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4054                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4055                                              1.0 means amplification)                                              1.0 means amplification)
4056  </p>  </p>
4057  </blockquote>  </blockquote>
# Line 3856  Intellectual Property and Copyright Stat Line 4078  Intellectual Property and Copyright Stat
4078  </blockquote>  </blockquote>
4079                                                                            
4080    
4081    <p>MIDI_INSTRUMENT_MAP -
4082                                            </p>
4083    <blockquote class="text">
4084    <p>Determines to which MIDI instrument map this sampler
4085                                                channel is assigned to. Read chapter
4086                                                <a class='info' href='#SET CHANNEL MIDI_INSTRUMENT_MAP'>"SET CHANNEL MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Assigning a MIDI instrument map to a sampler channel</span><span>)</span></a>
4087                                                for a list of possible values.
4088    </p>
4089    </blockquote>
4090                                        
4091    
4092  </blockquote>  </blockquote>
4093                                                            
4094    
# Line 3895  Intellectual Property and Copyright Stat Line 4128  Intellectual Property and Copyright Stat
4128  </p>  </p>
4129  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4130  </p>  </p>
4131    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4132    </p>
4133    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4134    </p>
4135    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4136    </p>
4137    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4138    </p>
4139  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4140  </p>  </p>
4141  </blockquote><p>  </blockquote><p>
4142                                            
4143  </p>  </p>
4144  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4145  <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>
4146  <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;
4147    Current number of active voices</h3>
4148    
4149  <p>The front-end can ask for the current number of active voices on a  <p>The front-end can ask for the current number of active voices on a
4150                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3916  Intellectual Property and Copyright Stat Line 4158  Intellectual Property and Copyright Stat
4158                                            
4159  </p>  </p>
4160  <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
4161                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4162                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4163  </p>  </p>
4164  <p>Possible Answers:  <p>Possible Answers:
4165  </p>  </p>
# Line 3941  Intellectual Property and Copyright Stat Line 4183  Intellectual Property and Copyright Stat
4183                                            
4184  </p>  </p>
4185  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4186  <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>
4187  <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;
4188    Current number of active disk streams</h3>
4189    
4190  <p>The front-end can ask for the current number of active disk streams  <p>The front-end can ask for the current number of active disk streams
4191                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 3956  Intellectual Property and Copyright Stat Line 4199  Intellectual Property and Copyright Stat
4199                                            
4200  </p>  </p>
4201  <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
4202                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4203                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4204  </p>  </p>
4205  <p>Possible Answers:  <p>Possible Answers:
4206  </p>  </p>
# Line 3983  Intellectual Property and Copyright Stat Line 4226  Intellectual Property and Copyright Stat
4226                                            
4227  </p>  </p>
4228  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4229  <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>
4230  <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;
4231    Current fill state of disk stream buffers</h3>
4232    
4233  <p>The front-end can ask for the current fill state of all disk streams  <p>The front-end can ask for the current fill state of all disk streams
4234                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 4009  Intellectual Property and Copyright Stat Line 4253  Intellectual Property and Copyright Stat
4253  </p>  </p>
4254  <p>to get the fill state in percent, where &lt;sampler-channel&gt; is the  <p>to get the fill state in percent, where &lt;sampler-channel&gt; is the
4255                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4256                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4257                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4258  </p>  </p>
4259  <p>Possible Answers:  <p>Possible Answers:
4260  </p>  </p>
# Line 4060  Intellectual Property and Copyright Stat Line 4304  Intellectual Property and Copyright Stat
4304                                            
4305  </p>  </p>
4306  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4307  <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>
4308  <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;
4309    Setting audio output device</h3>
4310    
4311  <p>The front-end can set the audio output device on a specific sampler  <p>The front-end can set the audio output device on a specific sampler
4312                      channel by sending the following command:                      channel by sending the following command:
# Line 4075  Intellectual Property and Copyright Stat Line 4320  Intellectual Property and Copyright Stat
4320                                            
4321  </p>  </p>
4322  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4323                      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>
4324                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4325                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4326                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
4327                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
4328                      command.                      command.
4329  </p>  </p>
4330  <p>Possible Answers:  <p>Possible Answers:
# Line 4126  Intellectual Property and Copyright Stat Line 4371  Intellectual Property and Copyright Stat
4371  </blockquote><p>  </blockquote><p>
4372                                            
4373  </p>  </p>
4374  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4375  <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>
4376  <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;
4377    Setting audio output type</h3>
4378    
4379  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4380  </p>  </p>
# Line 4191  Intellectual Property and Copyright Stat Line 4437  Intellectual Property and Copyright Stat
4437                                            
4438  </p>  </p>
4439  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4440  <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>
4441  <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;
4442    Setting audio output channel</h3>
4443    
4444  <p>The front-end can alter the audio output channel on a specific  <p>The front-end can alter the audio output channel on a specific
4445                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4206  Intellectual Property and Copyright Stat Line 4453  Intellectual Property and Copyright Stat
4453                                            
4454  </p>  </p>
4455  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4456                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4457                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the
4458                      numerical ID of the sampler channel's audio output channel which should be                      numerical ID of the sampler channel's audio output channel which should be
4459                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio
4460                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
# Line 4257  Intellectual Property and Copyright Stat Line 4504  Intellectual Property and Copyright Stat
4504                                            
4505  </p>  </p>
4506  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4507  <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>
4508  <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;
4509    Setting MIDI input device</h3>
4510    
4511  <p>The front-end can set the MIDI input device on a specific sampler  <p>The front-end can set the MIDI input device on a specific sampler
4512                      channel by sending the following command:                      channel by sending the following command:
# Line 4272  Intellectual Property and Copyright Stat Line 4520  Intellectual Property and Copyright Stat
4520                                            
4521  </p>  </p>
4522  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4523                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4524                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command
4525                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4526                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
4527                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a> command.                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a> command.
4528  </p>  </p>
4529  <p>Possible Answers:  <p>Possible Answers:
4530  </p>  </p>
# Line 4323  Intellectual Property and Copyright Stat Line 4571  Intellectual Property and Copyright Stat
4571                                            
4572  </p>  </p>
4573  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4574  <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>
4575  <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;
4576    Setting MIDI input type</h3>
4577    
4578  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4579  </p>  </p>
# Line 4387  Intellectual Property and Copyright Stat Line 4636  Intellectual Property and Copyright Stat
4636                                            
4637  </p>  </p>
4638  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4639  <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>
4640  <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;
4641    Setting MIDI input port</h3>
4642    
4643  <p>The front-end can alter the MIDI input port on a specific sampler  <p>The front-end can alter the MIDI input port on a specific sampler
4644                      channel by sending the following command:                      channel by sending the following command:
# Line 4450  Intellectual Property and Copyright Stat Line 4700  Intellectual Property and Copyright Stat
4700                                            
4701  </p>  </p>
4702  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4703  <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>
4704  <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;
4705    Setting MIDI input channel</h3>
4706    
4707  <p>The front-end can alter the MIDI channel a sampler channel should  <p>The front-end can alter the MIDI channel a sampler channel should
4708                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4513  Intellectual Property and Copyright Stat Line 4764  Intellectual Property and Copyright Stat
4764                                            
4765  </p>  </p>
4766  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4767  <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>
4768  <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;
4769    Setting channel volume</h3>
4770    
4771  <p>The front-end can alter the volume of a sampler channel by sending  <p>The front-end can alter the volume of a sampler channel by sending
4772                      the following command:                      the following command:
# Line 4577  Intellectual Property and Copyright Stat Line 4829  Intellectual Property and Copyright Stat
4829                                            
4830  </p>  </p>
4831  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4832  <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>
4833  <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;
4834    Muting a sampler channel</h3>
4835    
4836  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4837                      channel by sending the following command:                      channel by sending the following command:
# Line 4592  Intellectual Property and Copyright Stat Line 4845  Intellectual Property and Copyright Stat
4845                                            
4846  </p>  </p>
4847  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4848                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4849                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4850                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4851                      to unmute the channel.                      to unmute the channel.
4852  </p>  </p>
# Line 4642  Intellectual Property and Copyright Stat Line 4895  Intellectual Property and Copyright Stat
4895                                            
4896  </p>  </p>
4897  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4898  <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>
4899  <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;
4900    Soloing a sampler channel</h3>
4901    
4902  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4903                      by sending the following command:                      by sending the following command:
# Line 4657  Intellectual Property and Copyright Stat Line 4911  Intellectual Property and Copyright Stat
4911                                            
4912  </p>  </p>
4913  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4914                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4915                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4916                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
4917                      to unsolo the channel.                      to unsolo the channel.
4918  </p>  </p>
# Line 4706  Intellectual Property and Copyright Stat Line 4960  Intellectual Property and Copyright Stat
4960  </blockquote><p>  </blockquote><p>
4961                                            
4962  </p>  </p>
4963    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4964    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4965    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4966    Assigning a MIDI instrument map to a sampler channel</h3>
4967    
4968    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
4969                        by sending the following command:
4970    </p>
4971    <p>
4972                            </p>
4973    <blockquote class="text">
4974    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
4975    </p>
4976    </blockquote><p>
4977                        
4978    </p>
4979    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4980                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4981                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4982                        &lt;map&gt; can have the following possibilites:
4983    </p>
4984    <p>
4985                            </p>
4986    <blockquote class="text">
4987    <p>"NONE" -
4988                                    </p>
4989    <blockquote class="text">
4990    <p>This is the default setting. In this case
4991                                        the sampler channel is not assigned any MIDI
4992                                        instrument map and thus will ignore all MIDI
4993                                        program change messages.
4994    </p>
4995    </blockquote>
4996                                
4997    
4998    <p>"DEFAULT" -
4999                                    </p>
5000    <blockquote class="text">
5001    <p>The sampler channel will always use the
5002                                        default MIDI instrument map to handle MIDI
5003                                        program change messages.
5004    </p>
5005    </blockquote>
5006                                
5007    
5008    <p>numeric ID -
5009                                    </p>
5010    <blockquote class="text">
5011    <p>You can assign a specific MIDI instrument map
5012                                        by replacing &lt;map&gt; with the respective numeric
5013                                        ID of the MIDI instrument map as returned by the
5014                                        <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
5015                                        command. Once that map will be deleted, the sampler
5016                                        channel would fall back to "NONE".
5017    </p>
5018    </blockquote>
5019                                
5020    
5021    </blockquote><p>
5022                        
5023    </p>
5024    <p>Read chapter <a class='info' href='#MIDI Instrument Mapping'>"MIDI Instrument Mapping"<span> (</span><span class='info'>MIDI Instrument Mapping</span><span>)</span></a>
5025                        for details regarding MIDI instrument mapping.
5026    </p>
5027    <p>Possible Answers:
5028    </p>
5029    <p>
5030                            </p>
5031    <blockquote class="text">
5032    <p>"OK" -
5033                                    </p>
5034    <blockquote class="text">
5035    <p>on success
5036    </p>
5037    </blockquote>
5038                                
5039    
5040    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5041                                    </p>
5042    <blockquote class="text">
5043    <p>in case it failed, providing an appropriate error code and error message
5044    </p>
5045    </blockquote>
5046                                
5047    
5048    </blockquote><p>
5049                        
5050    </p>
5051    <p>Examples:
5052    </p>
5053    <p>
5054                            </p>
5055    <blockquote class="text">
5056    <p>
5057    </p>
5058    </blockquote><p>
5059                        
5060    </p>
5061    <a name="CREATE FX_SEND"></a><br /><hr />
5062    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5063    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5064    Adding an effect send to a sampler channel</h3>
5065    
5066    <p>The front-end can create an additional effect send on a specific sampler channel
5067                        by sending the following command:
5068    </p>
5069    <p>
5070                            </p>
5071    <blockquote class="text">
5072    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5073    </p>
5074    </blockquote><p>
5075                        
5076    </p>
5077    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5078                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5079                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, that is the
5080                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5081                        is a number between 0..127 defining the MIDI controller which can alter the
5082                        effect send level and &lt;name&gt; is an optional argument defining a name
5083                        for the effect send entity. The name does not have to be unique, but MUST be
5084                        encapsulated into apostrophes and supports escape sequences as described in chapter
5085                        "<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>".
5086    </p>
5087    <p>By default, that is as initial routing, the effect send's audio channels
5088                        are automatically routed to the last audio channels of the sampler channel's
5089                        audio output device, that way you can i.e. first increase the amount of audio
5090                        channels on the audio output device for having dedicated effect send output
5091                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5092                        be picked. You can alter the destination channels however with
5093                        <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>.
5094                        
5095    </p>
5096    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5097                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5098                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5099                        the voices and route the audio signal afterwards to the master outputs and effect send
5100                        outputs (along with their respective effect send levels). A sampler channel without effect
5101                        sends however can mix its voices directly into the audio output devices's audio buffers
5102                        and is thus faster.
5103                        
5104    </p>
5105    <p>Possible Answers:
5106    </p>
5107    <p>
5108                            </p>
5109    <blockquote class="text">
5110    <p>"OK[&lt;fx-send-id&gt;]" -
5111                                    </p>
5112    <blockquote class="text">
5113    <p>in case a new effect send could be added to the
5114                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5115                                        unique ID of the newly created effect send entity
5116    </p>
5117    </blockquote>
5118                                
5119    
5120    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5121                                    </p>
5122    <blockquote class="text">
5123    <p>when a new effect send could not be added, i.e.
5124                                        due to invalid parameters
5125    </p>
5126    </blockquote>
5127                                
5128    
5129    </blockquote><p>
5130                        
5131    </p>
5132    <p>Examples:
5133    </p>
5134    <p>
5135                            </p>
5136    <blockquote class="text">
5137    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5138    </p>
5139    <p>S: "OK[0]"
5140    </p>
5141    </blockquote><p>
5142                        
5143    </p>
5144    <p>
5145                            </p>
5146    <blockquote class="text">
5147    <p>C: "CREATE FX_SEND 0 93"
5148    </p>
5149    <p>S: "OK[1]"
5150    </p>
5151    </blockquote><p>
5152                        
5153    </p>
5154    <a name="DESTROY FX_SEND"></a><br /><hr />
5155    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5156    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5157    Removing an effect send from a sampler channel</h3>
5158    
5159    <p>The front-end can remove an existing effect send on a specific sampler channel
5160                        by sending the following command:
5161    </p>
5162    <p>
5163                            </p>
5164    <blockquote class="text">
5165    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5166    </p>
5167    </blockquote><p>
5168                        
5169    </p>
5170    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5171                        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>
5172                        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
5173                        sampler channel from which the effect send should be removed from and
5174                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5175                        <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>
5176                        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.
5177    </p>
5178    <p>Possible Answers:
5179    </p>
5180    <p>
5181                            </p>
5182    <blockquote class="text">
5183    <p>"OK" -
5184                                    </p>
5185    <blockquote class="text">
5186    <p>on success
5187    </p>
5188    </blockquote>
5189                                
5190    
5191    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5192                                    </p>
5193    <blockquote class="text">
5194    <p>in case it failed, providing an appropriate error code and
5195                                        error message
5196    </p>
5197    </blockquote>
5198                                
5199    
5200    </blockquote><p>
5201                        
5202    </p>
5203    <p>Example:
5204    </p>
5205    <p>
5206                            </p>
5207    <blockquote class="text">
5208    <p>C: "DESTROY FX_SEND 0 0"
5209    </p>
5210    <p>S: "OK"
5211    </p>
5212    </blockquote><p>
5213                        
5214    </p>
5215    <a name="GET FX_SENDS"></a><br /><hr />
5216    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5217    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5218    Getting amount of effect sends on a sampler channel</h3>
5219    
5220    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5221                        by sending the following command:
5222    </p>
5223    <p>
5224                            </p>
5225    <blockquote class="text">
5226    <p>GET FX_SENDS &lt;sampler-channel&gt;
5227    </p>
5228    </blockquote><p>
5229                        
5230    </p>
5231    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5232                        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>
5233                        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.
5234    </p>
5235    <p>Possible Answers:
5236    </p>
5237    <p>
5238                            </p>
5239    <blockquote class="text">
5240    <p>The sampler will answer by returning the number of effect
5241                                sends on the given sampler channel.
5242    </p>
5243    </blockquote><p>
5244                        
5245    </p>
5246    <p>Example:
5247    </p>
5248    <p>
5249                            </p>
5250    <blockquote class="text">
5251    <p>C: "GET FX_SENDS 0"
5252    </p>
5253    <p>S: "2"
5254    </p>
5255    </blockquote><p>
5256                        
5257    </p>
5258    <a name="LIST FX_SENDS"></a><br /><hr />
5259    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5260    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5261    Listing all effect sends on a sampler channel</h3>
5262    
5263    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5264                        by sending the following command:
5265    </p>
5266    <p>
5267                            </p>
5268    <blockquote class="text">
5269    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5270    </p>
5271    </blockquote><p>
5272                        
5273    </p>
5274    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5275                        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>
5276                        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.
5277    </p>
5278    <p>Possible Answers:
5279    </p>
5280    <p>
5281                            </p>
5282    <blockquote class="text">
5283    <p>The sampler will answer by returning a comma separated list
5284                                with all effect sends' numerical IDs on the given sampler
5285                                channel.
5286    </p>
5287    </blockquote><p>
5288                        
5289    </p>
5290    <p>Examples:
5291    </p>
5292    <p>
5293                            </p>
5294    <blockquote class="text">
5295    <p>C: "LIST FX_SENDS 0"
5296    </p>
5297    <p>S: "0,1"
5298    </p>
5299    </blockquote><p>
5300                        
5301    </p>
5302    <p>
5303                            </p>
5304    <blockquote class="text">
5305    <p>C: "LIST FX_SENDS 1"
5306    </p>
5307    <p>S: ""
5308    </p>
5309    </blockquote><p>
5310                        
5311    </p>
5312    <a name="GET FX_SEND INFO"></a><br /><hr />
5313    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5314    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5315    Getting effect send information</h3>
5316    
5317    <p>The front-end can ask for the current settings of an effect send entity
5318                        by sending the following command:
5319    </p>
5320    <p>
5321                            </p>
5322    <blockquote class="text">
5323    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5324    </p>
5325    </blockquote><p>
5326                        
5327    </p>
5328    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5329                        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>
5330                        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
5331                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5332                        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>
5333                        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.
5334                      
5335    </p>
5336    <p>Possible Answers:
5337    </p>
5338    <p>
5339                            </p>
5340    <blockquote class="text">
5341    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5342                                Each answer line begins with the settings category name
5343                                followed by a colon and then a space character &lt;SP&gt; and finally
5344                                the info character string to that setting category. At the
5345                                moment the following categories are defined:
5346    </p>
5347    <p>
5348                                    </p>
5349    <blockquote class="text">
5350    <p>NAME -
5351                                            </p>
5352    <blockquote class="text">
5353    <p>name of the effect send entity
5354    </p>
5355    </blockquote>
5356                                        
5357    
5358    <p>MIDI_CONTROLLER -
5359                                            </p>
5360    <blockquote class="text">
5361    <p>a value between 0 and 127 reflecting the MIDI controller
5362                                                which is able to modify the effect send's send level
5363    </p>
5364    </blockquote>
5365                                        
5366    
5367    <p>LEVEL -
5368                                            </p>
5369    <blockquote class="text">
5370    <p>optionally dotted number reflecting the effect send's
5371                                                current send level (where a value &lt; 1.0 means attenuation
5372                                                and a value > 1.0 means amplification)
5373    </p>
5374    </blockquote>
5375                                        
5376    
5377    <p>AUDIO_OUTPUT_ROUTING -
5378                                            </p>
5379    <blockquote class="text">
5380    <p>comma separated list which reflects to which audio
5381                                                channel of the selected audio output device each
5382                                                effect send output channel is routed to, e.g. "0,3" would
5383                                                mean the effect send's output channel 0 is routed to channel
5384                                                0 of the audio output device and the effect send's output
5385                                                channel 1 is routed to the channel 3 of the audio
5386                                                output device (see
5387                                                <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>
5388                                                for details)
5389    </p>
5390    </blockquote>
5391                                        
5392    
5393    </blockquote>
5394                                
5395    
5396    </blockquote><p>
5397                        
5398    </p>
5399    <p>The mentioned fields above don't have to be in particular order.
5400    </p>
5401    <p>Example:
5402    </p>
5403    <p>
5404                            </p>
5405    <blockquote class="text">
5406    <p>C: "GET FX_SEND INFO 0 0"
5407    </p>
5408    <p>S: "NAME: Reverb Send"
5409    </p>
5410    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5411    </p>
5412    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5413    </p>
5414    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5415    </p>
5416    <p>&nbsp;&nbsp;&nbsp;"."
5417    </p>
5418    </blockquote><p>
5419                        
5420    </p>
5421    <a name="SET FX_SEND NAME"></a><br /><hr />
5422    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5423    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5424    Changing effect send's name</h3>
5425    
5426    <p>The front-end can alter the current name of an effect
5427                        send entity by sending the following command:
5428    </p>
5429    <p>
5430                            </p>
5431    <blockquote class="text">
5432    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5433    </p>
5434    </blockquote><p>
5435                        
5436    </p>
5437    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5438                        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>
5439                        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,
5440                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5441                        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>
5442                        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
5443                        &lt;name&gt; is the new name of the effect send entity, which
5444                        does not have to be unique (name MUST be encapsulated into apostrophes
5445                        and supports escape sequences as described in chapter
5446                        "<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>").
5447                        
5448    </p>
5449    <p>Possible Answers:
5450    </p>
5451    <p>
5452                            </p>
5453    <blockquote class="text">
5454    <p>"OK" -
5455                                    </p>
5456    <blockquote class="text">
5457    <p>on success
5458    </p>
5459    </blockquote>
5460                                
5461    
5462    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5463                                    </p>
5464    <blockquote class="text">
5465    <p>in case it failed, providing an appropriate error code and error message
5466    </p>
5467    </blockquote>
5468                                
5469    
5470    </blockquote><p>
5471                        
5472    </p>
5473    <p>Example:
5474    </p>
5475    <p>
5476                            </p>
5477    <blockquote class="text">
5478    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5479    </p>
5480    <p>S: "OK"
5481    </p>
5482    </blockquote><p>
5483                        
5484    </p>
5485    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5486    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5487    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5488    Altering effect send's audio routing</h3>
5489    
5490    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5491                        sampler channel by sending the following command:
5492    </p>
5493    <p>
5494                            </p>
5495    <blockquote class="text">
5496    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5497    </p>
5498    </blockquote><p>
5499                        
5500    </p>
5501    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5502                        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>
5503                        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,
5504                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5505                        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>
5506                        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,
5507                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5508                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5509                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5510                        should be routed to.
5511    </p>
5512    <p>Note that effect sends can only route audio to the same audio output
5513                        device as assigned to the effect send's sampler channel. Also note that an
5514                        effect send entity does always have exactly as much audio channels as its
5515                        sampler channel. So if the sampler channel is stereo, the effect send does
5516                        have two audio channels as well. Also keep in mind that the amount of audio
5517                        channels on a sampler channel might be dependant not only to the deployed
5518                        sampler engine on the sampler channel, but also dependant to the instrument
5519                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5520                        send into a mono one by simply altering its audio routing appropriately.
5521    </p>
5522    <p>Possible Answers:
5523    </p>
5524    <p>
5525                            </p>
5526    <blockquote class="text">
5527    <p>"OK" -
5528                                    </p>
5529    <blockquote class="text">
5530    <p>on success
5531    </p>
5532    </blockquote>
5533                                
5534    
5535    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5536                                    </p>
5537    <blockquote class="text">
5538    <p>if audio output channel was set, but there are noteworthy
5539                                        issue(s) related, providing an appropriate warning code and
5540                                        warning message
5541    </p>
5542    </blockquote>
5543                                
5544    
5545    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5546                                    </p>
5547    <blockquote class="text">
5548    <p>in case it failed, providing an appropriate error code and error message
5549    </p>
5550    </blockquote>
5551                                
5552    
5553    </blockquote><p>
5554                        
5555    </p>
5556    <p>Example:
5557    </p>
5558    <p>
5559                            </p>
5560    <blockquote class="text">
5561    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5562    </p>
5563    <p>S: "OK"
5564    </p>
5565    </blockquote><p>
5566                        
5567    </p>
5568    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5569    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5570    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5571    Altering effect send's MIDI controller</h3>
5572    
5573    <p>The front-end can alter the MIDI controller of an effect
5574                        send entity by sending the following command:
5575    </p>
5576    <p>
5577                            </p>
5578    <blockquote class="text">
5579    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5580    </p>
5581    </blockquote><p>
5582                        
5583    </p>
5584    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5585                        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>
5586                        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,
5587                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5588                        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>
5589                        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
5590                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5591                        able to modify the effect send's send level.
5592    </p>
5593    <p>Possible Answers:
5594    </p>
5595    <p>
5596                            </p>
5597    <blockquote class="text">
5598    <p>"OK" -
5599                                    </p>
5600    <blockquote class="text">
5601    <p>on success
5602    </p>
5603    </blockquote>
5604                                
5605    
5606    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5607                                    </p>
5608    <blockquote class="text">
5609    <p>if MIDI controller was set, but there are noteworthy
5610                                        issue(s) related, providing an appropriate warning code and
5611                                        warning message
5612    </p>
5613    </blockquote>
5614                                
5615    
5616    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5617                                    </p>
5618    <blockquote class="text">
5619    <p>in case it failed, providing an appropriate error code and error message
5620    </p>
5621    </blockquote>
5622                                
5623    
5624    </blockquote><p>
5625                        
5626    </p>
5627    <p>Example:
5628    </p>
5629    <p>
5630                            </p>
5631    <blockquote class="text">
5632    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5633    </p>
5634    <p>S: "OK"
5635    </p>
5636    </blockquote><p>
5637                        
5638    </p>
5639    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5640    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5641    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5642    Altering effect send's send level</h3>
5643    
5644    <p>The front-end can alter the current send level of an effect
5645                        send entity by sending the following command:
5646    </p>
5647    <p>
5648                            </p>
5649    <blockquote class="text">
5650    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5651    </p>
5652    </blockquote><p>
5653                        
5654    </p>
5655    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5656                        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>
5657                        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,
5658                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5659                        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>
5660                        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
5661                        &lt;volume&gt; is an optionally dotted positive number (a value
5662                        smaller than 1.0 means attenuation, whereas a value greater than
5663                        1.0 means amplification) reflecting the new send level.
5664    </p>
5665    <p>Possible Answers:
5666    </p>
5667    <p>
5668                            </p>
5669    <blockquote class="text">
5670    <p>"OK" -
5671                                    </p>
5672    <blockquote class="text">
5673    <p>on success
5674    </p>
5675    </blockquote>
5676                                
5677    
5678    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5679                                    </p>
5680    <blockquote class="text">
5681    <p>if new send level was set, but there are noteworthy
5682                                        issue(s) related, providing an appropriate warning code and
5683                                        warning message
5684    </p>
5685    </blockquote>
5686                                
5687    
5688    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5689                                    </p>
5690    <blockquote class="text">
5691    <p>in case it failed, providing an appropriate error code and error message
5692    </p>
5693    </blockquote>
5694                                
5695    
5696    </blockquote><p>
5697                        
5698    </p>
5699    <p>Example:
5700    </p>
5701    <p>
5702                            </p>
5703    <blockquote class="text">
5704    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5705    </p>
5706    <p>S: "OK"
5707    </p>
5708    </blockquote><p>
5709                        
5710    </p>
5711  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5712  <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>
5713  <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;
5714    Resetting a sampler channel</h3>
5715    
5716  <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:
5717  </p>  </p>
# Line 4772  Intellectual Property and Copyright Stat Line 5775  Intellectual Property and Copyright Stat
5775                                            
5776  </p>  </p>
5777  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
5778  <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>
5779  <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;
5780    Controlling connection</h3>
5781    
5782  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5783  </p>  </p>
5784  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></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.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;
5787    Register front-end for receiving event messages</h3>
5788    
5789  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5790                      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 5846  Intellectual Property and Copyright Stat
5846                                            
5847  </p>  </p>
5848  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
5849  <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>
5850  <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;
5851    Unregister front-end for not receiving event messages</h3>
5852    
5853  <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
5854                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4904  Intellectual Property and Copyright Stat Line 5910  Intellectual Property and Copyright Stat
5910                                            
5911  </p>  </p>
5912  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
5913  <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>
5914  <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;
5915    Enable or disable echo of commands</h3>
5916    
5917  <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:
5918  </p>  </p>
# Line 4960  Intellectual Property and Copyright Stat Line 5967  Intellectual Property and Copyright Stat
5967                                            
5968  </p>  </p>
5969  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
5970  <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>
5971  <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;
5972    Close client connection</h3>
5973    
5974  <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:
5975  </p>  </p>
# Line 4977  Intellectual Property and Copyright Stat Line 5985  Intellectual Property and Copyright Stat
5985                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
5986  </p>  </p>
5987  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
5988  <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>
5989  <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;
5990    Global commands</h3>
5991    
5992  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
5993  </p>  </p>
5994  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></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.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;
5997    Current number of active voices</h3>
5998    
5999  <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
6000                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5009  Intellectual Property and Copyright Stat Line 6019  Intellectual Property and Copyright Stat
6019                                            
6020  </p>  </p>
6021  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6022  <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>
6023  <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;
6024    Maximum amount of active voices</h3>
6025    
6026  <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
6027                      by sending the following command:                      by sending the following command:
# Line 5035  Intellectual Property and Copyright Stat Line 6046  Intellectual Property and Copyright Stat
6046                                            
6047  </p>  </p>
6048  <a name="RESET"></a><br /><hr />  <a name="RESET"></a><br /><hr />
6049  <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>
6050  <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;
6051    Reset sampler</h3>
6052    
6053  <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:
6054  </p>  </p>
# Line 5075  Intellectual Property and Copyright Stat Line 6087  Intellectual Property and Copyright Stat
6087                                            
6088  </p>  </p>
6089  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6090  <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>
6091  <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;
6092    General sampler informations</h3>
6093    
6094  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6095                         instance by sending the following command:                         instance by sending the following command:
# Line 5108  Intellectual Property and Copyright Stat Line 6121  Intellectual Property and Copyright Stat
6121                                          </p>                                          </p>
6122  <blockquote class="text">  <blockquote class="text">
6123  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6124                                                (note that the character string may contain
6125                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6126  </p>  </p>
6127  </blockquote>  </blockquote>
6128                                                                            
# Line 5124  Intellectual Property and Copyright Stat Line 6139  Intellectual Property and Copyright Stat
6139                                          </p>                                          </p>
6140  <blockquote class="text">  <blockquote class="text">
6141  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6142                                              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)
6143    </p>
6144    </blockquote>
6145                                        
6146    
6147    <p>INSTRUMENTS_DB_SUPPORT -
6148                                            </p>
6149    <blockquote class="text">
6150    <p>either yes or no, specifies whether the
6151                                                sampler is build with instruments database support.
6152  </p>  </p>
6153  </blockquote>  </blockquote>
6154                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6162  Intellectual Property and Copyright Stat
6162  <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.
6163                      Other fields might be added in future.                      Other fields might be added in future.
6164  </p>  </p>
6165    <a name="GET VOLUME"></a><br /><hr />
6166    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6167    <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6168    Getting global volume attenuation</h3>
6169    
6170    <p>The client can ask for the current global sampler-wide volume
6171                        attenuation by sending the following command:
6172    </p>
6173    <p>
6174                            </p>
6175    <blockquote class="text">
6176    <p>GET VOLUME
6177    </p>
6178    </blockquote><p>
6179                        
6180    </p>
6181    <p>Possible Answers:
6182    </p>
6183    <p>
6184                            </p>
6185    <blockquote class="text">
6186    <p>The sampler will always answer by returning the optional
6187                                dotted floating point coefficient, reflecting the current
6188                                global volume attenuation.
6189                                
6190    </p>
6191    </blockquote><p>
6192                        
6193    </p>
6194    <p>Note: it is up to the respective sampler engine whether to obey
6195                        that global volume parameter or not, but in general all engines SHOULD
6196                        use this parameter.
6197    </p>
6198    <a name="SET VOLUME"></a><br /><hr />
6199    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6200    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6201    Setting global volume attenuation</h3>
6202    
6203    <p>The client can alter the current global sampler-wide volume
6204                        attenuation by sending the following command:
6205    </p>
6206    <p>
6207                            </p>
6208    <blockquote class="text">
6209    <p>SET VOLUME &lt;volume&gt;
6210    </p>
6211    </blockquote><p>
6212                        
6213    </p>
6214    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6215                       floating point value, reflecting the new global volume parameter.
6216                       This value might usually be in the range between 0.0 and 1.0, that
6217                       is for attenuating the overall volume.
6218    </p>
6219    <p>Possible Answers:
6220    </p>
6221    <p>
6222                            </p>
6223    <blockquote class="text">
6224    <p>"OK" -
6225                                    </p>
6226    <blockquote class="text">
6227    <p>on success
6228    </p>
6229    </blockquote>
6230                                
6231    
6232    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6233                                    </p>
6234    <blockquote class="text">
6235    <p>if the global volume was set, but there are noteworthy
6236                                        issue(s) related, providing an appropriate warning code and
6237                                        warning message
6238    </p>
6239    </blockquote>
6240                                
6241    
6242    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6243                                    </p>
6244    <blockquote class="text">
6245    <p>in case it failed, providing an appropriate error code and error message
6246    </p>
6247    </blockquote>
6248                                
6249    
6250    </blockquote><p>
6251                        
6252    </p>
6253    <a name="MIDI Instrument Mapping"></a><br /><hr />
6254    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6255    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6256    MIDI Instrument Mapping</h3>
6257    
6258    <p>The MIDI protocol provides a way to switch between instruments
6259                    by sending so called MIDI bank select and MIDI program change
6260                    messages which are essentially just numbers. The following commands
6261                    allow to actually map arbitrary MIDI bank select / program change
6262                    numbers with real instruments.
6263    </p>
6264    <p>The sampler allows to manage an arbitrary amount of MIDI
6265                    instrument maps which define which instrument to load on
6266                    which MIDI program change message.
6267    </p>
6268    <p>By default, that is when the sampler is launched, there is no
6269                    map, thus the sampler will simply ignore all program change
6270                    messages. The front-end has to explicitly create at least one
6271                    map, add entries to the map and tell the respective sampler
6272                    channel(s) which MIDI instrument map to use, so the sampler
6273                    knows how to react on a given program change message on the
6274                    respective sampler channel, that is by switching to the
6275                    respectively defined engine type and loading the respective
6276                    instrument. See command
6277                    <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>
6278                    for how to assign a MIDI instrument map to a sampler channel.
6279    </p>
6280    <p>Also note per MIDI specification a bank select message does not
6281                    cause to switch to another instrument. Instead when receiving a
6282                    bank select message the bank value will be stored and a subsequent
6283                    program change message (which may occur at any time) will finally
6284                    cause the sampler to switch to the respective instrument as
6285                    reflected by the current MIDI instrument map.
6286    </p>
6287    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6288    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6289    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6290    Create a new MIDI instrument map</h3>
6291    
6292    <p>The front-end can add a new MIDI instrument map by sending
6293                        the following command:
6294    </p>
6295    <p>
6296                            </p>
6297    <blockquote class="text">
6298    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6299    </p>
6300    </blockquote><p>
6301                        
6302    </p>
6303    <p>Where &lt;name&gt; is an optional argument allowing to
6304                        assign a custom name to the new map. MIDI instrument Map
6305                        names do not have to be unique, but MUST be encapsulated
6306                        into apostrophes and support escape sequences as described
6307                        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>".
6308                        
6309    </p>
6310    <p>Possible Answers:
6311    </p>
6312    <p>
6313                            </p>
6314    <blockquote class="text">
6315    <p>"OK[&lt;map&gt;]" -
6316                                    </p>
6317    <blockquote class="text">
6318    <p>in case a new MIDI instrument map could
6319                                        be added, where &lt;map&gt; reflects the
6320                                        unique ID of the newly created MIDI
6321                                        instrument map
6322    </p>
6323    </blockquote>
6324                                
6325    
6326    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6327                                    </p>
6328    <blockquote class="text">
6329    <p>when a new map could not be created, which
6330                                        might never occur in practice
6331    </p>
6332    </blockquote>
6333                                
6334    
6335    </blockquote><p>
6336                        
6337    </p>
6338    <p>Examples:
6339    </p>
6340    <p>
6341                            </p>
6342    <blockquote class="text">
6343    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6344    </p>
6345    <p>S: "OK[0]"
6346    </p>
6347    </blockquote><p>
6348                        
6349    </p>
6350    <p>
6351                            </p>
6352    <blockquote class="text">
6353    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6354    </p>
6355    <p>S: "OK[1]"
6356    </p>
6357    </blockquote><p>
6358                        
6359    </p>
6360    <p>
6361                            </p>
6362    <blockquote class="text">
6363    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6364    </p>
6365    <p>S: "OK[5]"
6366    </p>
6367    </blockquote><p>
6368                        
6369    </p>
6370    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6371    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6372    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6373    Delete one particular or all MIDI instrument maps</h3>
6374    
6375    <p>The front-end can delete a particular MIDI instrument map
6376                        by sending the following command:
6377    </p>
6378    <p>
6379                            </p>
6380    <blockquote class="text">
6381    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6382    </p>
6383    </blockquote><p>
6384                        
6385    </p>
6386    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6387                        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>
6388                        command.
6389    </p>
6390    <p>The front-end can delete all MIDI instrument maps by
6391                        sending the following command:
6392    </p>
6393    <p>
6394                            </p>
6395    <blockquote class="text">
6396    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6397    </p>
6398    </blockquote><p>
6399                        
6400    </p>
6401    <p>Possible Answers:
6402    </p>
6403    <p>
6404                            </p>
6405    <blockquote class="text">
6406    <p>"OK" -
6407                                    </p>
6408    <blockquote class="text">
6409    <p>in case the map(s) could be deleted
6410    </p>
6411    </blockquote>
6412                                
6413    
6414    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6415                                    </p>
6416    <blockquote class="text">
6417    <p>when the given map does not exist
6418    </p>
6419    </blockquote>
6420                                
6421    
6422    </blockquote><p>
6423                        
6424    </p>
6425    <p>Examples:
6426    </p>
6427    <p>
6428                            </p>
6429    <blockquote class="text">
6430    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6431    </p>
6432    <p>S: "OK"
6433    </p>
6434    </blockquote><p>
6435                        
6436    </p>
6437    <p>
6438                            </p>
6439    <blockquote class="text">
6440    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6441    </p>
6442    <p>S: "OK"
6443    </p>
6444    </blockquote><p>
6445                        
6446    </p>
6447    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6448    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6449    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6450    Get amount of existing MIDI instrument maps</h3>
6451    
6452    <p>The front-end can retrieve the current amount of MIDI
6453                        instrument maps by sending the following command:
6454    </p>
6455    <p>
6456                            </p>
6457    <blockquote class="text">
6458    <p>GET MIDI_INSTRUMENT_MAPS
6459    </p>
6460    </blockquote><p>
6461                        
6462    </p>
6463    <p>Possible Answers:
6464    </p>
6465    <p>
6466                            </p>
6467    <blockquote class="text">
6468    <p>The sampler will answer by returning the current
6469                                number of MIDI instrument maps.
6470    </p>
6471    </blockquote><p>
6472                        
6473    </p>
6474    <p>Example:
6475    </p>
6476    <p>
6477                            </p>
6478    <blockquote class="text">
6479    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6480    </p>
6481    <p>S: "2"
6482    </p>
6483    </blockquote><p>
6484                        
6485    </p>
6486    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6487    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6488    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6489    Getting all created MIDI instrument maps</h3>
6490    
6491    <p>The number of MIDI instrument maps can change on runtime. To get the
6492                        current list of MIDI instrument maps, the front-end can send the
6493                        following command:
6494    </p>
6495    <p>
6496                            </p>
6497    <blockquote class="text">
6498    <p>LIST MIDI_INSTRUMENT_MAPS
6499    </p>
6500    </blockquote><p>
6501                        
6502    </p>
6503    <p>Possible Answers:
6504    </p>
6505    <p>
6506                            </p>
6507    <blockquote class="text">
6508    <p>The sampler will answer by returning a comma separated list
6509                                with all MIDI instrument maps' numerical IDs.
6510    </p>
6511    </blockquote><p>
6512                        
6513    </p>
6514    <p>Example:
6515    </p>
6516    <p>
6517                            </p>
6518    <blockquote class="text">
6519    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6520    </p>
6521    <p>S: "0,1,5,12"
6522    </p>
6523    </blockquote><p>
6524                        
6525    </p>
6526    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6527    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6528    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6529    Getting MIDI instrument map information</h3>
6530    
6531    <p>The front-end can ask for the current settings of a MIDI
6532                        instrument map by sending the following command:
6533    </p>
6534    <p>
6535                            </p>
6536    <blockquote class="text">
6537    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6538    </p>
6539    </blockquote><p>
6540                        
6541    </p>
6542    <p>Where &lt;map&gt; is the numerical ID of the map the
6543                        front-end is interested in as returned by the
6544                        <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>
6545                        command.
6546    </p>
6547    <p>Possible Answers:
6548    </p>
6549    <p>
6550                            </p>
6551    <blockquote class="text">
6552    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6553                                Each answer line begins with the settings category name
6554                                followed by a colon and then a space character &lt;SP&gt; and finally
6555                                the info character string to that setting category. At the
6556                                moment the following categories are defined:
6557    </p>
6558    <p>
6559                                    </p>
6560    <blockquote class="text">
6561    <p>NAME -
6562                                            </p>
6563    <blockquote class="text">
6564    <p>custom name of the given map,
6565                                                which does not have to be unique
6566    </p>
6567    </blockquote>
6568                                        
6569    
6570    <p>DEFAULT -
6571                                            </p>
6572    <blockquote class="text">
6573    <p>either true or false,
6574                                                defines whether this map is the default map
6575    </p>
6576    </blockquote>
6577                                        
6578    
6579    </blockquote>
6580                                
6581    
6582    </blockquote><p>
6583                        
6584    </p>
6585    <p>The mentioned fields above don't have to be in particular order.
6586    </p>
6587    <p>Example:
6588    </p>
6589    <p>
6590                            </p>
6591    <blockquote class="text">
6592    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6593    </p>
6594    <p>S: "NAME: Standard Map"
6595    </p>
6596    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6597    </p>
6598    <p>&nbsp;&nbsp;&nbsp;"."
6599    </p>
6600    </blockquote><p>
6601                        
6602    </p>
6603    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6604    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6605    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6606    Renaming a MIDI instrument map</h3>
6607    
6608    <p>The front-end can alter the custom name of a MIDI
6609                        instrument map by sending the following command:
6610    </p>
6611    <p>
6612                            </p>
6613    <blockquote class="text">
6614    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6615    </p>
6616    </blockquote><p>
6617                        
6618    </p>
6619    <p>Where &lt;map&gt; is the numerical ID of the map and
6620                        &lt;name&gt; the new custom name of the map, which does not
6621                        have to be unique (name MUST be encapsulated into apostrophes
6622                        and supports escape sequences as described in chapter
6623                        "<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>").
6624                        
6625    </p>
6626    <p>Possible Answers:
6627    </p>
6628    <p>
6629                            </p>
6630    <blockquote class="text">
6631    <p>"OK" -
6632                                    </p>
6633    <blockquote class="text">
6634    <p>on success
6635    </p>
6636    </blockquote>
6637                                
6638    
6639    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6640                                    </p>
6641    <blockquote class="text">
6642    <p>in case the given map does not exist
6643    </p>
6644    </blockquote>
6645                                
6646    
6647    </blockquote><p>
6648                        
6649    </p>
6650    <p>Example:
6651    </p>
6652    <p>
6653                            </p>
6654    <blockquote class="text">
6655    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6656    </p>
6657    <p>S: "OK"
6658    </p>
6659    </blockquote><p>
6660                        
6661    </p>
6662    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6663    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6664    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6665    Create or replace a MIDI instrument map entry</h3>
6666    
6667    <p>The front-end can create a new or replace an existing entry
6668                        in a sampler's MIDI instrument map by sending the following
6669                        command:
6670    </p>
6671    <p>
6672                            </p>
6673    <blockquote class="text">
6674    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6675                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6676                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6677                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6678    </p>
6679    </blockquote><p>
6680                        
6681    </p>
6682    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6683                        &lt;midi_bank&gt; is an integer value between
6684                        0..16383 reflecting the MIDI bank select index,
6685                        &lt;midi_prog&gt; an
6686                        integer value between 0..127 reflecting the MIDI program change
6687                        index, &lt;engine_name&gt; a sampler engine name as returned by
6688                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6689                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6690                        of the instrument's file to be deployed (encapsulated into apostrophes,
6691                        supporting escape sequences as described in chapter
6692                        "<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>"),
6693                        &lt;instrument_index&gt; the index (integer value) of the instrument
6694                        within the given file, &lt;volume_value&gt; reflects the master
6695                        volume of the instrument as optionally dotted number (where a
6696                        value &lt; 1.0 means attenuation and a value > 1.0 means
6697                        amplification). This parameter easily allows to adjust the
6698                        volume of all intruments within a custom instrument map
6699                        without having to adjust their instrument files. The
6700                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6701                        time of the instrument, that is when the instrument should
6702                        be loaded, when freed and has exactly the following
6703                        possibilities:
6704    </p>
6705    <p>
6706                            </p>
6707    <blockquote class="text">
6708    <p>"ON_DEMAND" -
6709                                    </p>
6710    <blockquote class="text">
6711    <p>The instrument will be loaded when needed,
6712                                        that is when demanded by at least one sampler
6713                                        channel. It will immediately be freed from memory
6714                                        when not needed by any sampler channel anymore.
6715    </p>
6716    </blockquote>
6717                                
6718    
6719    <p>"ON_DEMAND_HOLD" -
6720                                    </p>
6721    <blockquote class="text">
6722    <p>The instrument will be loaded when needed,
6723                                        that is when demanded by at least one sampler
6724                                        channel. It will be kept in memory even when
6725                                        not needed by any sampler channel anymore.
6726                                        Instruments with this mode are only freed
6727                                        when the sampler is reset or all mapping
6728                                        entries with this mode (and respective
6729                                        instrument) are explicitly changed to
6730                                        "ON_DEMAND" and no sampler channel is using
6731                                        the instrument anymore.
6732    </p>
6733    </blockquote>
6734                                
6735    
6736    <p>"PERSISTENT" -
6737                                    </p>
6738    <blockquote class="text">
6739    <p>The instrument will immediately be loaded
6740                                        into memory when this mapping
6741                                        command is sent and the instrument is kept all
6742                                        the time. Instruments with this mode are
6743                                        only freed when the sampler is reset or all
6744                                        mapping entries with this mode (and
6745                                        respective instrument) are explicitly
6746                                        changed to "ON_DEMAND" and no sampler
6747                                        channel is using the instrument anymore.
6748    </p>
6749    </blockquote>
6750                                
6751    
6752    <p>not supplied -
6753                                    </p>
6754    <blockquote class="text">
6755    <p>In case there is no &lt;instr_load_mode&gt;
6756                                        argument given, it will be up to the
6757                                        InstrumentManager to decide which mode to use.
6758                                        Usually it will use "ON_DEMAND" if an entry
6759                                        for the given instrument does not exist in
6760                                        the InstrumentManager's list yet, otherwise
6761                                        if an entry already exists, it will simply
6762                                        stick with the mode currently reflected by
6763                                        the already existing entry, that is it will
6764                                        not change the mode.
6765    </p>
6766    </blockquote>
6767                                
6768    
6769    </blockquote><p>
6770                        
6771    </p>
6772    <p>
6773                        The &lt;instr_load_mode&gt; argument thus allows to define an
6774                        appropriate strategy (low memory consumption vs. fast
6775                        instrument switching) for each instrument individually. Note, the
6776                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6777                        "PERSISTENT" have to be supported by the respective sampler engine
6778                        (which is technically the case when the engine provides an
6779                        InstrumentManager for its format). If this is not the case the
6780                        argument will automatically fall back to the default value
6781                        "ON_DEMAND". Also the load mode of one instrument may
6782                        automatically change the laod mode of other instrument(s), i.e.
6783                        because the instruments are part of the same file and the
6784                        engine does not allow a way to manage load modes for them
6785                        individually. Due to this, in case the frontend shows the
6786                        load modes of entries, the frontend should retrieve the actual
6787                        mode by i.e. sending
6788                        <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>
6789                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6790                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6791                        "<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
6792                        mapping entry, useful for frontends for displaying an appropriate name for
6793                        mapped instruments (using
6794                        <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>).
6795                        
6796    </p>
6797    <p>
6798                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6799                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6800                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6801                        immediately, that is to let the sampler establish the mapping in the
6802                        background. So this argument might be especially useful for mappings with
6803                        a "PERSISTENT" type, because these have to load the respective instruments
6804                        immediately and might thus block for a very long time. It is recommended
6805                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6806                        because it has the following drawbacks: as "NON_MODAL" instructions return
6807                        immediately, they may not necessarily return an error i.e. when the given
6808                        instrument file turns out to be corrupt, beside that subsequent commands
6809                        in a LSCP instruction sequence might fail, because mandatory mappings are
6810                        not yet completed.
6811                        
6812    </p>
6813    <p>Possible Answers:
6814    </p>
6815    <p>
6816                            </p>
6817    <blockquote class="text">
6818    <p>"OK" -
6819                                    </p>
6820    <blockquote class="text">
6821    <p>usually
6822    </p>
6823    </blockquote>
6824                                
6825    
6826    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6827                                    </p>
6828    <blockquote class="text">
6829    <p>when the given map or engine does not exist or a value
6830                                        is out of range
6831    </p>
6832    </blockquote>
6833                                
6834    
6835    </blockquote><p>
6836                        
6837    </p>
6838    <p>Examples:
6839    </p>
6840    <p>
6841                            </p>
6842    <blockquote class="text">
6843    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6844    </p>
6845    <p>S: "OK"
6846    </p>
6847    </blockquote><p>
6848                        
6849    </p>
6850    <p>
6851                            </p>
6852    <blockquote class="text">
6853    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6854    </p>
6855    <p>S: "OK"
6856    </p>
6857    </blockquote><p>
6858                        
6859    </p>
6860    <p>
6861                            </p>
6862    <blockquote class="text">
6863    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6864    </p>
6865    <p>S: "OK"
6866    </p>
6867    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6868    </p>
6869    <p>S: "OK"
6870    </p>
6871    </blockquote><p>
6872                        
6873    </p>
6874    <p>
6875                            </p>
6876    <blockquote class="text">
6877    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6878    </p>
6879    <p>S: "OK"
6880    </p>
6881    </blockquote><p>
6882                        
6883    </p>
6884    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
6885    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6886    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
6887    Getting ammount of MIDI instrument map entries</h3>
6888    
6889    <p>The front-end can query the amount of currently existing
6890                        entries in a MIDI instrument map by sending the following
6891                        command:
6892    </p>
6893    <p>
6894                            </p>
6895    <blockquote class="text">
6896    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6897    </p>
6898    </blockquote><p>
6899                        
6900    </p>
6901    <p>The front-end can query the amount of currently existing
6902                        entries in all MIDI instrument maps by sending the following
6903                        command:
6904    </p>
6905    <p>
6906                            </p>
6907    <blockquote class="text">
6908    <p>GET MIDI_INSTRUMENTS ALL
6909    </p>
6910    </blockquote><p>
6911                        
6912    </p>
6913    <p>Possible Answers:
6914    </p>
6915    <p>
6916                            </p>
6917    <blockquote class="text">
6918    <p>The sampler will answer by sending the current number of
6919                                entries in the MIDI instrument map(s).
6920    </p>
6921    </blockquote><p>
6922                        
6923    </p>
6924    <p>Example:
6925    </p>
6926    <p>
6927                            </p>
6928    <blockquote class="text">
6929    <p>C: "GET MIDI_INSTRUMENTS 0"
6930    </p>
6931    <p>S: "234"
6932    </p>
6933    </blockquote><p>
6934                        
6935    </p>
6936    <p>
6937                            </p>
6938    <blockquote class="text">
6939    <p>C: "GET MIDI_INSTRUMENTS ALL"
6940    </p>
6941    <p>S: "954"
6942    </p>
6943    </blockquote><p>
6944                        
6945    </p>
6946    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
6947    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6948    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
6949    Getting indeces of all entries of a MIDI instrument map</h3>
6950    
6951    <p>The front-end can query a list of all currently existing
6952                        entries in a certain MIDI instrument map by sending the following
6953                        command:
6954    </p>
6955    <p>
6956                            </p>
6957    <blockquote class="text">
6958    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
6959    </p>
6960    </blockquote><p>
6961                        
6962    </p>
6963    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
6964    </p>
6965    <p>The front-end can query a list of all currently existing
6966                        entries of all MIDI instrument maps by sending the following
6967                        command:
6968    </p>
6969    <p>
6970                            </p>
6971    <blockquote class="text">
6972    <p>LIST MIDI_INSTRUMENTS ALL
6973    </p>
6974    </blockquote><p>
6975                        
6976    </p>
6977    <p>Possible Answers:
6978    </p>
6979    <p>
6980                            </p>
6981    <blockquote class="text">
6982    <p>The sampler will answer by sending a comma separated
6983                                list of map ID - MIDI bank - MIDI program triples, where
6984                                each triple is encapsulated into curly braces. The
6985                                list is returned in one single line. Each triple
6986                                just reflects the key of the respective map entry,
6987                                thus subsequent
6988                                <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>
6989                                command(s) are necessary to retrieve detailed informations
6990                                about each entry.
6991    </p>
6992    </blockquote><p>
6993                        
6994    </p>
6995    <p>Example:
6996    </p>
6997    <p>
6998                            </p>
6999    <blockquote class="text">
7000    <p>C: "LIST MIDI_INSTRUMENTS 0"
7001    </p>
7002    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7003    </p>
7004    </blockquote><p>
7005                        
7006    </p>
7007    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7008    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7009    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7010    Remove an entry from the MIDI instrument map</h3>
7011    
7012    <p>The front-end can delete an entry from a MIDI instrument
7013                        map by sending the following command:
7014    </p>
7015    <p>
7016                            </p>
7017    <blockquote class="text">
7018    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7019    </p>
7020    </blockquote><p>
7021                        
7022    </p>
7023    <p>
7024                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7025                        &lt;midi_bank&gt; is an integer value between 0..16383
7026                        reflecting the MIDI bank value and
7027                        &lt;midi_prog&gt; an integer value between
7028                        0..127 reflecting the MIDI program value of the map's entrie's key
7029                        index triple.
7030                        
7031    </p>
7032    <p>Possible Answers:
7033    </p>
7034    <p>
7035                            </p>
7036    <blockquote class="text">
7037    <p>"OK" -
7038                                    </p>
7039    <blockquote class="text">
7040    <p>usually
7041    </p>
7042    </blockquote>
7043                                
7044    
7045    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7046                                    </p>
7047    <blockquote class="text">
7048    <p>when index out of bounds
7049    </p>
7050    </blockquote>
7051                                
7052    
7053    </blockquote><p>
7054                        
7055    </p>
7056    <p>Example:
7057    </p>
7058    <p>
7059                            </p>
7060    <blockquote class="text">
7061    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7062    </p>
7063    <p>S: "OK"
7064    </p>
7065    </blockquote><p>
7066                        
7067    </p>
7068    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7069    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7070    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7071    Get current settings of MIDI instrument map entry</h3>
7072    
7073    <p>The front-end can retrieve the current settings of a certain
7074                        instrument map entry by sending the following command:
7075    </p>
7076    <p>
7077                            </p>
7078    <blockquote class="text">
7079    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7080    </p>
7081    </blockquote><p>
7082                        
7083    </p>
7084    <p>
7085                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7086                        &lt;midi_bank&gt; is an integer value between 0..16383
7087                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7088                        and &lt;midi_prog&gt; an integer value between
7089                        0..127 reflecting the MIDI program value of the map's entrie's key
7090                        index triple.
7091                        
7092    </p>
7093    <p>Possible Answers:
7094    </p>
7095    <p>
7096                            </p>
7097    <blockquote class="text">
7098    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7099                                separated list. Each answer line begins with the
7100                                information category name followed by a colon and then
7101                                a space character &lt;SP&gt; and finally the info
7102                                character string to that info category. At the moment
7103                                the following categories are defined:
7104    </p>
7105    <p>"NAME" -
7106                                    </p>
7107    <blockquote class="text">
7108    <p>Name for this MIDI instrument map entry (if defined).
7109                                        This name shall be used by frontends for displaying a
7110                                        name for this mapped instrument. It can be set and
7111                                        changed with the
7112                                        <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>
7113                                        command and does not have to be unique.
7114    </p>
7115    </blockquote>
7116                                
7117    
7118    <p>"ENGINE_NAME" -
7119                                    </p>
7120    <blockquote class="text">
7121    <p>Name of the engine to be deployed for this
7122                                        instrument.
7123    </p>
7124    </blockquote>
7125                                
7126    
7127    <p>"INSTRUMENT_FILE" -
7128                                    </p>
7129    <blockquote class="text">
7130    <p>File name of the instrument.
7131    </p>
7132    </blockquote>
7133                                
7134    
7135    <p>"INSTRUMENT_NR" -
7136                                    </p>
7137    <blockquote class="text">
7138    <p>Index of the instrument within the file.
7139    </p>
7140    </blockquote>
7141                                
7142    
7143    <p>"INSTRUMENT_NAME" -
7144                                    </p>
7145    <blockquote class="text">
7146    <p>Name of the loaded instrument as reflected by its file.
7147                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7148                                        cannot be changed.
7149    </p>
7150    </blockquote>
7151                                
7152    
7153    <p>"LOAD_MODE" -
7154                                    </p>
7155    <blockquote class="text">
7156    <p>Life time of instrument
7157                                        (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).
7158    </p>
7159    </blockquote>
7160                                
7161    
7162    <p>"VOLUME" -
7163                                    </p>
7164    <blockquote class="text">
7165    <p>master volume of the instrument as optionally
7166                                        dotted number (where a value &lt; 1.0 means attenuation
7167                                        and a value > 1.0 means amplification)
7168    </p>
7169    </blockquote>
7170                                
7171    
7172    <p>The mentioned fields above don't have to be in particular order.
7173    </p>
7174    </blockquote><p>
7175                        
7176    </p>
7177    <p>Example:
7178    </p>
7179    <p>
7180                            </p>
7181    <blockquote class="text">
7182    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7183    </p>
7184    <p>S: "NAME: Drums for Foo Song"
7185    </p>
7186    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7187    </p>
7188    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7189    </p>
7190    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7191    </p>
7192    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7193    </p>
7194    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7195    </p>
7196    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7197    </p>
7198    <p>&nbsp;&nbsp;&nbsp;"."
7199    </p>
7200    </blockquote><p>
7201                        
7202    </p>
7203    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7204    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7205    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7206    Clear MIDI instrument map</h3>
7207    
7208    <p>The front-end can clear a whole MIDI instrument map, that
7209                        is delete all its entries by sending the following command:
7210    </p>
7211    <p>
7212                            </p>
7213    <blockquote class="text">
7214    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7215    </p>
7216    </blockquote><p>
7217                        
7218    </p>
7219    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7220    </p>
7221    <p>The front-end can clear all MIDI instrument maps, that
7222                        is delete all entries of all maps by sending the following
7223                        command:
7224    </p>
7225    <p>
7226                            </p>
7227    <blockquote class="text">
7228    <p>CLEAR MIDI_INSTRUMENTS ALL
7229    </p>
7230    </blockquote><p>
7231                        
7232    </p>
7233    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7234                        maps, only their entries, thus the map's settings like
7235                        custom name will be preservevd.
7236    </p>
7237    <p>Possible Answers:
7238    </p>
7239    <p>
7240                            </p>
7241    <blockquote class="text">
7242    <p>"OK" -
7243                                    </p>
7244    <blockquote class="text">
7245    <p>always
7246    </p>
7247    </blockquote>
7248                                
7249    
7250    </blockquote><p>
7251                        
7252    </p>
7253    <p>Examples:
7254    </p>
7255    <p>
7256                           </p>
7257    <blockquote class="text">
7258    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7259    </p>
7260    <p>S: "OK"
7261    </p>
7262    </blockquote><p>
7263                        
7264    </p>
7265    <p>
7266                           </p>
7267    <blockquote class="text">
7268    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7269    </p>
7270    <p>S: "OK"
7271    </p>
7272    </blockquote><p>
7273                        
7274    </p>
7275    <a name="Managing Instruments Database"></a><br /><hr />
7276    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7277    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7278    Managing Instruments Database</h3>
7279    
7280    <p>The following commands describe how to use and manage
7281                    the instruments database.
7282    </p>
7283    <p>Notice:
7284    </p>
7285    <p>
7286                            </p>
7287    <blockquote class="text">
7288    <p>All command arguments representing a path or
7289                                instrument/directory name support escape sequences as described in chapter
7290                                "<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>".
7291                                
7292    </p>
7293    <p>All occurrences of a forward slash in instrument and directory
7294                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7295                                
7296    </p>
7297    </blockquote><p>
7298                        
7299    </p>
7300    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7301    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7302    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7303    Creating a new instrument directory</h3>
7304    
7305    <p>The front-end can add a new instrument directory to the
7306                        instruments database by sending the following command:
7307    </p>
7308    <p>
7309                            </p>
7310    <blockquote class="text">
7311    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7312    </p>
7313    </blockquote><p>
7314                        
7315    </p>
7316    <p>Where &lt;dir&gt; is the absolute path name of the directory
7317                        to be created (encapsulated into apostrophes).
7318    </p>
7319    <p>Possible Answers:
7320    </p>
7321    <p>
7322                            </p>
7323    <blockquote class="text">
7324    <p>"OK" -
7325                                    </p>
7326    <blockquote class="text">
7327    <p>on success
7328    </p>
7329    </blockquote>
7330                                
7331    
7332    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7333                                    </p>
7334    <blockquote class="text">
7335    <p>when the directory could not be created, which
7336                                        can happen if the directory already exists or the
7337                                        name contains not allowed symbols
7338    </p>
7339    </blockquote>
7340                                
7341    
7342    </blockquote><p>
7343                        
7344    </p>
7345    <p>Examples:
7346    </p>
7347    <p>
7348                            </p>
7349    <blockquote class="text">
7350    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7351    </p>
7352    <p>S: "OK"
7353    </p>
7354    </blockquote><p>
7355                        
7356    </p>
7357    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7358    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7359    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7360    Deleting an instrument directory</h3>
7361    
7362    <p>The front-end can delete a particular instrument directory
7363                        from the instruments database by sending the following command:
7364    </p>
7365    <p>
7366                            </p>
7367    <blockquote class="text">
7368    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7369    </p>
7370    </blockquote><p>
7371                        
7372    </p>
7373    <p>Where &lt;dir&gt; is the absolute path name of the directory
7374                        to delete. The optional FORCE argument can be used to
7375                        force the deletion of a non-empty directory and all its content.
7376    </p>
7377    <p>Possible Answers:
7378    </p>
7379    <p>
7380                            </p>
7381    <blockquote class="text">
7382    <p>"OK" -
7383                                    </p>
7384    <blockquote class="text">
7385    <p>if the directory is deleted successfully
7386    </p>
7387    </blockquote>
7388                                
7389    
7390    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7391                                    </p>
7392    <blockquote class="text">
7393    <p>if the given directory does not exist, or
7394                                        if trying to delete a non-empty directory,
7395                                        without using the FORCE argument.
7396    </p>
7397    </blockquote>
7398                                
7399    
7400    </blockquote><p>
7401                        
7402    </p>
7403    <p>Examples:
7404    </p>
7405    <p>
7406                            </p>
7407    <blockquote class="text">
7408    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7409    </p>
7410    <p>S: "OK"
7411    </p>
7412    </blockquote><p>
7413                        
7414    </p>
7415    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7416    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7417    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7418    Getting amount of instrument directories</h3>
7419    
7420    <p>The front-end can retrieve the current amount of
7421                        directories in a specific directory by sending the following command:
7422    </p>
7423    <p>
7424                            </p>
7425    <blockquote class="text">
7426    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7427    </p>
7428    </blockquote><p>
7429                        
7430    </p>
7431    <p>Where &lt;dir&gt; should be replaced by the absolute path
7432                        name of the directory. If RECURSIVE is specified, the number of
7433                        all directories, including those located in subdirectories of the
7434                        specified directory, will be returned.
7435    </p>
7436    <p>Possible Answers:
7437    </p>
7438    <p>
7439                            </p>
7440    <blockquote class="text">
7441    <p>The current number of instrument directories
7442                                in the specified directory.
7443    </p>
7444    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7445                                    </p>
7446    <blockquote class="text">
7447    <p>if the given directory does not exist.
7448    </p>
7449    </blockquote>
7450                                
7451    
7452    </blockquote><p>
7453                        
7454    </p>
7455    <p>Example:
7456    </p>
7457    <p>
7458                            </p>
7459    <blockquote class="text">
7460    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7461    </p>
7462    <p>S: "2"
7463    </p>
7464    </blockquote><p>
7465                        
7466    </p>
7467    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7468    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7469    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7470    Listing all directories in specific directory</h3>
7471    
7472    <p>The front-end can retrieve the current list of directories
7473                        in specific directory by sending the following command:
7474    </p>
7475    <p>
7476                            </p>
7477    <blockquote class="text">
7478    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7479    </p>
7480    </blockquote><p>
7481                        
7482    </p>
7483    <p>Where &lt;dir&gt; should be replaced by the absolute path
7484                        name of the directory. If RECURSIVE is specified, the absolute path names
7485                        of all directories, including those located in subdirectories of the
7486                        specified directory, will be returned.
7487    </p>
7488    <p>Possible Answers:
7489    </p>
7490    <p>
7491                            </p>
7492    <blockquote class="text">
7493    <p>A comma separated list of all instrument directories
7494                                (encapsulated into apostrophes) in the specified directory.
7495    </p>
7496    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7497                                    </p>
7498    <blockquote class="text">
7499    <p>if the given directory does not exist.
7500    </p>
7501    </blockquote>
7502                                
7503    
7504    </blockquote><p>
7505                        
7506    </p>
7507    <p>Example:
7508    </p>
7509    <p>
7510                            </p>
7511    <blockquote class="text">
7512    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7513    </p>
7514    <p>S: "'Piano Collection','Percussion Collection'"
7515    </p>
7516    </blockquote><p>
7517                        
7518    </p>
7519    <p>
7520                            </p>
7521    <blockquote class="text">
7522    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7523    </p>
7524    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7525    </p>
7526    </blockquote><p>
7527                        
7528    </p>
7529    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7530    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7531    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7532    Getting instrument directory information</h3>
7533    
7534    <p>The front-end can ask for the current settings of an
7535                        instrument directory by sending the following command:
7536    </p>
7537    <p>
7538                            </p>
7539    <blockquote class="text">
7540    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7541    </p>
7542    </blockquote><p>
7543                        
7544    </p>
7545    <p>Where &lt;dir&gt; should be replaced by the absolute path
7546                        name of the directory the front-end is interested in.
7547    </p>
7548    <p>Possible Answers:
7549    </p>
7550    <p>
7551                            </p>
7552    <blockquote class="text">
7553    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7554                                Each answer line begins with the settings category name
7555                                followed by a colon and then a space character &lt;SP&gt; and finally
7556                                the info character string to that setting category. At the
7557                                moment the following categories are defined:
7558    </p>
7559    <p>
7560                                    </p>
7561    <blockquote class="text">
7562    <p>DESCRIPTION -
7563                                            </p>
7564    <blockquote class="text">
7565    <p>A brief description of the directory content.
7566                                                Note that the character string may contain
7567                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7568    </p>
7569    </blockquote>
7570                                        
7571    
7572    <p>CREATED -
7573                                            </p>
7574    <blockquote class="text">
7575    <p>The creation date and time of the directory,
7576                                                represented in "YYYY-MM-DD HH:MM:SS" format
7577    </p>
7578    </blockquote>
7579                                        
7580    
7581    <p>MODIFIED -
7582                                            </p>
7583    <blockquote class="text">
7584    <p>The date and time of the last modification of the
7585                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7586    </p>
7587    </blockquote>
7588                                        
7589    
7590    </blockquote>
7591                                
7592    
7593    </blockquote><p>
7594                        
7595    </p>
7596    <p>The mentioned fields above don't have to be in particular order.
7597    </p>
7598    <p>Example:
7599    </p>
7600    <p>
7601                            </p>
7602    <blockquote class="text">
7603    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7604    </p>
7605    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7606    </p>
7607    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7608    </p>
7609    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7610    </p>
7611    <p>&nbsp;&nbsp;&nbsp;"."
7612    </p>
7613    </blockquote><p>
7614                        
7615    </p>
7616    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7617    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7618    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7619    Renaming an instrument directory</h3>
7620    
7621    <p>The front-end can alter the name of a specific
7622                        instrument directory by sending the following command:
7623    </p>
7624    <p>
7625                            </p>
7626    <blockquote class="text">
7627    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7628    </p>
7629    </blockquote><p>
7630                        
7631    </p>
7632    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7633                        &lt;name&gt; is the new name for that directory.
7634    </p>
7635    <p>Possible Answers:
7636    </p>
7637    <p>
7638                            </p>
7639    <blockquote class="text">
7640    <p>"OK" -
7641                                    </p>
7642    <blockquote class="text">
7643    <p>on success
7644    </p>
7645    </blockquote>
7646                                
7647    
7648    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7649                                    </p>
7650    <blockquote class="text">
7651    <p>in case the given directory does not exists,
7652                                        or if a directory with name equal to the new
7653                                        name already exists.
7654    </p>
7655    </blockquote>
7656                                
7657    
7658    </blockquote><p>
7659                        
7660    </p>
7661    <p>Example:
7662    </p>
7663    <p>
7664                            </p>
7665    <blockquote class="text">
7666    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7667    </p>
7668    <p>S: "OK"
7669    </p>
7670    </blockquote><p>
7671                        
7672    </p>
7673    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7674    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7675    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7676    Moving an instrument directory</h3>
7677    
7678    <p>The front-end can move a specific
7679                        instrument directory by sending the following command:
7680    </p>
7681    <p>
7682                            </p>
7683    <blockquote class="text">
7684    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7685    </p>
7686    </blockquote><p>
7687                        
7688    </p>
7689    <p>Where &lt;dir&gt; is the absolute path name of the directory
7690                        to move and &lt;dst&gt; is the location where the directory will
7691                        be moved to.
7692    </p>
7693    <p>Possible Answers:
7694    </p>
7695    <p>
7696                            </p>
7697    <blockquote class="text">
7698    <p>"OK" -
7699                                    </p>
7700    <blockquote class="text">
7701    <p>on success
7702    </p>
7703    </blockquote>
7704                                
7705    
7706    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7707                                    </p>
7708    <blockquote class="text">
7709    <p>in case a given directory does not exists,
7710                                        or if a directory with name equal to the name
7711                                        of the specified directory already exists in
7712                                        the destination directory. Error is also thrown
7713                                        when trying to move a directory to a subdirectory
7714                                        of itself.
7715    </p>
7716    </blockquote>
7717                                
7718    
7719    </blockquote><p>
7720                        
7721    </p>
7722    <p>Example:
7723    </p>
7724    <p>
7725                            </p>
7726    <blockquote class="text">
7727    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7728    </p>
7729    <p>S: "OK"
7730    </p>
7731    </blockquote><p>
7732                        
7733    </p>
7734    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7735    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7736    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7737    Copying instrument directories</h3>
7738    
7739    <p>The front-end can copy a specific
7740                        instrument directory by sending the following command:
7741    </p>
7742    <p>
7743                            </p>
7744    <blockquote class="text">
7745    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7746    </p>
7747    </blockquote><p>
7748                        
7749    </p>
7750    <p>Where &lt;dir&gt; is the absolute path name of the directory
7751                        to copy and &lt;dst&gt; is the location where the directory will
7752                        be copied to.
7753    </p>
7754    <p>Possible Answers:
7755    </p>
7756    <p>
7757                            </p>
7758    <blockquote class="text">
7759    <p>"OK" -
7760                                    </p>
7761    <blockquote class="text">
7762    <p>on success
7763    </p>
7764    </blockquote>
7765                                
7766    
7767    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7768                                    </p>
7769    <blockquote class="text">
7770    <p>in case a given directory does not exists,
7771                                        or if a directory with name equal to the name
7772                                        of the specified directory already exists in
7773                                        the destination directory. Error is also thrown
7774                                        when trying to copy a directory to a subdirectory
7775                                        of itself.
7776    </p>
7777    </blockquote>
7778                                
7779    
7780    </blockquote><p>
7781                        
7782    </p>
7783    <p>Example:
7784    </p>
7785    <p>
7786                            </p>
7787    <blockquote class="text">
7788    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7789    </p>
7790    <p>S: "OK"
7791    </p>
7792    </blockquote><p>
7793                        
7794    </p>
7795    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7796    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7797    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7798    Changing the description of directory</h3>
7799    
7800    <p>The front-end can alter the description of a specific
7801                        instrument directory by sending the following command:
7802    </p>
7803    <p>
7804                            </p>
7805    <blockquote class="text">
7806    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7807    </p>
7808    </blockquote><p>
7809                        
7810    </p>
7811    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7812                        &lt;desc&gt; is the new description for the directory
7813                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7814                        "<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>").
7815    </p>
7816    <p>Possible Answers:
7817    </p>
7818    <p>
7819                            </p>
7820    <blockquote class="text">
7821    <p>"OK" -
7822                                    </p>
7823    <blockquote class="text">
7824    <p>on success
7825    </p>
7826    </blockquote>
7827                                
7828    
7829    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7830                                    </p>
7831    <blockquote class="text">
7832    <p>in case the given directory does not exists.
7833    </p>
7834    </blockquote>
7835                                
7836    
7837    </blockquote><p>
7838                        
7839    </p>
7840    <p>Example:
7841    </p>
7842    <p>
7843                            </p>
7844    <blockquote class="text">
7845    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7846    </p>
7847    <p>S: "OK"
7848    </p>
7849    </blockquote><p>
7850                        
7851    </p>
7852    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7853    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7854    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7855    Finding directories</h3>
7856    
7857    <p>The front-end can search for directories
7858                        in specific directory by sending the following command:
7859    </p>
7860    <p>
7861                            </p>
7862    <blockquote class="text">
7863    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7864    </p>
7865    </blockquote><p>
7866                        
7867    </p>
7868    <p>Where &lt;dir&gt; should be replaced by the absolute path
7869                        name of the directory to search in. If NON_RECURSIVE is specified, the
7870                        directories located in subdirectories of the specified directory will not
7871                        be searched. &lt;criteria-list&gt; is a list of search criterias
7872                        in form of "key1=val1 key2=val2 ...". The following criterias are
7873                        allowed:
7874    </p>
7875    <p>
7876                          
7877    <p>NAME='&lt;search-string&gt;'
7878                              </p>
7879    <blockquote class="text">
7880    <p>Restricts the search to directories, which names
7881                                  satisfy the supplied search string (encapsulated into apostrophes,
7882                                  supporting escape sequences as described in chapter
7883                                  "<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>").
7884    </p>
7885    </blockquote><p>
7886                          
7887    </p>
7888    
7889                          
7890    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7891                              </p>
7892    <blockquote class="text">
7893    <p>Restricts the search to directories, which creation
7894                                  date satisfies the specified period, where &lt;date-after&gt;
7895                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7896                                  If &lt;date-after&gt; is omitted the search is restricted to
7897                                  directories created before &lt;date-before&gt;. If
7898                                  &lt;date-before&gt; is omitted, the search is restricted
7899                                  to directories created after &lt;date-after&gt;.
7900    </p>
7901    </blockquote><p>
7902                          
7903    </p>
7904    
7905                          
7906    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7907                              </p>
7908    <blockquote class="text">
7909    <p>Restricts the search to directories, which
7910                                  date of last modification satisfies the specified period, where
7911                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7912                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7913                                  directories, which are last modified before &lt;date-before&gt;. If
7914                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7915                                  which are last modified after &lt;date-after&gt;.
7916    </p>
7917    </blockquote><p>
7918                          
7919    </p>
7920    
7921                          
7922    <p>DESCRIPTION='&lt;search-string&gt;'
7923                              </p>
7924    <blockquote class="text">
7925    <p>Restricts the search to directories with description
7926                                  that satisfies the supplied search string
7927                                  (encapsulated into apostrophes, supporting escape
7928                                  sequences as described in chapter
7929                                  "<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>").
7930    </p>
7931    </blockquote><p>
7932                          
7933    </p>
7934                        
7935    
7936    <p>Where &lt;search-string&gt; is either a regular expression, or a
7937                        word list separated with spaces for OR search and with '+' for AND search.
7938    </p>
7939    <p>Possible Answers:
7940    </p>
7941    <p>
7942                            </p>
7943    <blockquote class="text">
7944    <p>A comma separated list with the absolute path names (encapsulated into
7945                                apostrophes) of all directories in the specified directory that satisfy
7946                                the supplied search criterias.
7947    </p>
7948    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7949                                    </p>
7950    <blockquote class="text">
7951    <p>if the given directory does not exist.
7952    </p>
7953    </blockquote>
7954                                
7955    
7956    </blockquote><p>
7957                        
7958    </p>
7959    <p>Example:
7960    </p>
7961    <p>
7962                            </p>
7963    <blockquote class="text">
7964    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
7965    </p>
7966    <p>S: "'/Piano Collection'"
7967    </p>
7968    </blockquote><p>
7969                        
7970    </p>
7971    <p>
7972                            </p>
7973    <blockquote class="text">
7974    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
7975    </p>
7976    <p>S: "'/Piano Collection','/Percussions'"
7977    </p>
7978    </blockquote><p>
7979                        
7980    </p>
7981    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
7982    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7983    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
7984    Adding instruments to the instruments database</h3>
7985    
7986    <p>The front-end can add one or more instruments
7987                        to the instruments database by sending the following command:
7988    </p>
7989    <p>
7990                            </p>
7991    <blockquote class="text">
7992    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
7993    </p>
7994    </blockquote><p>
7995                        
7996    </p>
7997    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
7998                        (encapsulated into apostrophes) in the instruments database in which
7999                        only the new instruments (that are not already in the database) will
8000                        be added, &lt;file_path&gt; is the absolute path name of a file or
8001                        directory in the file system (encapsulated into apostrophes). In case
8002                        an instrument file is supplied, only the instruments in the specified
8003                        file will be added to the instruments database. If the optional
8004                        &lt;instr_index&gt; (the index of the instrument within the given file)
8005                        is supplied too, then only the specified instrument will be added.
8006                        In case a directory is supplied, the instruments in that directory
8007                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8008                        when a directory is provided as &lt;file_path&gt; and specifies how the
8009                        scanning will be done and has exactly the following possibilities:
8010    </p>
8011    <p>
8012                            </p>
8013    <blockquote class="text">
8014    <p>"RECURSIVE" -
8015                                    </p>
8016    <blockquote class="text">
8017    <p>All instruments will be processed, including those
8018                                        in the subdirectories, and the respective subdirectory
8019                                        tree structure will be recreated in the instruments
8020                                        database
8021    </p>
8022    </blockquote>
8023                                
8024    
8025    <p>"NON_RECURSIVE" -
8026                                    </p>
8027    <blockquote class="text">
8028    <p>Only the instruments in the specified directory
8029                                        will be added, the instruments in the subdirectories
8030                                        will not be processed.
8031    </p>
8032    </blockquote>
8033                                
8034    
8035    <p>"FLAT" -
8036                                    </p>
8037    <blockquote class="text">
8038    <p>All instruments will be processed, including those
8039                                        in the subdirectories, but the respective subdirectory
8040                                        structure will not be recreated in the instruments
8041                                        database. All instruments will be added directly in
8042                                        the specified database directory.
8043    </p>
8044    </blockquote>
8045                                
8046    
8047    </blockquote><p>
8048                        
8049    </p>
8050    <p>The difference between regular and NON_MODAL versions of the command
8051                        is that the regular command returns when the scanning is finished
8052                        while NON_MODAL version returns immediately and a background process is launched.
8053                        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>
8054                        command can be used to monitor the scanning progress.
8055    </p>
8056    <p>Possible Answers:
8057    </p>
8058    <p>
8059                            </p>
8060    <blockquote class="text">
8061    <p>"OK" -
8062                                    </p>
8063    <blockquote class="text">
8064    <p>on success when NON_MODAL is not supplied
8065    </p>
8066    </blockquote>
8067                                
8068    
8069    <p>"OK[&lt;job-id&gt;]" -
8070                                    </p>
8071    <blockquote class="text">
8072    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8073                                        is a numerical ID used to obtain status information about the job progress.
8074                                        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>
8075                                        
8076    </p>
8077    </blockquote>
8078                                
8079    
8080    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8081                                    </p>
8082    <blockquote class="text">
8083    <p>if an invalid path is specified.
8084    </p>
8085    </blockquote>
8086                                
8087    
8088    </blockquote><p>
8089                        
8090    </p>
8091    <p>Examples:
8092    </p>
8093    <p>
8094                            </p>
8095    <blockquote class="text">
8096    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8097    </p>
8098    <p>S: "OK"
8099    </p>
8100    </blockquote><p>
8101                        
8102    </p>
8103    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8104    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8105    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8106    Removing an instrument</h3>
8107    
8108    <p>The front-end can remove a particular instrument
8109                        from the instruments database by sending the following command:
8110    </p>
8111    <p>
8112                            </p>
8113    <blockquote class="text">
8114    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8115    </p>
8116    </blockquote><p>
8117                        
8118    </p>
8119    <p>Where &lt;instr_path&gt; is the absolute path name
8120                        (in the instruments database) of the instrument to remove.
8121    </p>
8122    <p>Possible Answers:
8123    </p>
8124    <p>
8125                            </p>
8126    <blockquote class="text">
8127    <p>"OK" -
8128                                    </p>
8129    <blockquote class="text">
8130    <p>if the instrument is removed successfully
8131    </p>
8132    </blockquote>
8133                                
8134    
8135    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8136                                    </p>
8137    <blockquote class="text">
8138    <p>if the given path does not exist or
8139                                        is a directory.
8140    </p>
8141    </blockquote>
8142                                
8143    
8144    </blockquote><p>
8145                        
8146    </p>
8147    <p>Examples:
8148    </p>
8149    <p>
8150                            </p>
8151    <blockquote class="text">
8152    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8153    </p>
8154    <p>S: "OK"
8155    </p>
8156    </blockquote><p>
8157                        
8158    </p>
8159    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8160    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8161    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8162    Getting amount of instruments</h3>
8163    
8164    <p>The front-end can retrieve the current amount of
8165                        instruments in a specific directory by sending the following command:
8166    </p>
8167    <p>
8168                            </p>
8169    <blockquote class="text">
8170    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8171    </p>
8172    </blockquote><p>
8173                        
8174    </p>
8175    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8176                        of the directory. If RECURSIVE is specified, the number of all
8177                        instruments, including those located in subdirectories of the
8178                        specified directory, will be returned.
8179    </p>
8180    <p>Possible Answers:
8181    </p>
8182    <p>
8183                            </p>
8184    <blockquote class="text">
8185    <p>The current number of instruments
8186                                in the specified directory.
8187    </p>
8188    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8189                                    </p>
8190    <blockquote class="text">
8191    <p>if the given directory does not exist.
8192    </p>
8193    </blockquote>
8194                                
8195    
8196    </blockquote><p>
8197                        
8198    </p>
8199    <p>Example:
8200    </p>
8201    <p>
8202                            </p>
8203    <blockquote class="text">
8204    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8205    </p>
8206    <p>S: "2"
8207    </p>
8208    </blockquote><p>
8209                        
8210    </p>
8211    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8212    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8213    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8214    Listing all instruments in specific directory</h3>
8215    
8216    <p>The front-end can retrieve the current list of instruments
8217                        in specific directory by sending the following command:
8218    </p>
8219    <p>
8220                            </p>
8221    <blockquote class="text">
8222    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8223    </p>
8224    </blockquote><p>
8225                        
8226    </p>
8227    <p>Where &lt;dir&gt; should be replaced by the absolute path
8228                        name of the directory. If RECURSIVE is specified, the absolute path
8229                        names of all instruments, including those located in subdirectories
8230                        of the specified directory, will be returned.
8231    </p>
8232    <p>Possible Answers:
8233    </p>
8234    <p>
8235                            </p>
8236    <blockquote class="text">
8237    <p>A comma separated list of all instruments
8238                                (encapsulated into apostrophes) in the specified directory.
8239    </p>
8240    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8241                                    </p>
8242    <blockquote class="text">
8243    <p>if the given directory does not exist.
8244    </p>
8245    </blockquote>
8246                                
8247    
8248    </blockquote><p>
8249                        
8250    </p>
8251    <p>Example:
8252    </p>
8253    <p>
8254                            </p>
8255    <blockquote class="text">
8256    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8257    </p>
8258    <p>S: "'Bosendorfer 290','Steinway D'"
8259    </p>
8260    </blockquote><p>
8261                        
8262    </p>
8263    <p>
8264                            </p>
8265    <blockquote class="text">
8266    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8267    </p>
8268    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8269    </p>
8270    </blockquote><p>
8271                        
8272    </p>
8273    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8274    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8275    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8276    Getting instrument information</h3>
8277    
8278    <p>The front-end can ask for the current settings of an
8279                        instrument by sending the following command:
8280    </p>
8281    <p>
8282                            </p>
8283    <blockquote class="text">
8284    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8285    </p>
8286    </blockquote><p>
8287                        
8288    </p>
8289    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8290                        name of the instrument the front-end is interested in.
8291    </p>
8292    <p>Possible Answers:
8293    </p>
8294    <p>
8295                            </p>
8296    <blockquote class="text">
8297    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8298                                Each answer line begins with the settings category name
8299                                followed by a colon and then a space character &lt;SP&gt; and finally
8300                                the info character string to that setting category. At the
8301                                moment the following categories are defined:
8302    </p>
8303    <p>
8304                                    </p>
8305    <blockquote class="text">
8306    <p>INSTRUMENT_FILE -
8307                                            </p>
8308    <blockquote class="text">
8309    <p>File name of the instrument.
8310                                                Note that the character string may contain
8311                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8312    </p>
8313    </blockquote>
8314                                        
8315    
8316    <p>INSTRUMENT_NR -
8317                                            </p>
8318    <blockquote class="text">
8319    <p>Index of the instrument within the file.
8320    </p>
8321    </blockquote>
8322                                        
8323    
8324    <p>FORMAT_FAMILY -
8325                                            </p>
8326    <blockquote class="text">
8327    <p>The format family of the instrument.
8328    </p>
8329    </blockquote>
8330                                        
8331    
8332    <p>FORMAT_VERSION -
8333                                            </p>
8334    <blockquote class="text">
8335    <p>The format version of the instrument.
8336    </p>
8337    </blockquote>
8338                                        
8339    
8340    <p>SIZE -
8341                                            </p>
8342    <blockquote class="text">
8343    <p>The size of the instrument in bytes.
8344    </p>
8345    </blockquote>
8346                                        
8347    
8348    <p>CREATED -
8349                                            </p>
8350    <blockquote class="text">
8351    <p>The date and time when the instrument is added
8352                                                in the instruments database, represented in
8353                                               "YYYY-MM-DD HH:MM:SS" format
8354    </p>
8355    </blockquote>
8356                                        
8357    
8358    <p>MODIFIED -
8359                                            </p>
8360    <blockquote class="text">
8361    <p>The date and time of the last modification of the
8362                                                instrument's database settings, represented in
8363                                                "YYYY-MM-DD HH:MM:SS" format
8364    </p>
8365    </blockquote>
8366                                        
8367    
8368    <p>DESCRIPTION -
8369                                            </p>
8370    <blockquote class="text">
8371    <p>A brief description of the instrument.
8372                                                Note that the character string may contain
8373                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8374    </p>
8375    </blockquote>
8376                                        
8377    
8378    <p>IS_DRUM -
8379                                            </p>
8380    <blockquote class="text">
8381    <p>either true or false, determines whether the
8382                                                instrument is a drumkit or a chromatic instrument
8383    </p>
8384    </blockquote>
8385                                        
8386    
8387    <p>PRODUCT -
8388                                            </p>
8389    <blockquote class="text">
8390    <p>The product title of the instrument.
8391                                                Note that the character string may contain
8392                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8393    </p>
8394    </blockquote>
8395                                        
8396    
8397    <p>ARTISTS -
8398                                            </p>
8399    <blockquote class="text">
8400    <p>Lists the artist names.
8401                                                Note that the character string may contain
8402                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8403    </p>
8404    </blockquote>
8405                                        
8406    
8407    <p>KEYWORDS -
8408                                            </p>
8409    <blockquote class="text">
8410    <p>Provides a list of keywords that refer to the instrument.
8411                                                Keywords are separated with semicolon and blank.
8412                                                Note that the character string may contain
8413                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8414    </p>
8415    </blockquote>
8416                                        
8417    
8418    </blockquote>
8419                                
8420    
8421    </blockquote><p>
8422                        
8423    </p>
8424    <p>The mentioned fields above don't have to be in particular order.
8425    </p>
8426    <p>Example:
8427    </p>
8428    <p>
8429                            </p>
8430    <blockquote class="text">
8431    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8432    </p>
8433    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8434    </p>
8435    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8436    </p>
8437    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8438    </p>
8439    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8440    </p>
8441    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8442    </p>
8443    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8444    </p>
8445    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8446    </p>
8447    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8448    </p>
8449    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8450    </p>
8451    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8452    </p>
8453    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8454    </p>
8455    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8456    </p>
8457    <p>&nbsp;&nbsp;&nbsp;"."
8458    </p>
8459    </blockquote><p>
8460                        
8461    </p>
8462    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8463    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8464    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8465    Renaming an instrument</h3>
8466    
8467    <p>The front-end can alter the name of a specific
8468                        instrument by sending the following command:
8469    </p>
8470    <p>
8471                            </p>
8472    <blockquote class="text">
8473    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8474    </p>
8475    </blockquote><p>
8476                        
8477    </p>
8478    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8479                        &lt;name&gt; is the new name for that instrument.
8480    </p>
8481    <p>Possible Answers:
8482    </p>
8483    <p>
8484                            </p>
8485    <blockquote class="text">
8486    <p>"OK" -
8487                                    </p>
8488    <blockquote class="text">
8489    <p>on success
8490    </p>
8491    </blockquote>
8492                                
8493    
8494    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8495                                    </p>
8496    <blockquote class="text">
8497    <p>in case the given instrument does not exists,
8498                                        or if an instrument with name equal to the new
8499                                        name already exists.
8500    </p>
8501    </blockquote>
8502                                
8503    
8504    </blockquote><p>
8505                        
8506    </p>
8507    <p>Example:
8508    </p>
8509    <p>
8510                            </p>
8511    <blockquote class="text">
8512    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8513    </p>
8514    <p>S: "OK"
8515    </p>
8516    </blockquote><p>
8517                        
8518    </p>
8519    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8520    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8521    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8522    Moving an instrument</h3>
8523    
8524    <p>The front-end can move a specific instrument to another directory by
8525                        sending the following command:
8526    </p>
8527    <p>
8528                            </p>
8529    <blockquote class="text">
8530    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8531    </p>
8532    </blockquote><p>
8533                        
8534    </p>
8535    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8536                        to move and &lt;dst&gt; is the directory where the instrument will
8537                        be moved to.
8538    </p>
8539    <p>Possible Answers:
8540    </p>
8541    <p>
8542                            </p>
8543    <blockquote class="text">
8544    <p>"OK" -
8545                                    </p>
8546    <blockquote class="text">
8547    <p>on success
8548    </p>
8549    </blockquote>
8550                                
8551    
8552    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8553                                    </p>
8554    <blockquote class="text">
8555    <p>in case the given instrument does not exists,
8556                                        or if an instrument with name equal to the name of the
8557                                        specified instrument already exists in the destination
8558                                        directory.
8559    </p>
8560    </blockquote>
8561                                
8562    
8563    </blockquote><p>
8564                        
8565    </p>
8566    <p>Example:
8567    </p>
8568    <p>
8569                            </p>
8570    <blockquote class="text">
8571    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8572    </p>
8573    <p>S: "OK"
8574    </p>
8575    </blockquote><p>
8576                        
8577    </p>
8578    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8579    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8580    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8581    Copying instruments</h3>
8582    
8583    <p>The front-end can copy a specific instrument to another directory by
8584                        sending the following command:
8585    </p>
8586    <p>
8587                            </p>
8588    <blockquote class="text">
8589    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8590    </p>
8591    </blockquote><p>
8592                        
8593    </p>
8594    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8595                        to copy and &lt;dst&gt; is the directory where the instrument will
8596                        be copied to.
8597    </p>
8598    <p>Possible Answers:
8599    </p>
8600    <p>
8601                            </p>
8602    <blockquote class="text">
8603    <p>"OK" -
8604                                    </p>
8605    <blockquote class="text">
8606    <p>on success
8607    </p>
8608    </blockquote>
8609                                
8610    
8611    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8612                                    </p>
8613    <blockquote class="text">
8614    <p>in case the given instrument does not exists,
8615                                        or if an instrument with name equal to the name of the
8616                                        specified instrument already exists in the destination
8617                                        directory.
8618    </p>
8619    </blockquote>
8620                                
8621    
8622    </blockquote><p>
8623                        
8624    </p>
8625    <p>Example:
8626    </p>
8627    <p>
8628                            </p>
8629    <blockquote class="text">
8630    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8631    </p>
8632    <p>S: "OK"
8633    </p>
8634    </blockquote><p>
8635                        
8636    </p>
8637    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8638    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8639    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8640    Changing the description of instrument</h3>
8641    
8642    <p>The front-end can alter the description of a specific
8643                        instrument by sending the following command:
8644    </p>
8645    <p>
8646                            </p>
8647    <blockquote class="text">
8648    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8649    </p>
8650    </blockquote><p>
8651                        
8652    </p>
8653    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8654                        &lt;desc&gt; is the new description for the instrument
8655                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8656                        "<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>").
8657    </p>
8658    <p>Possible Answers:
8659    </p>
8660    <p>
8661                            </p>
8662    <blockquote class="text">
8663    <p>"OK" -
8664                                    </p>
8665    <blockquote class="text">
8666    <p>on success
8667    </p>
8668    </blockquote>
8669                                
8670    
8671    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8672                                    </p>
8673    <blockquote class="text">
8674    <p>in case the given instrument does not exists.
8675    </p>
8676    </blockquote>
8677                                
8678    
8679    </blockquote><p>
8680                        
8681    </p>
8682    <p>Example:
8683    </p>
8684    <p>
8685                            </p>
8686    <blockquote class="text">
8687    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8688    </p>
8689    <p>S: "OK"
8690    </p>
8691    </blockquote><p>
8692                        
8693    </p>
8694    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8695    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8696    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8697    Finding instruments</h3>
8698    
8699    <p>The front-end can search for instruments
8700                        in specific directory by sending the following command:
8701    </p>
8702    <p>
8703                            </p>
8704    <blockquote class="text">
8705    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8706    </p>
8707    </blockquote><p>
8708                        
8709    </p>
8710    <p>Where &lt;dir&gt; should be replaced by the absolute path
8711                        name of the directory to search in. If NON_RECURSIVE is specified, the
8712                        directories located in subdirectories of the specified directory will not
8713                        be searched. &lt;criteria-list&gt; is a list of search criterias
8714                        in form of "key1=val1 key2=val2 ...". The following criterias are
8715                        allowed:
8716    </p>
8717    <p>
8718                          
8719    <p>NAME='&lt;search-string&gt;'
8720                              </p>
8721    <blockquote class="text">
8722    <p>Restricts the search to instruments, which names
8723                                  satisfy the supplied search string (encapsulated into apostrophes,
8724                                  supporting escape sequences as described in chapter
8725                                  "<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>").
8726    </p>
8727    </blockquote><p>
8728                          
8729    </p>
8730    
8731                          
8732    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8733                              </p>
8734    <blockquote class="text">
8735    <p>Restricts the search to instruments, which
8736                                  size is in the specified range. If &lt;min&gt; is omitted,
8737                                  the search results are restricted to instruments with size less then
8738                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8739                                  search is restricted to instruments with size greater then
8740                                  or equal to &lt;min&gt;.
8741    </p>
8742    </blockquote><p>
8743                          
8744    </p>
8745    
8746                          
8747    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8748                              </p>
8749    <blockquote class="text">
8750    <p>Restricts the search to instruments, which creation
8751                                  date satisfies the specified period, where &lt;date-after&gt;
8752                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8753                                  If &lt;date-after&gt; is omitted the search is restricted to
8754                                  instruments created before &lt;date-before&gt;. If
8755                                  &lt;date-before&gt; is omitted, the search is restricted
8756                                  to instruments created after &lt;date-after&gt;.
8757    </p>
8758    </blockquote><p>
8759                          
8760    </p>
8761    
8762                          
8763    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8764                              </p>
8765    <blockquote class="text">
8766    <p>Restricts the search to instruments, which
8767                                  date of last modification satisfies the specified period, where
8768                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8769                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8770                                  instruments, which are last modified before &lt;date-before&gt;. If
8771                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8772                                  which are last modified after &lt;date-after&gt;.
8773    </p>
8774    </blockquote><p>
8775                          
8776    </p>
8777    
8778                          
8779    <p>DESCRIPTION='&lt;search-string&gt;'
8780                              </p>
8781    <blockquote class="text">
8782    <p>Restricts the search to instruments with description
8783                                  that satisfies the supplied search string (encapsulated into apostrophes,
8784                                  supporting escape sequences as described in chapter
8785                                  "<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>").
8786    </p>
8787    </blockquote><p>
8788                          
8789    </p>
8790    
8791                          
8792    <p>PRODUCT='&lt;search-string&gt;'
8793                              </p>
8794    <blockquote class="text">
8795    <p>Restricts the search to instruments with product info
8796                                  that satisfies the supplied search string (encapsulated into apostrophes,
8797                                  supporting escape sequences as described in chapter
8798                                  "<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>").
8799    </p>
8800    </blockquote><p>
8801                          
8802    </p>
8803    
8804                          
8805    <p>ARTISTS='&lt;search-string&gt;'
8806                              </p>
8807    <blockquote class="text">
8808    <p>Restricts the search to instruments with artists info
8809                                  that satisfies the supplied search string (encapsulated into apostrophes,
8810                                  supporting escape sequences as described in chapter
8811                                  "<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>").
8812    </p>
8813    </blockquote><p>
8814                          
8815    </p>
8816    
8817                          
8818    <p>KEYWORDS='&lt;search-string&gt;'
8819                              </p>
8820    <blockquote class="text">
8821    <p>Restricts the search to instruments with keyword list
8822                                  that satisfies the supplied search string (encapsulated into apostrophes,
8823                                  supporting escape sequences as described in chapter
8824                                  "<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>").
8825    </p>
8826    </blockquote><p>
8827                          
8828    </p>
8829    
8830                          
8831    <p>IS_DRUM=true | false
8832                              </p>
8833    <blockquote class="text">
8834    <p>Either true or false. Restricts the search to
8835                                  drum kits or chromatic instruments.
8836    </p>
8837    </blockquote><p>
8838                          
8839    </p>
8840    
8841                          
8842    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8843                              </p>
8844    <blockquote class="text">
8845    <p>Restricts the search to instruments of the supplied format families,
8846                                  where &lt;format-list&gt; is a comma separated list of format families.
8847    </p>
8848    </blockquote><p>
8849                          
8850    </p>
8851                        
8852    
8853    <p>Where &lt;search-string&gt; is either a regular expression, or a
8854                        word list separated with spaces for OR search and with '+' for AND search.
8855    </p>
8856    <p>Possible Answers:
8857    </p>
8858    <p>
8859                            </p>
8860    <blockquote class="text">
8861    <p>A comma separated list with the absolute path names (encapsulated into
8862                                apostrophes) of all instruments in the specified directory that satisfy
8863                                the supplied search criterias.
8864    </p>
8865    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8866                                    </p>
8867    <blockquote class="text">
8868    <p>if the given directory does not exist.
8869    </p>
8870    </blockquote>
8871                                
8872    
8873    </blockquote><p>
8874                        
8875    </p>
8876    <p>Example:
8877    </p>
8878    <p>
8879                            </p>
8880    <blockquote class="text">
8881    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8882    </p>
8883    <p>S: "'/Piano Collection/Bosendorfer 290'"
8884    </p>
8885    </blockquote><p>
8886                        
8887    </p>
8888    <p>
8889                            </p>
8890    <blockquote class="text">
8891    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8892    </p>
8893    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8894    </p>
8895    </blockquote><p>
8896                        
8897    </p>
8898    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8899    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8900    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8901    Getting job status information</h3>
8902    
8903    <p>The front-end can ask for the current status of a
8904                        particular database instruments job by sending the following command:
8905    </p>
8906    <p>
8907                            </p>
8908    <blockquote class="text">
8909    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8910    </p>
8911    </blockquote><p>
8912                        
8913    </p>
8914    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8915                        of the job the front-end is interested in.
8916    </p>
8917    <p>Possible Answers:
8918    </p>
8919    <p>
8920                            </p>
8921    <blockquote class="text">
8922    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8923                                Each answer line begins with the settings category name
8924                                followed by a colon and then a space character &lt;SP&gt; and finally
8925                                the info character string to that setting category. At the
8926                                moment the following categories are defined:
8927    </p>
8928    <p>
8929                                    </p>
8930    <blockquote class="text">
8931    <p>FILES_TOTAL -
8932                                            </p>
8933    <blockquote class="text">
8934    <p>The total number of files scheduled for scanning
8935    </p>
8936    </blockquote>
8937                                        
8938    
8939    <p>FILES_SCANNED -
8940                                            </p>
8941    <blockquote class="text">
8942    <p>The current number of scanned files
8943    </p>
8944    </blockquote>
8945                                        
8946    
8947    <p>SCANNING -
8948                                            </p>
8949    <blockquote class="text">
8950    <p>The absolute path name of the file which is currently
8951                                                being scanned
8952    </p>
8953    </blockquote>
8954                                        
8955    
8956    <p>STATUS -
8957                                            </p>
8958    <blockquote class="text">
8959    <p>An integer value between 0 and 100 indicating the
8960                                                scanning progress percentage of the file which is
8961                                                currently being scanned
8962    </p>
8963    </blockquote>
8964                                        
8965    
8966    </blockquote>
8967                                
8968    
8969    </blockquote><p>
8970                        
8971    </p>
8972    <p>The mentioned fields above don't have to be in particular order.
8973    </p>
8974    <p>Example:
8975    </p>
8976    <p>
8977                            </p>
8978    <blockquote class="text">
8979    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
8980    </p>
8981    <p>S: "FILES_TOTAL: 12"
8982    </p>
8983    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
8984    </p>
8985    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
8986    </p>
8987    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
8988    </p>
8989    <p>&nbsp;&nbsp;&nbsp;"."
8990    </p>
8991    </blockquote><p>
8992                        
8993    </p>
8994    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
8995    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8996    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
8997    Formatting the instruments database</h3>
8998    
8999    <p>The front-end can remove all instruments and directories and re-create
9000                        the instruments database structure (e.g., in case of a database corruption)
9001                        by sending the following command:
9002    </p>
9003    <p>
9004                            </p>
9005    <blockquote class="text">
9006    <p>FORMAT INSTRUMENTS_DB
9007    </p>
9008    </blockquote><p>
9009                        
9010    </p>
9011    <p>Possible Answers:
9012    </p>
9013    <p>
9014                            </p>
9015    <blockquote class="text">
9016    <p>"OK" -
9017                                    </p>
9018    <blockquote class="text">
9019    <p>on success
9020    </p>
9021    </blockquote>
9022                                
9023    
9024    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9025                                    </p>
9026    <blockquote class="text">
9027    <p>If the formatting of the instruments database
9028                                        failed.
9029    </p>
9030    </blockquote>
9031                                
9032    
9033    </blockquote><p>
9034                        
9035    </p>
9036    <a name="editing_instruments"></a><br /><hr />
9037    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9038    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9039    Editing Instruments</h3>
9040    
9041    <p>The sampler allows to edit instruments while playing with the
9042                    sampler by spawning an external (3rd party) instrument editor
9043                    application for a given instrument. The 3rd party instrument
9044                    editor applications have to place a respective plugin DLL file
9045                    into the sampler's plugins directory. The sampler will
9046                    automatically try to load all plugin DLLs in that directory on
9047                    startup and only on startup!
9048    </p>
9049    <p>At the moment there is only one command for this feature set,
9050                    but this will most probably change in future.
9051    </p>
9052    <a name="EDIT INSTRUMENT"></a><br /><hr />
9053    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9054    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9055    Opening an appropriate instrument editor application</h3>
9056    
9057    <p>The front-end can request to open an appropriate instrument
9058                        editor application by sending the following command:
9059    </p>
9060    <p>
9061                            </p>
9062    <blockquote class="text">
9063    <p>EDIT INSTRUMENT &lt;sampler-channel&gt;
9064    </p>
9065    </blockquote><p>
9066                        
9067    </p>
9068    <p>Where &lt;sampler-channel&gt; should be replaced by the
9069                        number of the sampler channel as given by the
9070                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9071                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9072                        command.
9073    </p>
9074    <p>The sampler will try to ask all registered instrument
9075                        editors (or to be more specific: their sampler plugins)
9076                        whether they are capable to handle the instrument on the
9077                        given sampler channel. The sampler will simply use the first
9078                        instrument editor application which replied with a positive
9079                        answer and spawn that instrument editor application within
9080                        the sampler's process and provide that application access
9081                        to the instrument's data structures, so both applications
9082                        can share and access the same instruments data at the same
9083                        time, thus allowing to immediately hear changes with the
9084                        sampler made by the instrument editor.
9085    </p>
9086    <p>Note: consequently instrument editors are always spawned
9087                        locally on the same machine where the sampler is running
9088                        on!
9089    </p>
9090    <p>Possible Answers:
9091    </p>
9092    <p>
9093                            </p>
9094    <blockquote class="text">
9095    <p>"OK" -
9096                                    </p>
9097    <blockquote class="text">
9098    <p>when an appropriate instrument editor was
9099                                        launched
9100    </p>
9101    </blockquote>
9102                                
9103    
9104    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9105                                    </p>
9106    <blockquote class="text">
9107    <p>when an appropriate instrument editor was
9108                                        launched, but there are noteworthy issues
9109    </p>
9110    </blockquote>
9111                                
9112    
9113    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9114                                    </p>
9115    <blockquote class="text">
9116    <p>when an appropriate instrument editor
9117                                        could not be launched
9118    </p>
9119    </blockquote>
9120                                
9121    
9122    </blockquote><p>
9123                        
9124    </p>
9125    <p>Examples:
9126    </p>
9127    <p>
9128                            </p>
9129    <blockquote class="text">
9130    <p>C: "EDIT INSTRUMENT 0"
9131    </p>
9132    <p>S: "OK"
9133    </p>
9134    </blockquote><p>
9135                        
9136    </p>
9137  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9138  <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>
9139  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9140    Command Syntax</h3>
9141    
9142  <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>
9143              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>)
9144              where applicable.              where applicable.
9145                            
9146  </p>  </p>
# Line 5201  Intellectual Property and Copyright Stat Line 9198  Intellectual Property and Copyright Stat
9198  <p>command =  <p>command =
9199          </p>          </p>
9200  <blockquote class="text">  <blockquote class="text">
9201  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
9202                    
9203    </p>
9204    <p>/ MAP SP map_instruction
9205                    
9206    </p>
9207    <p>/ UNMAP SP unmap_instruction
9208                                    
9209  </p>  </p>
9210  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 5219  Intellectual Property and Copyright Stat Line 9222  Intellectual Property and Copyright Stat
9222  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
9223                                    
9224  </p>  </p>
9225  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
9226                                    
9227  </p>  </p>
9228  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5231  Intellectual Property and Copyright Stat Line 9234  Intellectual Property and Copyright Stat
9234  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9235                                    
9236  </p>  </p>
9237  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
9238                    
9239    </p>
9240    <p>/ CLEAR SP clear_instruction
9241                    
9242    </p>
9243    <p>/ FIND SP find_instruction
9244                    
9245    </p>
9246    <p>/ MOVE SP move_instruction
9247                    
9248    </p>
9249    <p>/ COPY SP copy_instruction
9250                                    
9251  </p>  </p>
9252  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ EDIT SP edit_instruction
9253                    
9254    </p>
9255    <p>/ FORMAT SP format_instruction
9256                                    
9257  </p>  </p>
9258  <p>/ RESET  <p>/ RESET
# Line 5246  Intellectual Property and Copyright Stat Line 9264  Intellectual Property and Copyright Stat
9264  </blockquote><p>  </blockquote><p>
9265    
9266  </p>  </p>
9267    <p>add_instruction =
9268            </p>
9269    <blockquote class="text">
9270    <p>CHANNEL
9271                    
9272    </p>
9273    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9274                    
9275    </p>
9276    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9277                    
9278    </p>
9279    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9280                    
9281    </p>
9282    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9283                    
9284    </p>
9285    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9286                    
9287    </p>
9288    <p>/ DB_INSTRUMENTS SP db_path SP filename
9289                    
9290    </p>
9291    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9292                    
9293    </p>
9294    <p>/ MIDI_INSTRUMENT_MAP
9295                    
9296    </p>
9297    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9298                    
9299    </p>
9300    </blockquote><p>
9301    
9302    </p>
9303  <p>subscribe_event =  <p>subscribe_event =
9304          </p>          </p>
9305  <blockquote class="text">  <blockquote class="text">
9306  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9307                    
9308    </p>
9309    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9310                    
9311    </p>
9312    <p>/ MIDI_INPUT_DEVICE_COUNT
9313                    
9314    </p>
9315    <p>/ MIDI_INPUT_DEVICE_INFO
9316                    
9317    </p>
9318    <p>/ CHANNEL_COUNT
9319                                    
9320  </p>  </p>
9321  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5264  Intellectual Property and Copyright Stat Line 9330  Intellectual Property and Copyright Stat
9330  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9331                                    
9332  </p>  </p>
9333    <p>/ FX_SEND_COUNT
9334                    
9335    </p>
9336    <p>/ FX_SEND_INFO
9337                    
9338    </p>
9339    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9340                    
9341    </p>
9342    <p>/ MIDI_INSTRUMENT_MAP_INFO
9343                    
9344    </p>
9345    <p>/ MIDI_INSTRUMENT_COUNT
9346                    
9347    </p>
9348    <p>/ MIDI_INSTRUMENT_INFO
9349                    
9350    </p>
9351    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9352                    
9353    </p>
9354    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9355                    
9356    </p>
9357    <p>/ DB_INSTRUMENT_COUNT
9358                    
9359    </p>
9360    <p>/ DB_INSTRUMENT_INFO
9361                    
9362    </p>
9363    <p>/ DB_INSTRUMENTS_JOB_INFO
9364                    
9365    </p>
9366  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9367                                    
9368  </p>  </p>
9369  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9370                                    
9371  </p>  </p>
9372    <p>/ GLOBAL_INFO
9373                    
9374    </p>
9375  </blockquote><p>  </blockquote><p>
9376    
9377  </p>  </p>
9378  <p>unsubscribe_event =  <p>unsubscribe_event =
9379          </p>          </p>
9380  <blockquote class="text">  <blockquote class="text">
9381  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9382                    
9383    </p>
9384    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9385                    
9386    </p>
9387    <p>/ MIDI_INPUT_DEVICE_COUNT
9388                    
9389    </p>
9390    <p>/ MIDI_INPUT_DEVICE_INFO
9391                    
9392    </p>
9393    <p>/ CHANNEL_COUNT
9394                                    
9395  </p>  </p>
9396  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5291  Intellectual Property and Copyright Stat Line 9405  Intellectual Property and Copyright Stat
9405  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9406                                    
9407  </p>  </p>
9408    <p>/ FX_SEND_COUNT
9409                    
9410    </p>
9411    <p>/ FX_SEND_INFO
9412                    
9413    </p>
9414    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9415                    
9416    </p>
9417    <p>/ MIDI_INSTRUMENT_MAP_INFO
9418                    
9419    </p>
9420    <p>/ MIDI_INSTRUMENT_COUNT
9421                    
9422    </p>
9423    <p>/ MIDI_INSTRUMENT_INFO
9424                    
9425    </p>
9426    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9427                    
9428    </p>
9429    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9430                    
9431    </p>
9432    <p>/ DB_INSTRUMENT_COUNT
9433                    
9434    </p>
9435    <p>/ DB_INSTRUMENT_INFO
9436                    
9437    </p>
9438    <p>/ DB_INSTRUMENTS_JOB_INFO
9439                    
9440    </p>
9441  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9442                                    
9443  </p>  </p>
9444  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9445                                    
9446  </p>  </p>
9447    <p>/ GLOBAL_INFO
9448                    
9449    </p>
9450    </blockquote><p>
9451    
9452    </p>
9453    <p>map_instruction =
9454            </p>
9455    <blockquote class="text">
9456    <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
9457                    
9458    </p>
9459    <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
9460                    
9461    </p>
9462    <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
9463                    
9464    </p>
9465    <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
9466                    
9467    </p>
9468    </blockquote><p>
9469    
9470    </p>
9471    <p>unmap_instruction =
9472            </p>
9473    <blockquote class="text">
9474    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9475                    
9476    </p>
9477    </blockquote><p>
9478    
9479    </p>
9480    <p>remove_instruction =
9481            </p>
9482    <blockquote class="text">
9483    <p>CHANNEL SP sampler_channel
9484                    
9485    </p>
9486    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9487                    
9488    </p>
9489    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9490                    
9491    </p>
9492    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9493                    
9494    </p>
9495    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9496                    
9497    </p>
9498    <p>/ DB_INSTRUMENT SP db_path
9499                    
9500    </p>
9501  </blockquote><p>  </blockquote><p>
9502    
9503  </p>  </p>
# Line 5381  Intellectual Property and Copyright Stat Line 9582  Intellectual Property and Copyright Stat
9582  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
9583                                    
9584  </p>  </p>
9585    <p>/ MIDI_INSTRUMENTS SP midi_map
9586                    
9587    </p>
9588    <p>/ MIDI_INSTRUMENTS SP ALL
9589                    
9590    </p>
9591    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9592                    
9593    </p>
9594    <p>/ MIDI_INSTRUMENT_MAPS
9595                    
9596    </p>
9597    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9598                    
9599    </p>
9600    <p>/ FX_SENDS SP sampler_channel
9601                    
9602    </p>
9603    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9604                    
9605    </p>
9606    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9607                    
9608    </p>
9609    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9610                    
9611    </p>
9612    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9613                    
9614    </p>
9615    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9616                    
9617    </p>
9618    <p>/ DB_INSTRUMENTS SP db_path
9619                    
9620    </p>
9621    <p>/ DB_INSTRUMENT SP INFO SP db_path
9622                    
9623    </p>
9624    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9625                    
9626    </p>
9627    <p>/ VOLUME
9628                    
9629    </p>
9630  </blockquote><p>  </blockquote><p>
9631    
9632  </p>  </p>
# Line 5396  Intellectual Property and Copyright Stat Line 9642  Intellectual Property and Copyright Stat
9642  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9643                                    
9644  </p>  </p>
9645    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9646                    
9647    </p>
9648  <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
9649                                    
9650  </p>  </p>
9651  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
9652                                    
9653  </p>  </p>
9654    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9655                    
9656    </p>
9657    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9658                    
9659    </p>
9660    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9661                    
9662    </p>
9663    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9664                    
9665    </p>
9666    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
9667                    
9668    </p>
9669    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
9670                    
9671    </p>
9672    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
9673                    
9674    </p>
9675    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
9676                    
9677    </p>
9678    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
9679                    
9680    </p>
9681  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
9682                                    
9683  </p>  </p>
9684    <p>/ VOLUME SP volume_value
9685                    
9686    </p>
9687  </blockquote><p>  </blockquote><p>
9688    
9689  </p>  </p>
# Line 5423  Intellectual Property and Copyright Stat Line 9702  Intellectual Property and Copyright Stat
9702  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
9703                                    
9704  </p>  </p>
9705    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
9706                    
9707    </p>
9708    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
9709                    
9710    </p>
9711    </blockquote><p>
9712    
9713    </p>
9714    <p>reset_instruction =
9715            </p>
9716    <blockquote class="text">
9717    <p>CHANNEL SP sampler_channel
9718                    
9719    </p>
9720    </blockquote><p>
9721    
9722    </p>
9723    <p>clear_instruction =
9724            </p>
9725    <blockquote class="text">
9726    <p>MIDI_INSTRUMENTS SP midi_map
9727                    
9728    </p>
9729    <p>/ MIDI_INSTRUMENTS SP ALL
9730                    
9731    </p>
9732    </blockquote><p>
9733    
9734    </p>
9735    <p>find_instruction =
9736            </p>
9737    <blockquote class="text">
9738    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
9739                    
9740    </p>
9741    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
9742                    
9743    </p>
9744    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
9745                    
9746    </p>
9747    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
9748                    
9749    </p>
9750    </blockquote><p>
9751    
9752    </p>
9753    <p>move_instruction =
9754            </p>
9755    <blockquote class="text">
9756    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9757                    
9758    </p>
9759    <p>/ DB_INSTRUMENT SP db_path SP db_path
9760                    
9761    </p>
9762    </blockquote><p>
9763    
9764    </p>
9765    <p>copy_instruction =
9766            </p>
9767    <blockquote class="text">
9768    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
9769                    
9770    </p>
9771    <p>/ DB_INSTRUMENT SP db_path SP db_path
9772                    
9773    </p>
9774  </blockquote><p>  </blockquote><p>
9775    
9776  </p>  </p>
# Line 5435  Intellectual Property and Copyright Stat Line 9783  Intellectual Property and Copyright Stat
9783  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
9784                                    
9785  </p>  </p>
9786    <p>/ FX_SEND SP sampler_channel SP fx_send_id
9787                    
9788    </p>
9789  </blockquote><p>  </blockquote><p>
9790    
9791  </p>  </p>
# Line 5486  Intellectual Property and Copyright Stat Line 9837  Intellectual Property and Copyright Stat
9837  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
9838                                    
9839  </p>  </p>
9840    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
9841                    
9842    </p>
9843    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
9844                    
9845    </p>
9846    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
9847                    
9848    </p>
9849    </blockquote><p>
9850    
9851    </p>
9852    <p>edit_instruction =
9853            </p>
9854    <blockquote class="text">
9855    <p>INSTRUMENT SP sampler_channel
9856                    
9857    </p>
9858    </blockquote><p>
9859    
9860    </p>
9861    <p>format_instruction =
9862            </p>
9863    <blockquote class="text">
9864    <p>INSTRUMENTS_DB
9865                    
9866    </p>
9867    </blockquote><p>
9868    
9869    </p>
9870    <p>modal_arg =
9871            </p>
9872    <blockquote class="text">
9873    <p>/* epsilon (empty argument) */
9874                    
9875    </p>
9876    <p>/ NON_MODAL SP
9877                    
9878    </p>
9879  </blockquote><p>  </blockquote><p>
9880    
9881  </p>  </p>
# Line 5534  Intellectual Property and Copyright Stat Line 9924  Intellectual Property and Copyright Stat
9924  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
9925                                    
9926  </p>  </p>
9927    <p>/ MIDI_INSTRUMENTS SP midi_map
9928                    
9929    </p>
9930    <p>/ MIDI_INSTRUMENTS SP ALL
9931                    
9932    </p>
9933    <p>/ MIDI_INSTRUMENT_MAPS
9934                    
9935    </p>
9936    <p>/ FX_SENDS SP sampler_channel
9937                    
9938    </p>
9939    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9940                    
9941    </p>
9942    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9943                    
9944    </p>
9945    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9946                    
9947    </p>
9948    <p>/ DB_INSTRUMENTS SP db_path
9949                    
9950    </p>
9951  </blockquote><p>  </blockquote><p>
9952    
9953  </p>  </p>
# Line 5558  Intellectual Property and Copyright Stat Line 9972  Intellectual Property and Copyright Stat
9972  </blockquote><p>  </blockquote><p>
9973    
9974  </p>  </p>
9975    <p>instr_load_mode =
9976            </p>
9977    <blockquote class="text">
9978    <p>ON_DEMAND
9979                    
9980    </p>
9981    <p>/ ON_DEMAND_HOLD
9982                    
9983    </p>
9984    <p>/ PERSISTENT
9985                    
9986    </p>
9987    </blockquote><p>
9988    
9989    </p>
9990  <p>device_index =  <p>device_index =
9991          </p>          </p>
9992  <blockquote class="text">  <blockquote class="text">
# Line 5615  Intellectual Property and Copyright Stat Line 10044  Intellectual Property and Copyright Stat
10044  </blockquote><p>  </blockquote><p>
10045    
10046  </p>  </p>
10047    <p>midi_map =
10048            </p>
10049    <blockquote class="text">
10050    <p>number
10051                    
10052    </p>
10053    </blockquote><p>
10054    
10055    </p>
10056    <p>midi_bank =
10057            </p>
10058    <blockquote class="text">
10059    <p>number
10060                    
10061    </p>
10062    </blockquote><p>
10063    
10064    </p>
10065    <p>midi_prog =
10066            </p>
10067    <blockquote class="text">
10068    <p>number
10069                    
10070    </p>
10071    </blockquote><p>
10072    
10073    </p>
10074    <p>midi_ctrl =
10075            </p>
10076    <blockquote class="text">
10077    <p>number
10078                    
10079    </p>
10080    </blockquote><p>
10081    
10082    </p>
10083  <p>volume_value =  <p>volume_value =
10084          </p>          </p>
10085  <blockquote class="text">  <blockquote class="text">
# Line 5645  Intellectual Property and Copyright Stat Line 10110  Intellectual Property and Copyright Stat
10110  </blockquote><p>  </blockquote><p>
10111    
10112  </p>  </p>
10113    <p>fx_send_id =
10114            </p>
10115    <blockquote class="text">
10116    <p>number
10117                    
10118    </p>
10119    </blockquote><p>
10120    
10121    </p>
10122  <p>engine_name =  <p>engine_name =
10123          </p>          </p>
10124  <blockquote class="text">  <blockquote class="text">
# Line 5657  Intellectual Property and Copyright Stat Line 10131  Intellectual Property and Copyright Stat
10131  <p>filename =  <p>filename =
10132          </p>          </p>
10133  <blockquote class="text">  <blockquote class="text">
10134  <p>stringval  <p>path
10135                    
10136    </p>
10137    </blockquote><p>
10138    
10139    </p>
10140    <p>db_path =
10141            </p>
10142    <blockquote class="text">
10143    <p>path
10144                    
10145    </p>
10146    </blockquote><p>
10147    
10148    </p>
10149    <p>map_name =
10150            </p>
10151    <blockquote class="text">
10152    <p>stringval_escaped
10153                    
10154    </p>
10155    </blockquote><p>
10156    
10157    </p>
10158    <p>entry_name =
10159            </p>
10160    <blockquote class="text">
10161    <p>stringval_escaped
10162                    
10163    </p>
10164    </blockquote><p>
10165    
10166    </p>
10167    <p>fx_send_name =
10168            </p>
10169    <blockquote class="text">
10170    <p>stringval_escaped
10171                                    
10172  </p>  </p>
10173  </blockquote><p>  </blockquote><p>
# Line 5693  Intellectual Property and Copyright Stat Line 10203  Intellectual Property and Copyright Stat
10203  </blockquote><p>  </blockquote><p>
10204    
10205  </p>  </p>
10206    <p>query_val_list =
10207            </p>
10208    <blockquote class="text">
10209    <p>string '=' query_val
10210                    
10211    </p>
10212    <p>/ query_val_list SP string '=' query_val
10213                    
10214    </p>
10215    </blockquote><p>
10216    
10217    </p>
10218    <p>query_val =
10219            </p>
10220    <blockquote class="text">
10221    <p>text_escaped
10222                    
10223    </p>
10224    <p>/ stringval_escaped
10225                    
10226    </p>
10227    </blockquote><p>
10228    
10229    </p>
10230    <p>scan_mode =
10231            </p>
10232    <blockquote class="text">
10233    <p>RECURSIVE
10234                    
10235    </p>
10236    <p>/ NON_RECURSIVE
10237                    
10238    </p>
10239    <p>/ FLAT
10240                    
10241    </p>
10242    </blockquote><p>
10243    
10244    </p>
10245    <a name="character_set"></a><br /><hr />
10246    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10247    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10248    Character Set and Escape Sequences</h3>
10249    
10250    <p>Older versions of this protocol up to and including v1.1 only
10251                    supported the standard ASCII character set (ASCII code 0 - 127)
10252                    <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
10253                    however support the Extended ASCII character set (ASCII code
10254                    0 - 255). The same group of younger protocols also support
10255                    escape sequences, but only for certain, explicitly declared
10256                    parts of the protocol. The supported escape sequences are
10257                    defined as follows:
10258    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10259    <col align="left"><col align="left">
10260    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10261    <tr>
10262    <td align="left">\n</td>
10263    <td align="left">new line</td>
10264    </tr>
10265    <tr>
10266    <td align="left">\r</td>
10267    <td align="left">carriage return</td>
10268    </tr>
10269    <tr>
10270    <td align="left">\f</td>
10271    <td align="left">form feed</td>
10272    </tr>
10273    <tr>
10274    <td align="left">\t</td>
10275    <td align="left">horizontal tab</td>
10276    </tr>
10277    <tr>
10278    <td align="left">\v</td>
10279    <td align="left">vertical tab</td>
10280    </tr>
10281    <tr>
10282    <td align="left">\'</td>
10283    <td align="left">apostrophe</td>
10284    </tr>
10285    <tr>
10286    <td align="left">\"</td>
10287    <td align="left">quotation mark</td>
10288    </tr>
10289    <tr>
10290    <td align="left">\\</td>
10291    <td align="left">backslash</td>
10292    </tr>
10293    <tr>
10294    <td align="left">\OOO</td>
10295    <td align="left">three digit octal ASCII code of the character</td>
10296    </tr>
10297    <tr>
10298    <td align="left">\xHH</td>
10299    <td align="left">two digit hex ASCII code of the character</td>
10300    </tr>
10301    </table>
10302    
10303    <p>Notice: due to the transition of certain parts of the
10304                    protocol which now support escape sequences, a slight backward
10305                    incompatibility to protocols version v1.1 and younger has been
10306                    introduced. The only difference is that in parts of the protocol
10307                    where escape characters are now supported, a backslash characters
10308                    MUST be escaped as well (that is as double backslash), whereas
10309                    in the old versions a single backslash was sufficient.
10310    </p>
10311    <p>The following LSCP commands support escape sequences as part
10312                    of their filename / path based arguments:
10313                    </p>
10314    <blockquote class="text">
10315    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10316    </p>
10317    <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>
10318    </p>
10319    <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>
10320    </p>
10321    <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>
10322    </p>
10323    <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>
10324    </p>
10325    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10326    </p>
10327    <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>
10328    </p>
10329    <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>
10330    </p>
10331    <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>
10332    </p>
10333    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10334    </p>
10335    <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>
10336    </p>
10337    <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>
10338    </p>
10339    <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>
10340    </p>
10341    <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>
10342    </p>
10343    <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>
10344    </p>
10345    <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>
10346    </p>
10347    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10348    </p>
10349    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10350    </p>
10351    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10352    </p>
10353    <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>
10354    </p>
10355    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10356    </p>
10357    <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>
10358    </p>
10359    </blockquote><p>
10360                    Note that the forward slash character ('/') has a special meaning in
10361                    filename / path based arguments: it acts as separator of the nodes in
10362                    the path, thus if a directory- or filename includes a forward slash
10363                    (not intended as path node separator), you MUST escape that slash
10364                    either with the respective hex escape sequence ("\x2f") or with the
10365                    respective octal escape sequence ("\057").
10366                    
10367    </p>
10368    <p>
10369                    The following LSCP commands even support escape sequences as
10370                    part of at least one of their text-based arguments (i.e. entity name,
10371                    description):
10372                    </p>
10373    <blockquote class="text">
10374    <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>
10375    </p>
10376    <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>
10377    </p>
10378    <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>
10379    </p>
10380    <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>
10381    </p>
10382    <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>
10383    </p>
10384    <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>
10385    </p>
10386    <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>
10387    </p>
10388    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10389    </p>
10390    </blockquote><p>
10391                    Please note that these lists are manually maintained. If you
10392                    find a command that also supports escape sequences we forgot to
10393                    mention here, please report it!
10394                    
10395    </p>
10396  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10397  <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>
10398  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10399    Events</h3>
10400    
10401  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10402  </p>  </p>
10403  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10404  <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>
10405  <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;
10406    Number of audio output devices changed</h3>
10407    
10408    <p>Client may want to be notified when the total number of audio output devices on the
10409                    back-end changes by issuing the following command:
10410    </p>
10411    <p>
10412                        </p>
10413    <blockquote class="text">
10414    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10415    </p>
10416    </blockquote><p>
10417                    
10418    </p>
10419    <p>Server will start sending the following notification messages:
10420    </p>
10421    <p>
10422                        </p>
10423    <blockquote class="text">
10424    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10425    </p>
10426    </blockquote><p>
10427                    
10428    </p>
10429    <p>where &lt;devices&gt; will be replaced by the new number
10430                    of audio output devices.
10431    </p>
10432    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10433    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10434    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10435    Audio output device's settings changed</h3>
10436    
10437    <p>Client may want to be notified when changes were made to audio output devices on the
10438                    back-end by issuing the following command:
10439    </p>
10440    <p>
10441                        </p>
10442    <blockquote class="text">
10443    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10444    </p>
10445    </blockquote><p>
10446                    
10447    </p>
10448    <p>Server will start sending the following notification messages:
10449    </p>
10450    <p>
10451                        </p>
10452    <blockquote class="text">
10453    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10454    </p>
10455    </blockquote><p>
10456                    
10457    </p>
10458    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10459                    which settings has been changed. The front-end will have to send
10460                    the respective command to actually get the audio output device info. Because these messages
10461                    will be triggered by LSCP commands issued by other clients rather than real
10462                    time events happening on the server, it is believed that an empty notification
10463                    message is sufficient here.
10464    </p>
10465    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10466    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10467    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10468    Number of MIDI input devices changed</h3>
10469    
10470    <p>Client may want to be notified when the total number of MIDI input devices on the
10471                    back-end changes by issuing the following command:
10472    </p>
10473    <p>
10474                        </p>
10475    <blockquote class="text">
10476    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10477    </p>
10478    </blockquote><p>
10479                    
10480    </p>
10481    <p>Server will start sending the following notification messages:
10482    </p>
10483    <p>
10484                        </p>
10485    <blockquote class="text">
10486    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10487    </p>
10488    </blockquote><p>
10489                    
10490    </p>
10491    <p>where &lt;devices&gt; will be replaced by the new number
10492                    of MIDI input devices.
10493    </p>
10494    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10495    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10496    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10497    MIDI input device's settings changed</h3>
10498    
10499    <p>Client may want to be notified when changes were made to MIDI input devices on the
10500                    back-end by issuing the following command:
10501    </p>
10502    <p>
10503                        </p>
10504    <blockquote class="text">
10505    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10506    </p>
10507    </blockquote><p>
10508                    
10509    </p>
10510    <p>Server will start sending the following notification messages:
10511    </p>
10512    <p>
10513                        </p>
10514    <blockquote class="text">
10515    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10516    </p>
10517    </blockquote><p>
10518                    
10519    </p>
10520    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10521                    which settings has been changed. The front-end will have to send
10522                    the respective command to actually get the MIDI input device info. Because these messages
10523                    will be triggered by LSCP commands issued by other clients rather than real
10524                    time events happening on the server, it is believed that an empty notification
10525                    message is sufficient here.
10526    </p>
10527    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10528    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10529    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10530    Number of sampler channels changed</h3>
10531    
10532  <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
10533                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5728  Intellectual Property and Copyright Stat Line 10554  Intellectual Property and Copyright Stat
10554                  of sampler channels.                  of sampler channels.
10555  </p>  </p>
10556  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10557  <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>
10558  <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;
10559    Number of active voices changed</h3>
10560    
10561  <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
10562                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5747  Intellectual Property and Copyright Stat Line 10574  Intellectual Property and Copyright Stat
10574  <p>  <p>
10575                      </p>                      </p>
10576  <blockquote class="text">  <blockquote class="text">
10577  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10578  </p>  </p>
10579  </blockquote><p>  </blockquote><p>
10580                                    
# Line 5757  Intellectual Property and Copyright Stat Line 10584  Intellectual Property and Copyright Stat
10584                  active voices on that channel.                  active voices on that channel.
10585  </p>  </p>
10586  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10587  <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>
10588  <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;
10589    Number of active disk streams changed</h3>
10590    
10591  <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
10592                  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 10614  Intellectual Property and Copyright Stat
10614                  active disk streams on that channel.                  active disk streams on that channel.
10615  </p>  </p>
10616  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10617  <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>
10618  <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;
10619    Disk stream buffer fill state changed</h3>
10620    
10621  <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
10622                  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 10641  Intellectual Property and Copyright Stat
10641  </p>  </p>
10642  <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
10643                  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
10644                  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>
10645                  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.
10646  </p>  </p>
10647  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
10648  <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>
10649  <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;
10650    Channel information changed</h3>
10651    
10652  <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
10653                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 5847  Intellectual Property and Copyright Stat Line 10677  Intellectual Property and Copyright Stat
10677                  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
10678                  message is sufficient here.                  message is sufficient here.
10679  </p>  </p>
10680    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
10681    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10682    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
10683    Number of effect sends changed</h3>
10684    
10685    <p>Client may want to be notified when the number of effect sends on
10686                    a particular sampler channel is changed by issuing the following command:
10687    </p>
10688    <p>
10689                        </p>
10690    <blockquote class="text">
10691    <p>SUBSCRIBE FX_SEND_COUNT
10692    </p>
10693    </blockquote><p>
10694                    
10695    </p>
10696    <p>Server will start sending the following notification messages:
10697    </p>
10698    <p>
10699                        </p>
10700    <blockquote class="text">
10701    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
10702    </p>
10703    </blockquote><p>
10704                    
10705    </p>
10706    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10707                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
10708                    be replaced by the new number of effect sends on that channel.
10709    </p>
10710    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
10711    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10712    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
10713    Effect send information changed</h3>
10714    
10715    <p>Client may want to be notified when changes were made to effect sends on a
10716                    a particular sampler channel by issuing the following command:
10717    </p>
10718    <p>
10719                        </p>
10720    <blockquote class="text">
10721    <p>SUBSCRIBE FX_SEND_INFO
10722    </p>
10723    </blockquote><p>
10724                    
10725    </p>
10726    <p>Server will start sending the following notification messages:
10727    </p>
10728    <p>
10729                        </p>
10730    <blockquote class="text">
10731    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
10732    </p>
10733    </blockquote><p>
10734                    
10735    </p>
10736    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
10737                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
10738                    be replaced by the numerical ID of the changed effect send.
10739    </p>
10740  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
10741  <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>
10742  <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;
10743    Total number of active voices changed</h3>
10744    
10745  <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
10746                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5867  Intellectual Property and Copyright Stat Line 10758  Intellectual Property and Copyright Stat
10758  <p>  <p>
10759                      </p>                      </p>
10760  <blockquote class="text">  <blockquote class="text">
10761  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
10762  </p>  </p>
10763  </blockquote><p>  </blockquote><p>
10764                                    
# Line 5875  Intellectual Property and Copyright Stat Line 10766  Intellectual Property and Copyright Stat
10766  <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
10767                  all currently active voices.                  all currently active voices.
10768  </p>  </p>
10769    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
10770    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10771    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
10772    Number of MIDI instrument maps changed</h3>
10773    
10774    <p>Client may want to be notified when the number of MIDI instrument maps on the
10775                    back-end changes by issuing the following command:
10776    </p>
10777    <p>
10778                        </p>
10779    <blockquote class="text">
10780    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
10781    </p>
10782    </blockquote><p>
10783                    
10784    </p>
10785    <p>Server will start sending the following notification messages:
10786    </p>
10787    <p>
10788                        </p>
10789    <blockquote class="text">
10790    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
10791    </p>
10792    </blockquote><p>
10793                    
10794    </p>
10795    <p>where &lt;maps&gt; will be replaced by the new number
10796                    of MIDI instrument maps.
10797    </p>
10798    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
10799    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10800    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
10801    MIDI instrument map information changed</h3>
10802    
10803    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
10804                    back-end by issuing the following command:
10805    </p>
10806    <p>
10807                        </p>
10808    <blockquote class="text">
10809    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
10810    </p>
10811    </blockquote><p>
10812                    
10813    </p>
10814    <p>Server will start sending the following notification messages:
10815    </p>
10816    <p>
10817                        </p>
10818    <blockquote class="text">
10819    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
10820    </p>
10821    </blockquote><p>
10822                    
10823    </p>
10824    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10825                    for which information changes occurred. The front-end will have to send
10826                    the respective command to actually get the MIDI instrument map info. Because these messages
10827                    will be triggered by LSCP commands issued by other clients rather than real
10828                    time events happening on the server, it is believed that an empty notification
10829                    message is sufficient here.
10830    </p>
10831    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
10832    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10833    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
10834    Number of MIDI instruments changed</h3>
10835    
10836    <p>Client may want to be notified when the number of MIDI instrument maps on the
10837                    back-end changes by issuing the following command:
10838    </p>
10839    <p>
10840                        </p>
10841    <blockquote class="text">
10842    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
10843    </p>
10844    </blockquote><p>
10845                    
10846    </p>
10847    <p>Server will start sending the following notification messages:
10848    </p>
10849    <p>
10850                        </p>
10851    <blockquote class="text">
10852    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
10853    </p>
10854    </blockquote><p>
10855                    
10856    </p>
10857    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
10858                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
10859                    the new number of MIDI instruments in the specified map.
10860    </p>
10861    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
10862    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10863    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
10864    MIDI instrument information changed</h3>
10865    
10866    <p>Client may want to be notified when changes were made to MIDI instruments on the
10867                    back-end by issuing the following command:
10868    </p>
10869    <p>
10870                        </p>
10871    <blockquote class="text">
10872    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
10873    </p>
10874    </blockquote><p>
10875                    
10876    </p>
10877    <p>Server will start sending the following notification messages:
10878    </p>
10879    <p>
10880                        </p>
10881    <blockquote class="text">
10882    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
10883    </p>
10884    </blockquote><p>
10885                    
10886    </p>
10887    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
10888                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
10889                    the location of the changed MIDI instrument in the map. The front-end will have to send
10890                    the respective command to actually get the MIDI instrument info. Because these messages
10891                    will be triggered by LSCP commands issued by other clients rather than real
10892                    time events happening on the server, it is believed that an empty notification
10893                    message is sufficient here.
10894    </p>
10895    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
10896    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10897    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
10898    Global settings changed</h3>
10899    
10900    <p>Client may want to be notified when changes to the global settings
10901                    of the sampler were made by issuing the following command:
10902    </p>
10903    <p>
10904                        </p>
10905    <blockquote class="text">
10906    <p>SUBSCRIBE GLOBAL_INFO
10907    </p>
10908    </blockquote><p>
10909                    
10910    </p>
10911    <p>Server will start sending the following types of notification messages:
10912    </p>
10913    <p>
10914                        </p>
10915    <blockquote class="text">
10916    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
10917                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
10918                            replaced by the optional dotted floating point value, reflecting the
10919                            new global volume parameter.
10920    </p>
10921    </blockquote><p>
10922                    
10923    </p>
10924    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
10925    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10926    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
10927    Number of database instrument directories changed</h3>
10928    
10929    <p>Client may want to be notified when the number of instrument
10930                    directories in a particular directory in the instruments database
10931                    is changed by issuing the following command:
10932    </p>
10933    <p>
10934                        </p>
10935    <blockquote class="text">
10936    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
10937    </p>
10938    </blockquote><p>
10939                    
10940    </p>
10941    <p>Server will start sending the following notification messages:
10942    </p>
10943    <p>
10944                        </p>
10945    <blockquote class="text">
10946    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
10947    </p>
10948    </blockquote><p>
10949                    
10950    </p>
10951    <p>where &lt;dir-path&gt; will be replaced by the absolute path
10952                    name of the directory in the instruments database,
10953                    in which the number of directories is changed.
10954    </p>
10955    <p>Note that when a non-empty directory is removed, this event
10956                    is not sent for the subdirectories in that directory.
10957    </p>
10958    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
10959    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10960    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
10961    Database instrument directory information changed</h3>
10962    
10963    <p>Client may want to be notified when changes were made to directories
10964                    in the instruments database by issuing the following command:
10965    </p>
10966    <p>
10967                        </p>
10968    <blockquote class="text">
10969    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
10970    </p>
10971    </blockquote><p>
10972                    
10973    </p>
10974    <p>Server will start sending the following notification messages:
10975    </p>
10976    <p>
10977                        </p>
10978    <blockquote class="text">
10979    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
10980    </p>
10981    </blockquote><p>
10982                    
10983    </p>
10984    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
10985                    of the directory, for which information changes occurred. The front-end will have to send
10986                    the respective command to actually get the updated directory info. Because these messages
10987                    will be triggered by LSCP commands issued by other clients rather than real
10988                    time events happening on the server, it is believed that an empty notification
10989                    message is sufficient here.
10990    </p>
10991    <p>
10992                        </p>
10993    <blockquote class="text">
10994    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
10995    </p>
10996    </blockquote><p>
10997                    
10998    </p>
10999    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11000                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11001                    the new name of the directory, encapsulated into apostrophes.
11002    </p>
11003    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11004    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11005    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11006    Number of database instruments changed</h3>
11007    
11008    <p>Client may want to be notified when the number of instruments
11009                    in a particular directory in the instruments database
11010                    is changed by issuing the following command:
11011    </p>
11012    <p>
11013                        </p>
11014    <blockquote class="text">
11015    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11016    </p>
11017    </blockquote><p>
11018                    
11019    </p>
11020    <p>Server will start sending the following notification messages:
11021    </p>
11022    <p>
11023                        </p>
11024    <blockquote class="text">
11025    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11026    </p>
11027    </blockquote><p>
11028                    
11029    </p>
11030    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11031                    name of the directory in the instruments database,
11032                    in which the number of instruments is changed.
11033    </p>
11034    <p>Note that when a non-empty directory is removed, this event
11035                    is not sent for the instruments in that directory.
11036    </p>
11037    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11038    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11039    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11040    Database instrument information changed</h3>
11041    
11042    <p>Client may want to be notified when changes were made to instruments
11043                    in the instruments database by issuing the following command:
11044    </p>
11045    <p>
11046                        </p>
11047    <blockquote class="text">
11048    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11049    </p>
11050    </blockquote><p>
11051                    
11052    </p>
11053    <p>Server will start sending the following notification messages:
11054    </p>
11055    <p>
11056                        </p>
11057    <blockquote class="text">
11058    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11059    </p>
11060    </blockquote><p>
11061                    
11062    </p>
11063    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11064                    of the instrument, which settings are changed. The front-end will have to send
11065                    the respective command to actually get the updated directory info. Because these messages
11066                    will be triggered by LSCP commands issued by other clients rather than real
11067                    time events happening on the server, it is believed that an empty notification
11068                    message is sufficient here.
11069    </p>
11070    <p>
11071                        </p>
11072    <blockquote class="text">
11073    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11074    </p>
11075    </blockquote><p>
11076                    
11077    </p>
11078    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11079                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11080                    the new name of the instrument, encapsulated into apostrophes.
11081    </p>
11082    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11083    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11084    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11085    Database job status information changed</h3>
11086    
11087    <p>Client may want to be notified when the status of particular database
11088                    instruments job is changed by issuing the following command:
11089    </p>
11090    <p>
11091                        </p>
11092    <blockquote class="text">
11093    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11094    </p>
11095    </blockquote><p>
11096                    
11097    </p>
11098    <p>Server will start sending the following notification messages:
11099    </p>
11100    <p>
11101                        </p>
11102    <blockquote class="text">
11103    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11104    </p>
11105    </blockquote><p>
11106                    
11107    </p>
11108    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11109                    which status is changed. The front-end will have to send the respective
11110                    command to actually get the status info. Because these messages
11111                    will be triggered by LSCP commands issued by other clients rather than real
11112                    time events happening on the server, it is believed that an empty notification
11113                    message is sufficient here.
11114    </p>
11115  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11116  <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>
11117  <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;
11118    Miscellaneous and debugging events</h3>
11119    
11120  <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
11121                  the server by issuing the following command:                  the server by issuing the following command:
# Line 5905  Intellectual Property and Copyright Stat Line 11143  Intellectual Property and Copyright Stat
11143                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11144  </p>  </p>
11145  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11146  <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>
11147  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11148    Security Considerations</h3>
11149    
11150  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11151              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 11153  Intellectual Property and Copyright Stat
11153              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11154  </p>  </p>
11155  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11156  <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>
11157  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11158    Acknowledgments</h3>
11159    
11160  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11161              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 11176  Intellectual Property and Copyright Stat
11176                            
11177  </p>  </p>
11178  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11179  <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>
11180  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11181  <table width="99%" border="0">  <table width="99%" border="0">
11182    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11183    <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>
11184  <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>
11185  <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>
11186  <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 11190  Intellectual Property and Copyright Stat
11190  </table>  </table>
11191    
11192  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11193  <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>
11194  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11195  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11196  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 5966  Schoenebeck</td></tr> Line 11208  Schoenebeck</td></tr>
11208  <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>
11209  </table>  </table>
11210  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11211  <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>
11212  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11213  <p class='copyright'>  <p class='copyright'>
11214  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>  
11215  <p class='copyright'>  <p class='copyright'>
11216  The IETF invites any interested party to bring to its  This document is subject to the rights,
11217  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11218  other proprietary rights which may cover technology that may be  and except as set forth therein,
11219  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>  
11220  <p class='copyright'>  <p class='copyright'>
11221  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  This document and the information contained herein are provided
11222    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11223    THE ORGANIZATION HE/SHE REPRESENTS
11224    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11225    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11226    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11227    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11228    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11229    PURPOSE.</p>
11230    <h3>Intellectual Property</h3>
11231  <p class='copyright'>  <p class='copyright'>
11232  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11233  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11234  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11235  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11236  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11237  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11238  document itself may not be modified in any way, such as by removing  such rights.
11239  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11240  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>  
11241  <p class='copyright'>  <p class='copyright'>
11242  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11243  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11244    or the result of an attempt made to obtain a general license or
11245    permission for the use of such proprietary rights by implementers or
11246    users of this specification can be obtained from the IETF on-line IPR
11247    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11248  <p class='copyright'>  <p class='copyright'>
11249  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11250  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11251  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11252  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11253  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11254  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11255    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11256  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11257  <p class='copyright'>  <p class='copyright'>
11258  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11259  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11260  </body></html>  </body></html>
11261    

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

  ViewVC Help
Powered by ViewVC