/[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 1572 by schoenebeck, Fri Dec 7 01:07:11 2007 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.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;
         display:block;  
         position:absolute;  
         font-size: smaller ;  
         top:2em; left:2em; width:15em;  
         padding: 2px ;  
         border:1px solid #333333;  
         background-color:#eeeeee; color:#990000;  
         text-align: left ;}  
   
      A { font-weight: bold; }  
      A:link { color: #990000; background-color: transparent ; }  
      A:visited { color: #333333; background-color: transparent ; }  
      A:active { color: #333333; background-color: transparent ; }  
   
     p { margin-left: 2em; margin-right: 2em; }  
     p.copyright { font-size: x-small ; }  
     p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}  
     table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }  
     td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }  
   
     span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }  
     span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }  
     span.vdeluxe { font-weight: bold; font-style: italic; font-family: "Courier New", Courier, monospace ; }  
   
     ol.text { margin-left: 2em; margin-right: 2em; }  
     ul.text { margin-left: 2em; margin-right: 2em; }  
     li { margin-left: 3em;  }  
   
     pre { margin-left: 3em; color: #333333;  background-color: transparent;  
         font-family: "Courier New", Courier, monospace ; font-size: small ;  
         text-align: left;  
44          }          }
45    
46      h3 { color: #333333; font-size: medium ;          td.header {
47          font-family: helvetica, arial, sans-serif ;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48          background-color: transparent; }                  vertical-align: top; width: 33%;
49      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #FFF; background-color: #666;
50            }
51      table.bug { width: 30px ; height: 15px ; }          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52      td.bug { color: #ffffff ; background-color: #990000 ;          td.author-text { font-size: x-small; }
53          text-align: center ; width: 30px ; height: 15px ;  
54           }          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55      td.bug A.link2 { color: #ffffff ; font-weight: bold;          a.info {
56          text-decoration: none;                  /* This is the key. */
57          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;                  position: relative;
58          font-size: x-small ; background-color: transparent }                  z-index: 24;
59                    text-decoration: none;
60      td.header { color: #ffffff; font-size: x-small ;          }
61          font-family: arial, helvetica, sans-serif; vertical-align: top;          a.info:hover {
62          background-color: #666666 ; width: 33% ; }                  z-index: 25;
63      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }                  color: #FFF; background-color: #900;
64      td.author-text { font-size: x-small; }          }
65      table.full { vertical-align: top ; border-collapse: collapse ;          a.info span { display: none; }
66          border-style: solid solid solid solid ;          a.info:hover span.info {
67          border-color: black black black black ;                  /* The span will display just on :hover state. */
68          font-size: small ; text-align: center ; }                  display: block;
69      table.headers, table.none { vertical-align: top ; border-collapse: collapse ;                  position: absolute;
70          border-style: none;                  font-size: smaller;
71          font-size: small ; text-align: center ; }                  top: 2em; left: -5em; width: 15em;
72      table.full th { font-weight: bold ;                  padding: 2px; border: 1px solid #333;
73          border-style: solid ;                  color: #900; background-color: #EEE;
74          border-color: black black black black ; }                  text-align: left;
75      table.headers th { font-weight: bold ;          }
76          border-style: none none solid none;  
77          border-color: black black black black ; }          a { font-weight: bold; }
78      table.none th { font-weight: bold ;          a:link    { color: #900; background-color: transparent; }
79          border-style: none; }          a:visited { color: #633; background-color: transparent; }
80      table.full td {          a:active  { color: #633; background-color: transparent; }
81          border-style: solid solid solid solid ;  
82          border-color: #333333 #333333 #333333 #333333 ; }          p { margin-left: 2em; margin-right: 2em; }
83      table.headers td, table.none td { border-style: none; }          p.copyright { font-size: x-small; }
84            p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85      hr { height: 1px }          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86  -->          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87  </style>  
88            ol.text { margin-left: 2em; margin-right: 2em; }
89            ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91    
92            /* RFC-2629 <spanx>s and <artwork>s. */
93            em     { font-style: italic; }
94            strong { font-weight: bold; }
95            dfn    { font-weight: bold; font-style: normal; }
96            cite   { font-weight: normal; font-style: normal; }
97            tt     { color: #036; }
98            tt, pre, pre dfn, pre em, pre cite, pre span {
99                    font-family: "Courier New", Courier, monospace; font-size: small;
100            }
101            pre {
102                    text-align: left; padding: 4px;
103                    color: #000; background-color: #CCC;
104            }
105            pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107            pre .key { color: #33C; font-weight: bold; }
108            pre .id  { color: #900; }
109            pre .str { color: #000; background-color: #CFF; }
110            pre .val { color: #066; }
111            pre .rep { color: #909; }
112            pre .oth { color: #000; background-color: #FCF; }
113            pre .err { background-color: #FCC; }
114    
115            /* RFC-2629 <texttable>s. */
116            table.all, table.full, table.headers, table.none {
117                    font-size: small; text-align: center; border-width: 2px;
118                    vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></style>
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: 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: June 7, 2008</td><td class="header">December 5, 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<br />LSCP 1.3</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 June 7, 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 314  Global commands<br /> Line 354  Global commands<br />
354  Current number of active voices<br />  Current number of active voices<br />
355  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_VOICE_COUNT_MAX">6.6.2.</a>&nbsp;
356  Maximum amount of active voices<br />  Maximum amount of active voices<br />
357  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET TOTAL_STREAM_COUNT">6.6.3.</a>&nbsp;
358    Current number of active disk streams<br />
359    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
360  Reset sampler<br />  Reset sampler<br />
361  &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.5.</a>&nbsp;
362  General sampler informations<br />  General sampler informations<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
364    Getting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
366    Setting global volume attenuation<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
368    MIDI Instrument Mapping<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
370    Create a new MIDI instrument map<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
372    Delete one particular or all MIDI instrument maps<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
374    Get amount of existing MIDI instrument maps<br />
375    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
376    Getting all created MIDI instrument maps<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
378    Getting MIDI instrument map information<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
380    Renaming a MIDI instrument map<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
382    Create or replace a MIDI instrument map entry<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
384    Getting ammount of MIDI instrument map entries<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
386    Getting indeces of all entries of a MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
388    Remove an entry from the MIDI instrument map<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
390    Get current settings of MIDI instrument map entry<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
392    Clear MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
394    Managing Instruments Database<br />
395    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
396    Creating a new instrument directory<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
398    Deleting an instrument directory<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
400    Getting amount of instrument directories<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
402    Listing all directories in specific directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
404    Getting instrument directory information<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
406    Renaming an instrument directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
408    Moving an instrument directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
410    Copying instrument directories<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
412    Changing the description of directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
414    Finding directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
416    Adding instruments to the instruments database<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
418    Removing an instrument<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
420    Getting amount of instruments<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
422    Listing all instruments in specific directory<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
424    Getting instrument information<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
426    Renaming an instrument<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
428    Moving an instrument<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
430    Copying instruments<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
432    Changing the description of instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
434    Finding instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
436    Getting job status information<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
438    Formatting the instruments database<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
440    Editing Instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
442    Opening an appropriate instrument editor application<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
444    Managing Files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
446    Retrieving amount of instruments of a file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
448    Retrieving all instruments of a file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
450    Retrieving informations about one instrument in a file<br />
451  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
452  Command Syntax<br />  Command Syntax<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
454    Character Set and Escape Sequences<br />
455  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
456  Events<br />  Events<br />
457  &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;
458    Number of audio output devices changed<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
460    Audio output device's settings changed<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
462    Number of MIDI input devices changed<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
464    MIDI input device's settings changed<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
466  Number of sampler channels changed<br />  Number of sampler channels changed<br />
467  &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;
468  Number of active voices changed<br />  Number of active voices changed<br />
469  &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;
470  Number of active disk streams changed<br />  Number of active disk streams changed<br />
471  &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;
472  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
473  &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;
474  Channel information changed<br />  Channel information changed<br />
475  &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;
476    Number of effect sends changed<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.11.</a>&nbsp;
478    Effect send information changed<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.12.</a>&nbsp;
480  Total number of active voices changed<br />  Total number of active voices changed<br />
481  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.13.</a>&nbsp;
482    Total number of active disk streams changed<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.14.</a>&nbsp;
484    Number of MIDI instrument maps changed<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.15.</a>&nbsp;
486    MIDI instrument map information changed<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.16.</a>&nbsp;
488    Number of MIDI instruments changed<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.17.</a>&nbsp;
490    MIDI instrument information changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.18.</a>&nbsp;
492    Global settings changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.19.</a>&nbsp;
494    Number of database instrument directories changed<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.20.</a>&nbsp;
496    Database instrument directory information changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.21.</a>&nbsp;
498    Number of database instruments changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.22.</a>&nbsp;
500    Database instrument information changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.23.</a>&nbsp;
502    Database job status information changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.24.</a>&nbsp;
504  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
505  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
506  Security Considerations<br />  Security Considerations<br />
# Line 350  Intellectual Property and Copyright Stat Line 516  Intellectual Property and Copyright Stat
516  <br clear="all" />  <br clear="all" />
517    
518  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
519  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
520  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
521    Requirements notation</h3>
522    
523  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
524              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
525              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
526              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>.
527  </p>  </p>
528  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
529              claimed the opposite.              claimed the opposite.
# Line 365  Intellectual Property and Copyright Stat Line 532  Intellectual Property and Copyright Stat
532              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
533              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
534              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
535              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>),
536              example:              thus the following example:
537  </p>  </p>
538  <p>  <p>
539                  </p>                  </p>
# Line 432  Intellectual Property and Copyright Stat Line 599  Intellectual Property and Copyright Stat
599              return and line feed characters respectively.              return and line feed characters respectively.
600  </p>  </p>
601  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
602  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
603  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
604    Versioning of this specification</h3>
605    
606  <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
607              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 644  Intellectual Property and Copyright Stat
644  <p>  <p>
645              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
646              The frontend can use the              The frontend can use the
647              <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
648              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
649                            
650  </p>  </p>
651  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
652  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
653  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
654    Introduction</h3>
655    
656  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
657              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 671  Intellectual Property and Copyright Stat
671              there.              there.
672  </p>  </p>
673  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
674  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
675  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
676    Focus of this protocol</h3>
677    
678  <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
679              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 514  Intellectual Property and Copyright Stat Line 684  Intellectual Property and Copyright Stat
684              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
685  </p>  </p>
686  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
687  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
688  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
689    Communication Overview</h3>
690    
691  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
692              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 700  Intellectual Property and Copyright Stat
700              methods will be described next.              methods will be described next.
701  </p>  </p>
702  <a name="anchor5"></a><br /><hr />  <a name="anchor5"></a><br /><hr />
703  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
704  <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;
705    Request/response communication method</h3>
706    
707  <p>This simple communication method is based on  <p>This simple communication method is based on
708                  <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
709                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
710                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
711                  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 746  Intellectual Property and Copyright Stat
746                  MUST be sent back in the same order.                  MUST be sent back in the same order.
747  </p>  </p>
748  <a name="anchor6"></a><br /><hr />  <a name="anchor6"></a><br /><hr />
749  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
750  <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;
751    Result format</h3>
752    
753  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
754  </p>  </p>
# Line 766  Intellectual Property and Copyright Stat Line 939  Intellectual Property and Copyright Stat
939                                            
940  </p>  </p>
941  <a name="anchor7"></a><br /><hr />  <a name="anchor7"></a><br /><hr />
942  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
943  <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;
944    Subscribe/notify communication method</h3>
945    
946  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
947                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 844  Intellectual Property and Copyright Stat Line 1018  Intellectual Property and Copyright Stat
1018  </p>  </p>
1019  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1020                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1021                  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>.
1022  </p>  </p>
1023  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1024                  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 1064  Intellectual Property and Copyright Stat
1064                  it wants to receive.                  it wants to receive.
1065  </p>  </p>
1066  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></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"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1069    Description for control commands</h3>
1070    
1071  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1072              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1073              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>
1074              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
1075              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1076              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1077  </p>  </p>
1078  <a name="anchor8"></a><br /><hr />  <a name="anchor8"></a><br /><hr />
1079  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1080  <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;
1081    Ignored lines and comments</h3>
1082    
1083  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1084                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 911  Intellectual Property and Copyright Stat Line 1087  Intellectual Property and Copyright Stat
1087                  file.                  file.
1088  </p>  </p>
1089  <a name="anchor9"></a><br /><hr />  <a name="anchor9"></a><br /><hr />
1090  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1091  <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;
1092    Configuring audio drivers</h3>
1093    
1094  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1095                  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 1123  Intellectual Property and Copyright Stat
1123                  possible values, etc.                  possible values, etc.
1124  </p>  </p>
1125  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1126  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1127  <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;
1128    Getting amount of available audio output drivers</h3>
1129    
1130  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1131                      audio output drivers currently available for the                      audio output drivers currently available for the
# Line 985  Intellectual Property and Copyright Stat Line 1163  Intellectual Property and Copyright Stat
1163                                            
1164  </p>  </p>
1165  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1166  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1167  <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;
1168    Getting all available audio output drivers</h3>
1169    
1170  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1171                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
# Line 1025  Intellectual Property and Copyright Stat Line 1204  Intellectual Property and Copyright Stat
1204                                            
1205  </p>  </p>
1206  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1207  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1208  <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;
1209    Getting information about a specific audio
1210                  output driver</h3>                  output driver</h3>
1211    
1212  <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 1223  Intellectual Property and Copyright Stat
1223  </p>  </p>
1224  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1225                      audio output driver, returned by the                      audio output driver, returned by the
1226                      <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.
1227  </p>  </p>
1228  <p>Possible Answers:  <p>Possible Answers:
1229  </p>  </p>
# Line 1124  Intellectual Property and Copyright Stat Line 1304  Intellectual Property and Copyright Stat
1304                                            
1305  </p>  </p>
1306  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1307  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1308  <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;
1309    Getting information about specific audio
1310                  output driver parameter</h3>                  output driver parameter</h3>
1311    
1312  <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 1321  Intellectual Property and Copyright Stat
1321                                            
1322  </p>  </p>
1323  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1324                      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,
1325                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1326                      obtained (as returned by the                      obtained (as returned by the
1327                      <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
1328                      &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
1329                      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
1330                      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 1381  Intellectual Property and Copyright Stat
1381  <blockquote class="text">  <blockquote class="text">
1382  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1383                                  given when the device is to be created with the                                  given when the device is to be created with the
1384                                  <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>
1385                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1386  </p>  </p>
1387  </blockquote>  </blockquote>
# Line 1211  Intellectual Property and Copyright Stat Line 1392  Intellectual Property and Copyright Stat
1392  <blockquote class="text">  <blockquote class="text">
1393  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1394                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1395                                  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>
1396                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1397  </p>  </p>
1398  </blockquote>  </blockquote>
# Line 1250  Intellectual Property and Copyright Stat Line 1431  Intellectual Property and Copyright Stat
1431  <blockquote class="text">  <blockquote class="text">
1432  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1433                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1434                                  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,
1435                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1436                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1437                                  apostrophes (')                                  apostrophes (')
# Line 1378  Intellectual Property and Copyright Stat Line 1559  Intellectual Property and Copyright Stat
1559                                            
1560  </p>  </p>
1561  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1562  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1563  <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;
1564    Creating an audio output device</h3>
1565    
1566  <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:
1567  </p>  </p>
# Line 1393  Intellectual Property and Copyright Stat Line 1575  Intellectual Property and Copyright Stat
1575  </p>  </p>
1576  <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
1577                      output system as returned by the                      output system as returned by the
1578                      <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>
1579                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1580                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1581                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1462  Intellectual Property and Copyright Stat Line 1644  Intellectual Property and Copyright Stat
1644                                            
1645  </p>  </p>
1646  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1647  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1648  <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;
1649    Destroying an audio output device</h3>
1650    
1651  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1652  </p>  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1660  Intellectual Property and Copyright Stat
1660  </p>  </p>
1661  <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
1662                      audio output device as given by the                      audio output device as given by the
1663                      <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>
1664                      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>
1665                      command.                      command.
1666  </p>  </p>
1667  <p>Possible Answers:  <p>Possible Answers:
# Line 1531  Intellectual Property and Copyright Stat Line 1714  Intellectual Property and Copyright Stat
1714                                            
1715  </p>  </p>
1716  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1717  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1718  <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;
1719    Getting all created audio output device count</h3>
1720    
1721  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1722  </p>  </p>
# Line 1568  Intellectual Property and Copyright Stat Line 1752  Intellectual Property and Copyright Stat
1752                                            
1753  </p>  </p>
1754  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1755  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1756  <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;
1757    Getting all created audio output device list</h3>
1758    
1759  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1760  </p>  </p>
# Line 1605  Intellectual Property and Copyright Stat Line 1790  Intellectual Property and Copyright Stat
1790                                            
1791  </p>  </p>
1792  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1793  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1794  <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;
1795    Getting current settings of an audio output device</h3>
1796    
1797  <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:
1798  </p>  </p>
# Line 1620  Intellectual Property and Copyright Stat Line 1806  Intellectual Property and Copyright Stat
1806  </p>  </p>
1807  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1808                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1809                      <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.
1810  </p>  </p>
1811  <p>Possible Answers:  <p>Possible Answers:
1812  </p>  </p>
# Line 1640  Intellectual Property and Copyright Stat Line 1826  Intellectual Property and Copyright Stat
1826  <blockquote class="text">  <blockquote class="text">
1827  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1828                                      returned by the                                      returned by the
1829                                      <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>
1830                                      command                                      command
1831  </p>  </p>
1832  </blockquote>  </blockquote>
# Line 1681  Intellectual Property and Copyright Stat Line 1867  Intellectual Property and Copyright Stat
1867                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1868                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1869                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1870                      <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>)
1871                      which are also returned by this command.                      which are also returned by this command.
1872  </p>  </p>
1873  <p>Example:  <p>Example:
# Line 1711  Intellectual Property and Copyright Stat Line 1897  Intellectual Property and Copyright Stat
1897                                            
1898  </p>  </p>
1899  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1900  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1901  <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;
1902    Changing settings of audio output devices</h3>
1903    
1904  <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:
1905  </p>  </p>
# Line 1726  Intellectual Property and Copyright Stat Line 1913  Intellectual Property and Copyright Stat
1913  </p>  </p>
1914  <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
1915                      audio output device as given by the                      audio output device as given by the
1916                      <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>
1917                      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>
1918                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1919                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1920  </p>  </p>
# Line 1779  Intellectual Property and Copyright Stat Line 1966  Intellectual Property and Copyright Stat
1966                                            
1967  </p>  </p>
1968  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1969  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1970  <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;
1971    Getting information about an audio channel</h3>
1972    
1973  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1974  </p>  </p>
# Line 1793  Intellectual Property and Copyright Stat Line 1981  Intellectual Property and Copyright Stat
1981                                            
1982  </p>  </p>
1983  <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
1984                      <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>
1985                      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>
1986                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
1987  </p>  </p>
1988  <p>Possible Answers:  <p>Possible Answers:
# Line 1921  Intellectual Property and Copyright Stat Line 2109  Intellectual Property and Copyright Stat
2109                                            
2110  </p>  </p>
2111  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2112  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2113  <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;
2114    Getting information about specific audio channel parameter</h3>
2115    
2116  <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:
2117  </p>  </p>
# Line 1935  Intellectual Property and Copyright Stat Line 2124  Intellectual Property and Copyright Stat
2124                                            
2125  </p>  </p>
2126  <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
2127                      <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>
2128                      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>
2129                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2130                      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
2131                      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).
2132  </p>  </p>
2133  <p>Possible Answers:  <p>Possible Answers:
2134  </p>  </p>
# Line 2067  Intellectual Property and Copyright Stat Line 2256  Intellectual Property and Copyright Stat
2256                                            
2257  </p>  </p>
2258  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2259  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2260  <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;
2261    Changing settings of audio output channels</h3>
2262    
2263  <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:
2264  </p>  </p>
# Line 2081  Intellectual Property and Copyright Stat Line 2271  Intellectual Property and Copyright Stat
2271                                            
2272  </p>  </p>
2273  <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
2274                      <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>
2275                      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>
2276                      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
2277                      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.
2278  </p>  </p>
# Line 2144  Intellectual Property and Copyright Stat Line 2334  Intellectual Property and Copyright Stat
2334                                            
2335  </p>  </p>
2336  <a name="anchor10"></a><br /><hr />  <a name="anchor10"></a><br /><hr />
2337  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2338  <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;
2339    Configuring MIDI input drivers</h3>
2340    
2341  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2342                  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 2365  Intellectual Property and Copyright Stat
2365                  possible values, etc.                  possible values, etc.
2366  </p>  </p>
2367  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2368  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2369  <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;
2370    Getting amount of available MIDI input drivers</h3>
2371    
2372  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2373                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
# Line 2213  Intellectual Property and Copyright Stat Line 2405  Intellectual Property and Copyright Stat
2405                                            
2406  </p>  </p>
2407  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2408  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2409  <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;
2410    Getting all available MIDI input drivers</h3>
2411    
2412  <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
2413                      for the LinuxSampler instance:                      for the LinuxSampler instance:
# Line 2251  Intellectual Property and Copyright Stat Line 2444  Intellectual Property and Copyright Stat
2444                                            
2445  </p>  </p>
2446  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2447  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2448  <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;
2449    Getting information about a specific MIDI input driver</h3>
2450    
2451  <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:
2452  </p>  </p>
# Line 2265  Intellectual Property and Copyright Stat Line 2459  Intellectual Property and Copyright Stat
2459                                            
2460  </p>  </p>
2461  <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
2462                      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.
2463  </p>  </p>
2464  <p>Possible Answers:  <p>Possible Answers:
2465  </p>  </p>
# Line 2332  Intellectual Property and Copyright Stat Line 2526  Intellectual Property and Copyright Stat
2526                                            
2527  </p>  </p>
2528  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2529  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2530  <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;
2531    Getting information about specific MIDI input driver parameter</h3>
2532    
2533  <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:
2534  </p>  </p>
# Line 2346  Intellectual Property and Copyright Stat Line 2541  Intellectual Property and Copyright Stat
2541                                            
2542  </p>  </p>
2543  <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
2544                      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
2545                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2546                      <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
2547                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2548                      &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 ...",
2549                      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 2590  Intellectual Property and Copyright Stat
2590  <blockquote class="text">  <blockquote class="text">
2591  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2592                                  given when the device is to be created with the                                  given when the device is to be created with the
2593                                  <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
2594                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2595  </p>  </p>
2596  </blockquote>  </blockquote>
# Line 2406  Intellectual Property and Copyright Stat Line 2601  Intellectual Property and Copyright Stat
2601  <blockquote class="text">  <blockquote class="text">
2602  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2603                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2604                                  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
2605                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2606  </p>  </p>
2607  </blockquote>  </blockquote>
# Line 2445  Intellectual Property and Copyright Stat Line 2640  Intellectual Property and Copyright Stat
2640  <blockquote class="text">  <blockquote class="text">
2641  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2642                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2643                                  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,
2644                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2645                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2646                                  apostrophes (')                                  apostrophes (')
# Line 2519  Intellectual Property and Copyright Stat Line 2714  Intellectual Property and Copyright Stat
2714                                            
2715  </p>  </p>
2716  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2717  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2718  <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;
2719    Creating a MIDI input device</h3>
2720    
2721  <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:
2722  </p>  </p>
# Line 2533  Intellectual Property and Copyright Stat Line 2729  Intellectual Property and Copyright Stat
2729                                            
2730  </p>  </p>
2731  <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
2732                      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
2733                      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
2734                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2735                      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 2785  Intellectual Property and Copyright Stat
2785                                            
2786  </p>  </p>
2787  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2788  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2789  <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;
2790    Destroying a MIDI input device</h3>
2791    
2792  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2793  </p>  </p>
# Line 2603  Intellectual Property and Copyright Stat Line 2800  Intellectual Property and Copyright Stat
2800                                            
2801  </p>  </p>
2802  <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
2803                      <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>
2804                      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>
2805                      command.                      command.
2806  </p>  </p>
2807  <p>Possible Answers:  <p>Possible Answers:
# Line 2654  Intellectual Property and Copyright Stat Line 2851  Intellectual Property and Copyright Stat
2851                                            
2852  </p>  </p>
2853  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2854  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2855  <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;
2856    Getting all created MIDI input device count</h3>
2857    
2858  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2859  </p>  </p>
# Line 2691  Intellectual Property and Copyright Stat Line 2889  Intellectual Property and Copyright Stat
2889                                            
2890  </p>  </p>
2891  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2892  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2893  <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;
2894    Getting all created MIDI input device list</h3>
2895    
2896  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2897  </p>  </p>
# Line 2738  Intellectual Property and Copyright Stat Line 2937  Intellectual Property and Copyright Stat
2937                                            
2938  </p>  </p>
2939  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2940  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2941  <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;
2942    Getting current settings of a MIDI input device</h3>
2943    
2944  <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:
2945  </p>  </p>
# Line 2752  Intellectual Property and Copyright Stat Line 2952  Intellectual Property and Copyright Stat
2952                                            
2953  </p>  </p>
2954  <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
2955                      <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>
2956                      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>
2957                      command.                      command.
2958  </p>  </p>
2959  <p>Possible Answers:  <p>Possible Answers:
# Line 2776  Intellectual Property and Copyright Stat Line 2976  Intellectual Property and Copyright Stat
2976                                          </p>                                          </p>
2977  <blockquote class="text">  <blockquote class="text">
2978  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2979                                              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>
2980                                              command                                              command
2981  </p>  </p>
2982  </blockquote>  </blockquote>
# Line 2806  Intellectual Property and Copyright Stat Line 3006  Intellectual Property and Copyright Stat
3006                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3007                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3008                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3009                      <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
3010                      by this command.                      by this command.
3011  </p>  </p>
3012  <p>Example:  <p>Example:
# Line 2826  Intellectual Property and Copyright Stat Line 3026  Intellectual Property and Copyright Stat
3026                                            
3027  </p>  </p>
3028  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3029  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3030  <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;
3031    Changing settings of MIDI input devices</h3>
3032    
3033  <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:
3034  </p>  </p>
# Line 2841  Intellectual Property and Copyright Stat Line 3042  Intellectual Property and Copyright Stat
3042  </p>  </p>
3043  <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
3044                      MIDI input device as returned by the                      MIDI input device as returned by the
3045                      <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>
3046                      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>
3047                      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
3048                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3049  </p>  </p>
# Line 2893  Intellectual Property and Copyright Stat Line 3094  Intellectual Property and Copyright Stat
3094                                            
3095  </p>  </p>
3096  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3097  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3098  <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;
3099    Getting information about a MIDI port</h3>
3100    
3101  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3102  </p>  </p>
# Line 2907  Intellectual Property and Copyright Stat Line 3109  Intellectual Property and Copyright Stat
3109                                            
3110  </p>  </p>
3111  <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
3112                      <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>
3113                      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>
3114                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3115  </p>  </p>
3116  <p>Possible Answers:  <p>Possible Answers:
# Line 2955  Intellectual Property and Copyright Stat Line 3157  Intellectual Property and Copyright Stat
3157                                            
3158  </p>  </p>
3159  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3160  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3161  <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;
3162    Getting information about specific MIDI port parameter</h3>
3163    
3164  <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:
3165  </p>  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3172  Intellectual Property and Copyright Stat
3172                                            
3173  </p>  </p>
3174  <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
3175                      <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>
3176                      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>
3177                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3178                      &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
3179                      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).
3180  </p>  </p>
3181  <p>Possible Answers:  <p>Possible Answers:
3182  </p>  </p>
# Line 3096  Intellectual Property and Copyright Stat Line 3299  Intellectual Property and Copyright Stat
3299                                            
3300  </p>  </p>
3301  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3302  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3303  <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;
3304    Changing settings of MIDI input ports</h3>
3305    
3306  <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:
3307  </p>  </p>
# Line 3111  Intellectual Property and Copyright Stat Line 3315  Intellectual Property and Copyright Stat
3315  </p>  </p>
3316  <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
3317                      MIDI device as returned by the                      MIDI device as returned by the
3318                      <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>
3319                      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>
3320                      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
3321                      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
3322                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3323                        for specifying no value for parameters allowing a list of values.
3324  </p>  </p>
3325  <p>Possible Answers:  <p>Possible Answers:
3326  </p>  </p>
# Line 3156  Intellectual Property and Copyright Stat Line 3361  Intellectual Property and Copyright Stat
3361  <p>  <p>
3362                          </p>                          </p>
3363  <blockquote class="text">  <blockquote class="text">
3364    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3365    </p>
3366    <p>S: "OK"
3367    </p>
3368    </blockquote><p>
3369                        
3370    </p>
3371  <p>  <p>
3372                            </p>
3373    <blockquote class="text">
3374    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3375    </p>
3376    <p>S: "OK"
3377  </p>  </p>
3378  </blockquote><p>  </blockquote><p>
3379                                            
3380  </p>  </p>
3381  <a name="anchor11"></a><br /><hr />  <a name="anchor11"></a><br /><hr />
3382  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3383  <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;
3384    Configuring sampler channels</h3>
3385    
3386  <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
3387                  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
3388                  MIDI and audio devices.                  MIDI and audio devices.
3389  </p>  </p>
3390  <a name="LOAD INSTRUMENT"></a><br /><hr />  <a name="LOAD INSTRUMENT"></a><br /><hr />
3391  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3392  <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;
3393    Loading an instrument</h3>
3394    
3395  <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:
3396  </p>  </p>
# Line 3189  Intellectual Property and Copyright Stat Line 3408  Intellectual Property and Copyright Stat
3408                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3409                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3410  </p>  </p>
3411    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3412                        escape characters for special characters (see chapter
3413                        "<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>"
3414                        for details) and accordingly backslash characters in the filename
3415                        MUST now be escaped as well!
3416    </p>
3417  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3418                      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
3419                      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
3420                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3421                      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>
3422                      command can be used to obtain loading                      command can be used to obtain loading
3423                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3424                      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 3236  Intellectual Property and Copyright Stat Line 3461  Intellectual Property and Copyright Stat
3461  </blockquote><p>  </blockquote><p>
3462                                            
3463  </p>  </p>
3464  <p>Example:  <p>Example (Unix):
3465  </p>  </p>
3466  <p>  <p>
3467                          </p>                          </p>
3468  <blockquote class="text">  <blockquote class="text">
3469    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3470    </p>
3471    <p>S: OK
3472    </p>
3473    </blockquote><p>
3474                        
3475    </p>
3476    <p>Example (Windows):
3477    </p>
3478  <p>  <p>
3479                            </p>
3480    <blockquote class="text">
3481    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3482    </p>
3483    <p>S: OK
3484  </p>  </p>
3485  </blockquote><p>  </blockquote><p>
3486                                            
3487  </p>  </p>
3488  <a name="LOAD ENGINE"></a><br /><hr />  <a name="LOAD ENGINE"></a><br /><hr />
3489  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3490  <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;
3491    Loading a sampler engine</h3>
3492    
3493  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3494                      channel by the following command:                      channel by the following command:
# Line 3262  Intellectual Property and Copyright Stat Line 3502  Intellectual Property and Copyright Stat
3502                                            
3503  </p>  </p>
3504  <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
3505                      <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;
3506                      the sampler channel as returned by the                      the sampler channel as returned by the
3507                      <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
3508                      <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
3509                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3510                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3511                      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 3561  Intellectual Property and Copyright Stat
3561                                            
3562  </p>  </p>
3563  <a name="GET CHANNELS"></a><br /><hr />  <a name="GET CHANNELS"></a><br /><hr />
3564  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3565  <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;
3566    Getting all created sampler channel count</h3>
3567    
3568  <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
3569                      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 3600  Intellectual Property and Copyright Stat
3600                                            
3601  </p>  </p>
3602  <a name="LIST CHANNELS"></a><br /><hr />  <a name="LIST CHANNELS"></a><br /><hr />
3603  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3604  <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;
3605    Getting all created sampler channel list</h3>
3606    
3607  <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
3608                      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 3640  Intellectual Property and Copyright Stat
3640                                            
3641  </p>  </p>
3642  <a name="ADD CHANNEL"></a><br /><hr />  <a name="ADD CHANNEL"></a><br /><hr />
3643  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3644  <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;
3645    Adding a new sampler channel</h3>
3646    
3647  <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
3648                      channel list by sending the following command:                      channel list by sending the following command:
# Line 3472  Intellectual Property and Copyright Stat Line 3715  Intellectual Property and Copyright Stat
3715                                            
3716  </p>  </p>
3717  <a name="REMOVE CHANNEL"></a><br /><hr />  <a name="REMOVE CHANNEL"></a><br /><hr />
3718  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3719  <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;
3720    Removing a sampler channel</h3>
3721    
3722  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3723  </p>  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 3731  Intellectual Property and Copyright Stat
3731  </p>  </p>
3732  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3733                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3734                      <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>
3735                      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>
3736                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3737                      remain the same.                      remain the same.
3738  </p>  </p>
# Line 3538  Intellectual Property and Copyright Stat Line 3782  Intellectual Property and Copyright Stat
3782                                            
3783  </p>  </p>
3784  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3785  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3786  <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;
3787    Getting amount of available engines</h3>
3788    
3789  <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:
3790  </p>  </p>
# Line 3574  Intellectual Property and Copyright Stat Line 3819  Intellectual Property and Copyright Stat
3819                                            
3820  </p>  </p>
3821  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3822  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3823  <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;
3824    Getting all available engines</h3>
3825    
3826  <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:
3827  </p>  </p>
# Line 3613  Intellectual Property and Copyright Stat Line 3859  Intellectual Property and Copyright Stat
3859                                            
3860  </p>  </p>
3861  <a name="GET ENGINE INFO"></a><br /><hr />  <a name="GET ENGINE INFO"></a><br /><hr />
3862  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3863  <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;
3864    Getting information about an engine</h3>
3865    
3866  <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
3867                      sending the following command:                      sending the following command:
# Line 3628  Intellectual Property and Copyright Stat Line 3875  Intellectual Property and Copyright Stat
3875                                            
3876  </p>  </p>
3877  <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
3878                      <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.
3879  </p>  </p>
3880  <p>Possible Answers:  <p>Possible Answers:
3881  </p>  </p>
# Line 3648  Intellectual Property and Copyright Stat Line 3895  Intellectual Property and Copyright Stat
3895                                          </p>                                          </p>
3896  <blockquote class="text">  <blockquote class="text">
3897  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3898                                                (note that the character string may contain
3899                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3900  </p>  </p>
3901  </blockquote>  </blockquote>
3902                                                                            
# Line 3685  Intellectual Property and Copyright Stat Line 3934  Intellectual Property and Copyright Stat
3934                                            
3935  </p>  </p>
3936  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3937  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3938  <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;
3939    Getting sampler channel information</h3>
3940    
3941  <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
3942                      by sending the following command:                      by sending the following command:
# Line 3700  Intellectual Property and Copyright Stat Line 3950  Intellectual Property and Copyright Stat
3950                                            
3951  </p>  </p>
3952  <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
3953                      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>
3954                      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.
3955  </p>  </p>
3956  <p>Possible Answers:  <p>Possible Answers:
3957  </p>  </p>
# Line 3766  Intellectual Property and Copyright Stat Line 4016  Intellectual Property and Copyright Stat
4016  <blockquote class="text">  <blockquote class="text">
4017  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4018                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4019                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4020                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4021  </p>  </p>
4022  </blockquote>  </blockquote>
4023                                                                            
# Line 3783  Intellectual Property and Copyright Stat Line 4034  Intellectual Property and Copyright Stat
4034                                          </p>                                          </p>
4035  <blockquote class="text">  <blockquote class="text">
4036  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4037                                                (note: since LSCP 1.2 this character string may contain
4038                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4039  </p>  </p>
4040  </blockquote>  </blockquote>
4041                                                                            
# Line 3829  Intellectual Property and Copyright Stat Line 4082  Intellectual Property and Copyright Stat
4082                                          </p>                                          </p>
4083  <blockquote class="text">  <blockquote class="text">
4084  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4085                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4086                                              1.0 means amplification)                                              1.0 means amplification)
4087  </p>  </p>
4088  </blockquote>  </blockquote>
# Line 3856  Intellectual Property and Copyright Stat Line 4109  Intellectual Property and Copyright Stat
4109  </blockquote>  </blockquote>
4110                                                                            
4111    
4112    <p>MIDI_INSTRUMENT_MAP -
4113                                            </p>
4114    <blockquote class="text">
4115    <p>Determines to which MIDI instrument map this sampler
4116                                                channel is assigned to. Read chapter
4117                                                <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>
4118                                                for a list of possible values.
4119    </p>
4120    </blockquote>
4121                                        
4122    
4123  </blockquote>  </blockquote>
4124                                                            
4125    
# Line 3895  Intellectual Property and Copyright Stat Line 4159  Intellectual Property and Copyright Stat
4159  </p>  </p>
4160  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4161  </p>  </p>
4162    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4163    </p>
4164    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4165    </p>
4166    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4167    </p>
4168    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4169    </p>
4170  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4171  </p>  </p>
4172  </blockquote><p>  </blockquote><p>
4173                                            
4174  </p>  </p>
4175  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4176  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4177  <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;
4178    Current number of active voices</h3>
4179    
4180  <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
4181                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3916  Intellectual Property and Copyright Stat Line 4189  Intellectual Property and Copyright Stat
4189                                            
4190  </p>  </p>
4191  <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
4192                      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>
4193                      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.
4194  </p>  </p>
4195  <p>Possible Answers:  <p>Possible Answers:
4196  </p>  </p>
# Line 3941  Intellectual Property and Copyright Stat Line 4214  Intellectual Property and Copyright Stat
4214                                            
4215  </p>  </p>
4216  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4217  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4218  <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;
4219    Current number of active disk streams</h3>
4220    
4221  <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
4222                      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 4230  Intellectual Property and Copyright Stat
4230                                            
4231  </p>  </p>
4232  <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
4233                      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>
4234                      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.
4235  </p>  </p>
4236  <p>Possible Answers:  <p>Possible Answers:
4237  </p>  </p>
# Line 3983  Intellectual Property and Copyright Stat Line 4257  Intellectual Property and Copyright Stat
4257                                            
4258  </p>  </p>
4259  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4260  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4261  <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;
4262    Current fill state of disk stream buffers</h3>
4263    
4264  <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
4265                      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 4284  Intellectual Property and Copyright Stat
4284  </p>  </p>
4285  <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
4286                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4287                      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>
4288                      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.
4289  </p>  </p>
4290  <p>Possible Answers:  <p>Possible Answers:
4291  </p>  </p>
# Line 4060  Intellectual Property and Copyright Stat Line 4335  Intellectual Property and Copyright Stat
4335                                            
4336  </p>  </p>
4337  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4338  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4339  <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;
4340    Setting audio output device</h3>
4341    
4342  <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
4343                      channel by sending the following command:                      channel by sending the following command:
# Line 4075  Intellectual Property and Copyright Stat Line 4351  Intellectual Property and Copyright Stat
4351                                            
4352  </p>  </p>
4353  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4354                      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>
4355                      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
4356                      &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
4357                      <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>
4358                      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>
4359                      command.                      command.
4360  </p>  </p>
4361  <p>Possible Answers:  <p>Possible Answers:
# Line 4126  Intellectual Property and Copyright Stat Line 4402  Intellectual Property and Copyright Stat
4402  </blockquote><p>  </blockquote><p>
4403                                            
4404  </p>  </p>
4405  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4406  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4407  <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;
4408    Setting audio output type</h3>
4409    
4410  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4411  </p>  </p>
# Line 4191  Intellectual Property and Copyright Stat Line 4468  Intellectual Property and Copyright Stat
4468                                            
4469  </p>  </p>
4470  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4471  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4472  <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;
4473    Setting audio output channel</h3>
4474    
4475  <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
4476                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4206  Intellectual Property and Copyright Stat Line 4484  Intellectual Property and Copyright Stat
4484                                            
4485  </p>  </p>
4486  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4487                      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>
4488                      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
4489                      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
4490                      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
4491                      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 4535  Intellectual Property and Copyright Stat
4535                                            
4536  </p>  </p>
4537  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4538  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4539  <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;
4540    Setting MIDI input device</h3>
4541    
4542  <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
4543                      channel by sending the following command:                      channel by sending the following command:
# Line 4272  Intellectual Property and Copyright Stat Line 4551  Intellectual Property and Copyright Stat
4551                                            
4552  </p>  </p>
4553  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4554                      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>
4555                      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
4556                      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
4557                      <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>
4558                      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.
4559  </p>  </p>
4560  <p>Possible Answers:  <p>Possible Answers:
4561  </p>  </p>
# Line 4323  Intellectual Property and Copyright Stat Line 4602  Intellectual Property and Copyright Stat
4602                                            
4603  </p>  </p>
4604  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4605  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4606  <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;
4607    Setting MIDI input type</h3>
4608    
4609  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4610  </p>  </p>
# Line 4387  Intellectual Property and Copyright Stat Line 4667  Intellectual Property and Copyright Stat
4667                                            
4668  </p>  </p>
4669  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4670  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4671  <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;
4672    Setting MIDI input port</h3>
4673    
4674  <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
4675                      channel by sending the following command:                      channel by sending the following command:
# Line 4450  Intellectual Property and Copyright Stat Line 4731  Intellectual Property and Copyright Stat
4731                                            
4732  </p>  </p>
4733  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4734  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4735  <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;
4736    Setting MIDI input channel</h3>
4737    
4738  <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
4739                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4513  Intellectual Property and Copyright Stat Line 4795  Intellectual Property and Copyright Stat
4795                                            
4796  </p>  </p>
4797  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4798  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4799  <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;
4800    Setting channel volume</h3>
4801    
4802  <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
4803                      the following command:                      the following command:
# Line 4577  Intellectual Property and Copyright Stat Line 4860  Intellectual Property and Copyright Stat
4860                                            
4861  </p>  </p>
4862  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4863  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4864  <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;
4865    Muting a sampler channel</h3>
4866    
4867  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4868                      channel by sending the following command:                      channel by sending the following command:
# Line 4592  Intellectual Property and Copyright Stat Line 4876  Intellectual Property and Copyright Stat
4876                                            
4877  </p>  </p>
4878  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4879                      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>
4880                      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
4881                      &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"
4882                      to unmute the channel.                      to unmute the channel.
4883  </p>  </p>
# Line 4642  Intellectual Property and Copyright Stat Line 4926  Intellectual Property and Copyright Stat
4926                                            
4927  </p>  </p>
4928  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4929  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4930  <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;
4931    Soloing a sampler channel</h3>
4932    
4933  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4934                      by sending the following command:                      by sending the following command:
# Line 4657  Intellectual Property and Copyright Stat Line 4942  Intellectual Property and Copyright Stat
4942                                            
4943  </p>  </p>
4944  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4945                      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>
4946                      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
4947                      &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"
4948                      to unsolo the channel.                      to unsolo the channel.
4949  </p>  </p>
# Line 4706  Intellectual Property and Copyright Stat Line 4991  Intellectual Property and Copyright Stat
4991  </blockquote><p>  </blockquote><p>
4992                                            
4993  </p>  </p>
4994    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
4995    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4996    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
4997    Assigning a MIDI instrument map to a sampler channel</h3>
4998    
4999    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5000                        by sending the following command:
5001    </p>
5002    <p>
5003                            </p>
5004    <blockquote class="text">
5005    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5006    </p>
5007    </blockquote><p>
5008                        
5009    </p>
5010    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5011                        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>
5012                        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
5013                        &lt;map&gt; can have the following possibilites:
5014    </p>
5015    <p>
5016                            </p>
5017    <blockquote class="text">
5018    <p>"NONE" -
5019                                    </p>
5020    <blockquote class="text">
5021    <p>This is the default setting. In this case
5022                                        the sampler channel is not assigned any MIDI
5023                                        instrument map and thus will ignore all MIDI
5024                                        program change messages.
5025    </p>
5026    </blockquote>
5027                                
5028    
5029    <p>"DEFAULT" -
5030                                    </p>
5031    <blockquote class="text">
5032    <p>The sampler channel will always use the
5033                                        default MIDI instrument map to handle MIDI
5034                                        program change messages.
5035    </p>
5036    </blockquote>
5037                                
5038    
5039    <p>numeric ID -
5040                                    </p>
5041    <blockquote class="text">
5042    <p>You can assign a specific MIDI instrument map
5043                                        by replacing &lt;map&gt; with the respective numeric
5044                                        ID of the MIDI instrument map as returned by the
5045                                        <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>
5046                                        command. Once that map will be deleted, the sampler
5047                                        channel would fall back to "NONE".
5048    </p>
5049    </blockquote>
5050                                
5051    
5052    </blockquote><p>
5053                        
5054    </p>
5055    <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>
5056                        for details regarding MIDI instrument mapping.
5057    </p>
5058    <p>Possible Answers:
5059    </p>
5060    <p>
5061                            </p>
5062    <blockquote class="text">
5063    <p>"OK" -
5064                                    </p>
5065    <blockquote class="text">
5066    <p>on success
5067    </p>
5068    </blockquote>
5069                                
5070    
5071    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5072                                    </p>
5073    <blockquote class="text">
5074    <p>in case it failed, providing an appropriate error code and error message
5075    </p>
5076    </blockquote>
5077                                
5078    
5079    </blockquote><p>
5080                        
5081    </p>
5082    <p>Examples:
5083    </p>
5084    <p>
5085                            </p>
5086    <blockquote class="text">
5087    <p>
5088    </p>
5089    </blockquote><p>
5090                        
5091    </p>
5092    <a name="CREATE FX_SEND"></a><br /><hr />
5093    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5094    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5095    Adding an effect send to a sampler channel</h3>
5096    
5097    <p>The front-end can create an additional effect send on a specific sampler channel
5098                        by sending the following command:
5099    </p>
5100    <p>
5101                            </p>
5102    <blockquote class="text">
5103    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5104    </p>
5105    </blockquote><p>
5106                        
5107    </p>
5108    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5109                        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>
5110                        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
5111                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5112                        is a number between 0..127 defining the MIDI controller which can alter the
5113                        effect send level and &lt;name&gt; is an optional argument defining a name
5114                        for the effect send entity. The name does not have to be unique, but MUST be
5115                        encapsulated into apostrophes and supports escape sequences as described in chapter
5116                        "<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>".
5117    </p>
5118    <p>By default, that is as initial routing, the effect send's audio channels
5119                        are automatically routed to the last audio channels of the sampler channel's
5120                        audio output device, that way you can i.e. first increase the amount of audio
5121                        channels on the audio output device for having dedicated effect send output
5122                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5123                        be picked. You can alter the destination channels however with
5124                        <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>.
5125                        
5126    </p>
5127    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5128                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5129                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5130                        the voices and route the audio signal afterwards to the master outputs and effect send
5131                        outputs (along with their respective effect send levels). A sampler channel without effect
5132                        sends however can mix its voices directly into the audio output devices's audio buffers
5133                        and is thus faster.
5134                        
5135    </p>
5136    <p>Possible Answers:
5137    </p>
5138    <p>
5139                            </p>
5140    <blockquote class="text">
5141    <p>"OK[&lt;fx-send-id&gt;]" -
5142                                    </p>
5143    <blockquote class="text">
5144    <p>in case a new effect send could be added to the
5145                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5146                                        unique ID of the newly created effect send entity
5147    </p>
5148    </blockquote>
5149                                
5150    
5151    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5152                                    </p>
5153    <blockquote class="text">
5154    <p>when a new effect send could not be added, i.e.
5155                                        due to invalid parameters
5156    </p>
5157    </blockquote>
5158                                
5159    
5160    </blockquote><p>
5161                        
5162    </p>
5163    <p>Examples:
5164    </p>
5165    <p>
5166                            </p>
5167    <blockquote class="text">
5168    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5169    </p>
5170    <p>S: "OK[0]"
5171    </p>
5172    </blockquote><p>
5173                        
5174    </p>
5175    <p>
5176                            </p>
5177    <blockquote class="text">
5178    <p>C: "CREATE FX_SEND 0 93"
5179    </p>
5180    <p>S: "OK[1]"
5181    </p>
5182    </blockquote><p>
5183                        
5184    </p>
5185    <a name="DESTROY FX_SEND"></a><br /><hr />
5186    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5187    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5188    Removing an effect send from a sampler channel</h3>
5189    
5190    <p>The front-end can remove an existing effect send on a specific sampler channel
5191                        by sending the following command:
5192    </p>
5193    <p>
5194                            </p>
5195    <blockquote class="text">
5196    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5197    </p>
5198    </blockquote><p>
5199                        
5200    </p>
5201    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5202                        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>
5203                        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
5204                        sampler channel from which the effect send should be removed from and
5205                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5206                        <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>
5207                        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.
5208    </p>
5209    <p>Possible Answers:
5210    </p>
5211    <p>
5212                            </p>
5213    <blockquote class="text">
5214    <p>"OK" -
5215                                    </p>
5216    <blockquote class="text">
5217    <p>on success
5218    </p>
5219    </blockquote>
5220                                
5221    
5222    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5223                                    </p>
5224    <blockquote class="text">
5225    <p>in case it failed, providing an appropriate error code and
5226                                        error message
5227    </p>
5228    </blockquote>
5229                                
5230    
5231    </blockquote><p>
5232                        
5233    </p>
5234    <p>Example:
5235    </p>
5236    <p>
5237                            </p>
5238    <blockquote class="text">
5239    <p>C: "DESTROY FX_SEND 0 0"
5240    </p>
5241    <p>S: "OK"
5242    </p>
5243    </blockquote><p>
5244                        
5245    </p>
5246    <a name="GET FX_SENDS"></a><br /><hr />
5247    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5248    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5249    Getting amount of effect sends on a sampler channel</h3>
5250    
5251    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5252                        by sending the following command:
5253    </p>
5254    <p>
5255                            </p>
5256    <blockquote class="text">
5257    <p>GET FX_SENDS &lt;sampler-channel&gt;
5258    </p>
5259    </blockquote><p>
5260                        
5261    </p>
5262    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5263                        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>
5264                        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.
5265    </p>
5266    <p>Possible Answers:
5267    </p>
5268    <p>
5269                            </p>
5270    <blockquote class="text">
5271    <p>The sampler will answer by returning the number of effect
5272                                sends on the given sampler channel.
5273    </p>
5274    </blockquote><p>
5275                        
5276    </p>
5277    <p>Example:
5278    </p>
5279    <p>
5280                            </p>
5281    <blockquote class="text">
5282    <p>C: "GET FX_SENDS 0"
5283    </p>
5284    <p>S: "2"
5285    </p>
5286    </blockquote><p>
5287                        
5288    </p>
5289    <a name="LIST FX_SENDS"></a><br /><hr />
5290    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5291    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5292    Listing all effect sends on a sampler channel</h3>
5293    
5294    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5295                        by sending the following command:
5296    </p>
5297    <p>
5298                            </p>
5299    <blockquote class="text">
5300    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5301    </p>
5302    </blockquote><p>
5303                        
5304    </p>
5305    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5306                        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>
5307                        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.
5308    </p>
5309    <p>Possible Answers:
5310    </p>
5311    <p>
5312                            </p>
5313    <blockquote class="text">
5314    <p>The sampler will answer by returning a comma separated list
5315                                with all effect sends' numerical IDs on the given sampler
5316                                channel.
5317    </p>
5318    </blockquote><p>
5319                        
5320    </p>
5321    <p>Examples:
5322    </p>
5323    <p>
5324                            </p>
5325    <blockquote class="text">
5326    <p>C: "LIST FX_SENDS 0"
5327    </p>
5328    <p>S: "0,1"
5329    </p>
5330    </blockquote><p>
5331                        
5332    </p>
5333    <p>
5334                            </p>
5335    <blockquote class="text">
5336    <p>C: "LIST FX_SENDS 1"
5337    </p>
5338    <p>S: ""
5339    </p>
5340    </blockquote><p>
5341                        
5342    </p>
5343    <a name="GET FX_SEND INFO"></a><br /><hr />
5344    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5345    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5346    Getting effect send information</h3>
5347    
5348    <p>The front-end can ask for the current settings of an effect send entity
5349                        by sending the following command:
5350    </p>
5351    <p>
5352                            </p>
5353    <blockquote class="text">
5354    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5355    </p>
5356    </blockquote><p>
5357                        
5358    </p>
5359    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5360                        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>
5361                        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
5362                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5363                        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>
5364                        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.
5365                      
5366    </p>
5367    <p>Possible Answers:
5368    </p>
5369    <p>
5370                            </p>
5371    <blockquote class="text">
5372    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5373                                Each answer line begins with the settings category name
5374                                followed by a colon and then a space character &lt;SP&gt; and finally
5375                                the info character string to that setting category. At the
5376                                moment the following categories are defined:
5377    </p>
5378    <p>
5379                                    </p>
5380    <blockquote class="text">
5381    <p>NAME -
5382                                            </p>
5383    <blockquote class="text">
5384    <p>name of the effect send entity
5385                                                (note that this character string may contain
5386                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5387    </p>
5388    </blockquote>
5389                                        
5390    
5391    <p>MIDI_CONTROLLER -
5392                                            </p>
5393    <blockquote class="text">
5394    <p>a value between 0 and 127 reflecting the MIDI controller
5395                                                which is able to modify the effect send's send level
5396    </p>
5397    </blockquote>
5398                                        
5399    
5400    <p>LEVEL -
5401                                            </p>
5402    <blockquote class="text">
5403    <p>optionally dotted number reflecting the effect send's
5404                                                current send level (where a value &lt; 1.0 means attenuation
5405                                                and a value > 1.0 means amplification)
5406    </p>
5407    </blockquote>
5408                                        
5409    
5410    <p>AUDIO_OUTPUT_ROUTING -
5411                                            </p>
5412    <blockquote class="text">
5413    <p>comma separated list which reflects to which audio
5414                                                channel of the selected audio output device each
5415                                                effect send output channel is routed to, e.g. "0,3" would
5416                                                mean the effect send's output channel 0 is routed to channel
5417                                                0 of the audio output device and the effect send's output
5418                                                channel 1 is routed to the channel 3 of the audio
5419                                                output device (see
5420                                                <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>
5421                                                for details)
5422    </p>
5423    </blockquote>
5424                                        
5425    
5426    </blockquote>
5427                                
5428    
5429    </blockquote><p>
5430                        
5431    </p>
5432    <p>The mentioned fields above don't have to be in particular order.
5433    </p>
5434    <p>Example:
5435    </p>
5436    <p>
5437                            </p>
5438    <blockquote class="text">
5439    <p>C: "GET FX_SEND INFO 0 0"
5440    </p>
5441    <p>S: "NAME: Reverb Send"
5442    </p>
5443    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5444    </p>
5445    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5446    </p>
5447    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5448    </p>
5449    <p>&nbsp;&nbsp;&nbsp;"."
5450    </p>
5451    </blockquote><p>
5452                        
5453    </p>
5454    <a name="SET FX_SEND NAME"></a><br /><hr />
5455    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5456    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5457    Changing effect send's name</h3>
5458    
5459    <p>The front-end can alter the current name of an effect
5460                        send entity by sending the following command:
5461    </p>
5462    <p>
5463                            </p>
5464    <blockquote class="text">
5465    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5466    </p>
5467    </blockquote><p>
5468                        
5469    </p>
5470    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5471                        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>
5472                        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,
5473                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5474                        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>
5475                        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
5476                        &lt;name&gt; is the new name of the effect send entity, which
5477                        does not have to be unique (name MUST be encapsulated into apostrophes
5478                        and supports escape sequences as described in chapter
5479                        "<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>").
5480                        
5481    </p>
5482    <p>Possible Answers:
5483    </p>
5484    <p>
5485                            </p>
5486    <blockquote class="text">
5487    <p>"OK" -
5488                                    </p>
5489    <blockquote class="text">
5490    <p>on success
5491    </p>
5492    </blockquote>
5493                                
5494    
5495    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5496                                    </p>
5497    <blockquote class="text">
5498    <p>in case it failed, providing an appropriate error code and error message
5499    </p>
5500    </blockquote>
5501                                
5502    
5503    </blockquote><p>
5504                        
5505    </p>
5506    <p>Example:
5507    </p>
5508    <p>
5509                            </p>
5510    <blockquote class="text">
5511    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5512    </p>
5513    <p>S: "OK"
5514    </p>
5515    </blockquote><p>
5516                        
5517    </p>
5518    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5519    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5520    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5521    Altering effect send's audio routing</h3>
5522    
5523    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5524                        sampler channel by sending the following command:
5525    </p>
5526    <p>
5527                            </p>
5528    <blockquote class="text">
5529    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5530    </p>
5531    </blockquote><p>
5532                        
5533    </p>
5534    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5535                        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>
5536                        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,
5537                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5538                        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>
5539                        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,
5540                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5541                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5542                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5543                        should be routed to.
5544    </p>
5545    <p>Note that effect sends can only route audio to the same audio output
5546                        device as assigned to the effect send's sampler channel. Also note that an
5547                        effect send entity does always have exactly as much audio channels as its
5548                        sampler channel. So if the sampler channel is stereo, the effect send does
5549                        have two audio channels as well. Also keep in mind that the amount of audio
5550                        channels on a sampler channel might be dependant not only to the deployed
5551                        sampler engine on the sampler channel, but also dependant to the instrument
5552                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5553                        send into a mono one by simply altering its audio routing appropriately.
5554    </p>
5555    <p>Possible Answers:
5556    </p>
5557    <p>
5558                            </p>
5559    <blockquote class="text">
5560    <p>"OK" -
5561                                    </p>
5562    <blockquote class="text">
5563    <p>on success
5564    </p>
5565    </blockquote>
5566                                
5567    
5568    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5569                                    </p>
5570    <blockquote class="text">
5571    <p>if audio output channel was set, but there are noteworthy
5572                                        issue(s) related, providing an appropriate warning code and
5573                                        warning message
5574    </p>
5575    </blockquote>
5576                                
5577    
5578    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5579                                    </p>
5580    <blockquote class="text">
5581    <p>in case it failed, providing an appropriate error code and error message
5582    </p>
5583    </blockquote>
5584                                
5585    
5586    </blockquote><p>
5587                        
5588    </p>
5589    <p>Example:
5590    </p>
5591    <p>
5592                            </p>
5593    <blockquote class="text">
5594    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5595    </p>
5596    <p>S: "OK"
5597    </p>
5598    </blockquote><p>
5599                        
5600    </p>
5601    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5602    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5603    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5604    Altering effect send's MIDI controller</h3>
5605    
5606    <p>The front-end can alter the MIDI controller of an effect
5607                        send entity by sending the following command:
5608    </p>
5609    <p>
5610                            </p>
5611    <blockquote class="text">
5612    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5613    </p>
5614    </blockquote><p>
5615                        
5616    </p>
5617    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5618                        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>
5619                        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,
5620                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5621                        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>
5622                        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
5623                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5624                        able to modify the effect send's send level.
5625    </p>
5626    <p>Possible Answers:
5627    </p>
5628    <p>
5629                            </p>
5630    <blockquote class="text">
5631    <p>"OK" -
5632                                    </p>
5633    <blockquote class="text">
5634    <p>on success
5635    </p>
5636    </blockquote>
5637                                
5638    
5639    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5640                                    </p>
5641    <blockquote class="text">
5642    <p>if MIDI controller was set, but there are noteworthy
5643                                        issue(s) related, providing an appropriate warning code and
5644                                        warning message
5645    </p>
5646    </blockquote>
5647                                
5648    
5649    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5650                                    </p>
5651    <blockquote class="text">
5652    <p>in case it failed, providing an appropriate error code and error message
5653    </p>
5654    </blockquote>
5655                                
5656    
5657    </blockquote><p>
5658                        
5659    </p>
5660    <p>Example:
5661    </p>
5662    <p>
5663                            </p>
5664    <blockquote class="text">
5665    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5666    </p>
5667    <p>S: "OK"
5668    </p>
5669    </blockquote><p>
5670                        
5671    </p>
5672    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5673    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5674    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5675    Altering effect send's send level</h3>
5676    
5677    <p>The front-end can alter the current send level of an effect
5678                        send entity by sending the following command:
5679    </p>
5680    <p>
5681                            </p>
5682    <blockquote class="text">
5683    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5684    </p>
5685    </blockquote><p>
5686                        
5687    </p>
5688    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5689                        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>
5690                        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,
5691                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5692                        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>
5693                        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
5694                        &lt;volume&gt; is an optionally dotted positive number (a value
5695                        smaller than 1.0 means attenuation, whereas a value greater than
5696                        1.0 means amplification) reflecting the new send level.
5697    </p>
5698    <p>Possible Answers:
5699    </p>
5700    <p>
5701                            </p>
5702    <blockquote class="text">
5703    <p>"OK" -
5704                                    </p>
5705    <blockquote class="text">
5706    <p>on success
5707    </p>
5708    </blockquote>
5709                                
5710    
5711    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5712                                    </p>
5713    <blockquote class="text">
5714    <p>if new send level was set, but there are noteworthy
5715                                        issue(s) related, providing an appropriate warning code and
5716                                        warning message
5717    </p>
5718    </blockquote>
5719                                
5720    
5721    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5722                                    </p>
5723    <blockquote class="text">
5724    <p>in case it failed, providing an appropriate error code and error message
5725    </p>
5726    </blockquote>
5727                                
5728    
5729    </blockquote><p>
5730                        
5731    </p>
5732    <p>Example:
5733    </p>
5734    <p>
5735                            </p>
5736    <blockquote class="text">
5737    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5738    </p>
5739    <p>S: "OK"
5740    </p>
5741    </blockquote><p>
5742                        
5743    </p>
5744  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5745  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5746  <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;
5747    Resetting a sampler channel</h3>
5748    
5749  <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:
5750  </p>  </p>
# Line 4772  Intellectual Property and Copyright Stat Line 5808  Intellectual Property and Copyright Stat
5808                                            
5809  </p>  </p>
5810  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
5811  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5812  <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;
5813    Controlling connection</h3>
5814    
5815  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5816  </p>  </p>
5817  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></a><br /><hr />
5818  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5819  <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;
5820    Register front-end for receiving event messages</h3>
5821    
5822  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5823                      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 5879  Intellectual Property and Copyright Stat
5879                                            
5880  </p>  </p>
5881  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
5882  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5883  <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;
5884    Unregister front-end for not receiving event messages</h3>
5885    
5886  <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
5887                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4904  Intellectual Property and Copyright Stat Line 5943  Intellectual Property and Copyright Stat
5943                                            
5944  </p>  </p>
5945  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
5946  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5947  <a name="rfc.section.6.5.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;
5948    Enable or disable echo of commands</h3>
5949    
5950  <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:
5951  </p>  </p>
# Line 4960  Intellectual Property and Copyright Stat Line 6000  Intellectual Property and Copyright Stat
6000                                            
6001  </p>  </p>
6002  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
6003  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6004  <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;
6005    Close client connection</h3>
6006    
6007  <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:
6008  </p>  </p>
# Line 4977  Intellectual Property and Copyright Stat Line 6018  Intellectual Property and Copyright Stat
6018                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6019  </p>  </p>
6020  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
6021  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6022  <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;
6023    Global commands</h3>
6024    
6025  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6026  </p>  </p>
6027  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6028  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6029  <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;
6030    Current number of active voices</h3>
6031    
6032  <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
6033                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5009  Intellectual Property and Copyright Stat Line 6052  Intellectual Property and Copyright Stat
6052                                            
6053  </p>  </p>
6054  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6055  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6056  <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;
6057    Maximum amount of active voices</h3>
6058    
6059  <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
6060                      by sending the following command:                      by sending the following command:
# Line 5034  Intellectual Property and Copyright Stat Line 6078  Intellectual Property and Copyright Stat
6078  </blockquote><p>  </blockquote><p>
6079                                            
6080  </p>  </p>
6081    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6082    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6083    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6084    Current number of active disk streams</h3>
6085    
6086    <p>The front-end can ask for the current number of active disk streams on
6087                        the sampler by sending the following command:
6088    </p>
6089    <p>
6090                            </p>
6091    <blockquote class="text">
6092    <p>GET TOTAL_STREAM_COUNT
6093    </p>
6094    </blockquote><p>
6095                        
6096    </p>
6097    <p>Possible Answers:
6098    </p>
6099    <p>
6100                            </p>
6101    <blockquote class="text">
6102    <p>LinuxSampler will answer by returning the number of all active
6103                                disk streams on the sampler.
6104    </p>
6105    </blockquote><p>
6106                        
6107    </p>
6108  <a name="RESET"></a><br /><hr />  <a name="RESET"></a><br /><hr />
6109  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6110  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;Reset sampler</h3>  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6111    Reset sampler</h3>
6112    
6113  <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:
6114  </p>  </p>
# Line 5075  Intellectual Property and Copyright Stat Line 6147  Intellectual Property and Copyright Stat
6147                                            
6148  </p>  </p>
6149  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6150  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6151  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;General sampler informations</h3>  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6152    General sampler informations</h3>
6153    
6154  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6155                         instance by sending the following command:                         instance by sending the following command:
# Line 5108  Intellectual Property and Copyright Stat Line 6181  Intellectual Property and Copyright Stat
6181                                          </p>                                          </p>
6182  <blockquote class="text">  <blockquote class="text">
6183  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6184                                                (note that the character string may contain
6185                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6186  </p>  </p>
6187  </blockquote>  </blockquote>
6188                                                                            
# Line 5124  Intellectual Property and Copyright Stat Line 6199  Intellectual Property and Copyright Stat
6199                                          </p>                                          </p>
6200  <blockquote class="text">  <blockquote class="text">
6201  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6202                                              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)
6203    </p>
6204    </blockquote>
6205                                        
6206    
6207    <p>INSTRUMENTS_DB_SUPPORT -
6208                                            </p>
6209    <blockquote class="text">
6210    <p>either yes or no, specifies whether the
6211                                                sampler is build with instruments database support.
6212  </p>  </p>
6213  </blockquote>  </blockquote>
6214                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6222  Intellectual Property and Copyright Stat
6222  <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.
6223                      Other fields might be added in future.                      Other fields might be added in future.
6224  </p>  </p>
6225    <a name="GET VOLUME"></a><br /><hr />
6226    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6227    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6228    Getting global volume attenuation</h3>
6229    
6230    <p>The client can ask for the current global sampler-wide volume
6231                        attenuation by sending the following command:
6232    </p>
6233    <p>
6234                            </p>
6235    <blockquote class="text">
6236    <p>GET VOLUME
6237    </p>
6238    </blockquote><p>
6239                        
6240    </p>
6241    <p>Possible Answers:
6242    </p>
6243    <p>
6244                            </p>
6245    <blockquote class="text">
6246    <p>The sampler will always answer by returning the optional
6247                                dotted floating point coefficient, reflecting the current
6248                                global volume attenuation.
6249                                
6250    </p>
6251    </blockquote><p>
6252                        
6253    </p>
6254    <p>Note: it is up to the respective sampler engine whether to obey
6255                        that global volume parameter or not, but in general all engines SHOULD
6256                        use this parameter.
6257    </p>
6258    <a name="SET VOLUME"></a><br /><hr />
6259    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6260    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6261    Setting global volume attenuation</h3>
6262    
6263    <p>The client can alter the current global sampler-wide volume
6264                        attenuation by sending the following command:
6265    </p>
6266    <p>
6267                            </p>
6268    <blockquote class="text">
6269    <p>SET VOLUME &lt;volume&gt;
6270    </p>
6271    </blockquote><p>
6272                        
6273    </p>
6274    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6275                       floating point value, reflecting the new global volume parameter.
6276                       This value might usually be in the range between 0.0 and 1.0, that
6277                       is for attenuating the overall volume.
6278    </p>
6279    <p>Possible Answers:
6280    </p>
6281    <p>
6282                            </p>
6283    <blockquote class="text">
6284    <p>"OK" -
6285                                    </p>
6286    <blockquote class="text">
6287    <p>on success
6288    </p>
6289    </blockquote>
6290                                
6291    
6292    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6293                                    </p>
6294    <blockquote class="text">
6295    <p>if the global volume was set, but there are noteworthy
6296                                        issue(s) related, providing an appropriate warning code and
6297                                        warning message
6298    </p>
6299    </blockquote>
6300                                
6301    
6302    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6303                                    </p>
6304    <blockquote class="text">
6305    <p>in case it failed, providing an appropriate error code and error message
6306    </p>
6307    </blockquote>
6308                                
6309    
6310    </blockquote><p>
6311                        
6312    </p>
6313    <a name="MIDI Instrument Mapping"></a><br /><hr />
6314    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6315    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6316    MIDI Instrument Mapping</h3>
6317    
6318    <p>The MIDI protocol provides a way to switch between instruments
6319                    by sending so called MIDI bank select and MIDI program change
6320                    messages which are essentially just numbers. The following commands
6321                    allow to actually map arbitrary MIDI bank select / program change
6322                    numbers with real instruments.
6323    </p>
6324    <p>The sampler allows to manage an arbitrary amount of MIDI
6325                    instrument maps which define which instrument to load on
6326                    which MIDI program change message.
6327    </p>
6328    <p>By default, that is when the sampler is launched, there is no
6329                    map, thus the sampler will simply ignore all program change
6330                    messages. The front-end has to explicitly create at least one
6331                    map, add entries to the map and tell the respective sampler
6332                    channel(s) which MIDI instrument map to use, so the sampler
6333                    knows how to react on a given program change message on the
6334                    respective sampler channel, that is by switching to the
6335                    respectively defined engine type and loading the respective
6336                    instrument. See command
6337                    <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>
6338                    for how to assign a MIDI instrument map to a sampler channel.
6339    </p>
6340    <p>Also note per MIDI specification a bank select message does not
6341                    cause to switch to another instrument. Instead when receiving a
6342                    bank select message the bank value will be stored and a subsequent
6343                    program change message (which may occur at any time) will finally
6344                    cause the sampler to switch to the respective instrument as
6345                    reflected by the current MIDI instrument map.
6346    </p>
6347    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6348    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6349    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6350    Create a new MIDI instrument map</h3>
6351    
6352    <p>The front-end can add a new MIDI instrument map by sending
6353                        the following command:
6354    </p>
6355    <p>
6356                            </p>
6357    <blockquote class="text">
6358    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6359    </p>
6360    </blockquote><p>
6361                        
6362    </p>
6363    <p>Where &lt;name&gt; is an optional argument allowing to
6364                        assign a custom name to the new map. MIDI instrument Map
6365                        names do not have to be unique, but MUST be encapsulated
6366                        into apostrophes and support escape sequences as described
6367                        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>".
6368                        
6369    </p>
6370    <p>Possible Answers:
6371    </p>
6372    <p>
6373                            </p>
6374    <blockquote class="text">
6375    <p>"OK[&lt;map&gt;]" -
6376                                    </p>
6377    <blockquote class="text">
6378    <p>in case a new MIDI instrument map could
6379                                        be added, where &lt;map&gt; reflects the
6380                                        unique ID of the newly created MIDI
6381                                        instrument map
6382    </p>
6383    </blockquote>
6384                                
6385    
6386    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6387                                    </p>
6388    <blockquote class="text">
6389    <p>when a new map could not be created, which
6390                                        might never occur in practice
6391    </p>
6392    </blockquote>
6393                                
6394    
6395    </blockquote><p>
6396                        
6397    </p>
6398    <p>Examples:
6399    </p>
6400    <p>
6401                            </p>
6402    <blockquote class="text">
6403    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6404    </p>
6405    <p>S: "OK[0]"
6406    </p>
6407    </blockquote><p>
6408                        
6409    </p>
6410    <p>
6411                            </p>
6412    <blockquote class="text">
6413    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6414    </p>
6415    <p>S: "OK[1]"
6416    </p>
6417    </blockquote><p>
6418                        
6419    </p>
6420    <p>
6421                            </p>
6422    <blockquote class="text">
6423    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6424    </p>
6425    <p>S: "OK[5]"
6426    </p>
6427    </blockquote><p>
6428                        
6429    </p>
6430    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6431    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6432    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6433    Delete one particular or all MIDI instrument maps</h3>
6434    
6435    <p>The front-end can delete a particular MIDI instrument map
6436                        by sending the following command:
6437    </p>
6438    <p>
6439                            </p>
6440    <blockquote class="text">
6441    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6442    </p>
6443    </blockquote><p>
6444                        
6445    </p>
6446    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6447                        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>
6448                        command.
6449    </p>
6450    <p>The front-end can delete all MIDI instrument maps by
6451                        sending the following command:
6452    </p>
6453    <p>
6454                            </p>
6455    <blockquote class="text">
6456    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6457    </p>
6458    </blockquote><p>
6459                        
6460    </p>
6461    <p>Possible Answers:
6462    </p>
6463    <p>
6464                            </p>
6465    <blockquote class="text">
6466    <p>"OK" -
6467                                    </p>
6468    <blockquote class="text">
6469    <p>in case the map(s) could be deleted
6470    </p>
6471    </blockquote>
6472                                
6473    
6474    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6475                                    </p>
6476    <blockquote class="text">
6477    <p>when the given map does not exist
6478    </p>
6479    </blockquote>
6480                                
6481    
6482    </blockquote><p>
6483                        
6484    </p>
6485    <p>Examples:
6486    </p>
6487    <p>
6488                            </p>
6489    <blockquote class="text">
6490    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6491    </p>
6492    <p>S: "OK"
6493    </p>
6494    </blockquote><p>
6495                        
6496    </p>
6497    <p>
6498                            </p>
6499    <blockquote class="text">
6500    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6501    </p>
6502    <p>S: "OK"
6503    </p>
6504    </blockquote><p>
6505                        
6506    </p>
6507    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6508    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6509    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6510    Get amount of existing MIDI instrument maps</h3>
6511    
6512    <p>The front-end can retrieve the current amount of MIDI
6513                        instrument maps by sending the following command:
6514    </p>
6515    <p>
6516                            </p>
6517    <blockquote class="text">
6518    <p>GET MIDI_INSTRUMENT_MAPS
6519    </p>
6520    </blockquote><p>
6521                        
6522    </p>
6523    <p>Possible Answers:
6524    </p>
6525    <p>
6526                            </p>
6527    <blockquote class="text">
6528    <p>The sampler will answer by returning the current
6529                                number of MIDI instrument maps.
6530    </p>
6531    </blockquote><p>
6532                        
6533    </p>
6534    <p>Example:
6535    </p>
6536    <p>
6537                            </p>
6538    <blockquote class="text">
6539    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6540    </p>
6541    <p>S: "2"
6542    </p>
6543    </blockquote><p>
6544                        
6545    </p>
6546    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6547    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6548    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6549    Getting all created MIDI instrument maps</h3>
6550    
6551    <p>The number of MIDI instrument maps can change on runtime. To get the
6552                        current list of MIDI instrument maps, the front-end can send the
6553                        following command:
6554    </p>
6555    <p>
6556                            </p>
6557    <blockquote class="text">
6558    <p>LIST MIDI_INSTRUMENT_MAPS
6559    </p>
6560    </blockquote><p>
6561                        
6562    </p>
6563    <p>Possible Answers:
6564    </p>
6565    <p>
6566                            </p>
6567    <blockquote class="text">
6568    <p>The sampler will answer by returning a comma separated list
6569                                with all MIDI instrument maps' numerical IDs.
6570    </p>
6571    </blockquote><p>
6572                        
6573    </p>
6574    <p>Example:
6575    </p>
6576    <p>
6577                            </p>
6578    <blockquote class="text">
6579    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6580    </p>
6581    <p>S: "0,1,5,12"
6582    </p>
6583    </blockquote><p>
6584                        
6585    </p>
6586    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6587    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6588    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6589    Getting MIDI instrument map information</h3>
6590    
6591    <p>The front-end can ask for the current settings of a MIDI
6592                        instrument map by sending the following command:
6593    </p>
6594    <p>
6595                            </p>
6596    <blockquote class="text">
6597    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6598    </p>
6599    </blockquote><p>
6600                        
6601    </p>
6602    <p>Where &lt;map&gt; is the numerical ID of the map the
6603                        front-end is interested in as returned by the
6604                        <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>
6605                        command.
6606    </p>
6607    <p>Possible Answers:
6608    </p>
6609    <p>
6610                            </p>
6611    <blockquote class="text">
6612    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6613                                Each answer line begins with the settings category name
6614                                followed by a colon and then a space character &lt;SP&gt; and finally
6615                                the info character string to that setting category. At the
6616                                moment the following categories are defined:
6617    </p>
6618    <p>
6619                                    </p>
6620    <blockquote class="text">
6621    <p>NAME -
6622                                            </p>
6623    <blockquote class="text">
6624    <p>custom name of the given map,
6625                                                which does not have to be unique
6626                                                (note that this character string may contain
6627                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6628    </p>
6629    </blockquote>
6630                                        
6631    
6632    <p>DEFAULT -
6633                                            </p>
6634    <blockquote class="text">
6635    <p>either true or false,
6636                                                defines whether this map is the default map
6637    </p>
6638    </blockquote>
6639                                        
6640    
6641    </blockquote>
6642                                
6643    
6644    </blockquote><p>
6645                        
6646    </p>
6647    <p>The mentioned fields above don't have to be in particular order.
6648    </p>
6649    <p>Example:
6650    </p>
6651    <p>
6652                            </p>
6653    <blockquote class="text">
6654    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6655    </p>
6656    <p>S: "NAME: Standard Map"
6657    </p>
6658    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6659    </p>
6660    <p>&nbsp;&nbsp;&nbsp;"."
6661    </p>
6662    </blockquote><p>
6663                        
6664    </p>
6665    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6666    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6667    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6668    Renaming a MIDI instrument map</h3>
6669    
6670    <p>The front-end can alter the custom name of a MIDI
6671                        instrument map by sending the following command:
6672    </p>
6673    <p>
6674                            </p>
6675    <blockquote class="text">
6676    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6677    </p>
6678    </blockquote><p>
6679                        
6680    </p>
6681    <p>Where &lt;map&gt; is the numerical ID of the map and
6682                        &lt;name&gt; the new custom name of the map, which does not
6683                        have to be unique (name MUST be encapsulated into apostrophes
6684                        and supports escape sequences as described in chapter
6685                        "<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>").
6686                        
6687    </p>
6688    <p>Possible Answers:
6689    </p>
6690    <p>
6691                            </p>
6692    <blockquote class="text">
6693    <p>"OK" -
6694                                    </p>
6695    <blockquote class="text">
6696    <p>on success
6697    </p>
6698    </blockquote>
6699                                
6700    
6701    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6702                                    </p>
6703    <blockquote class="text">
6704    <p>in case the given map does not exist
6705    </p>
6706    </blockquote>
6707                                
6708    
6709    </blockquote><p>
6710                        
6711    </p>
6712    <p>Example:
6713    </p>
6714    <p>
6715                            </p>
6716    <blockquote class="text">
6717    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
6718    </p>
6719    <p>S: "OK"
6720    </p>
6721    </blockquote><p>
6722                        
6723    </p>
6724    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
6725    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6726    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
6727    Create or replace a MIDI instrument map entry</h3>
6728    
6729    <p>The front-end can create a new or replace an existing entry
6730                        in a sampler's MIDI instrument map by sending the following
6731                        command:
6732    </p>
6733    <p>
6734                            </p>
6735    <blockquote class="text">
6736    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
6737                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
6738                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
6739                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
6740    </p>
6741    </blockquote><p>
6742                        
6743    </p>
6744    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
6745                        &lt;midi_bank&gt; is an integer value between
6746                        0..16383 reflecting the MIDI bank select index,
6747                        &lt;midi_prog&gt; an
6748                        integer value between 0..127 reflecting the MIDI program change
6749                        index, &lt;engine_name&gt; a sampler engine name as returned by
6750                        the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
6751                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
6752                        of the instrument's file to be deployed (encapsulated into apostrophes,
6753                        supporting escape sequences as described in chapter
6754                        "<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>"),
6755                        &lt;instrument_index&gt; the index (integer value) of the instrument
6756                        within the given file, &lt;volume_value&gt; reflects the master
6757                        volume of the instrument as optionally dotted number (where a
6758                        value &lt; 1.0 means attenuation and a value > 1.0 means
6759                        amplification). This parameter easily allows to adjust the
6760                        volume of all intruments within a custom instrument map
6761                        without having to adjust their instrument files. The
6762                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
6763                        time of the instrument, that is when the instrument should
6764                        be loaded, when freed and has exactly the following
6765                        possibilities:
6766    </p>
6767    <p>
6768                            </p>
6769    <blockquote class="text">
6770    <p>"ON_DEMAND" -
6771                                    </p>
6772    <blockquote class="text">
6773    <p>The instrument will be loaded when needed,
6774                                        that is when demanded by at least one sampler
6775                                        channel. It will immediately be freed from memory
6776                                        when not needed by any sampler channel anymore.
6777    </p>
6778    </blockquote>
6779                                
6780    
6781    <p>"ON_DEMAND_HOLD" -
6782                                    </p>
6783    <blockquote class="text">
6784    <p>The instrument will be loaded when needed,
6785                                        that is when demanded by at least one sampler
6786                                        channel. It will be kept in memory even when
6787                                        not needed by any sampler channel anymore.
6788                                        Instruments with this mode are only freed
6789                                        when the sampler is reset or all mapping
6790                                        entries with this mode (and respective
6791                                        instrument) are explicitly changed to
6792                                        "ON_DEMAND" and no sampler channel is using
6793                                        the instrument anymore.
6794    </p>
6795    </blockquote>
6796                                
6797    
6798    <p>"PERSISTENT" -
6799                                    </p>
6800    <blockquote class="text">
6801    <p>The instrument will immediately be loaded
6802                                        into memory when this mapping
6803                                        command is sent and the instrument is kept all
6804                                        the time. Instruments with this mode are
6805                                        only freed when the sampler is reset or all
6806                                        mapping entries with this mode (and
6807                                        respective instrument) are explicitly
6808                                        changed to "ON_DEMAND" and no sampler
6809                                        channel is using the instrument anymore.
6810    </p>
6811    </blockquote>
6812                                
6813    
6814    <p>not supplied -
6815                                    </p>
6816    <blockquote class="text">
6817    <p>In case there is no &lt;instr_load_mode&gt;
6818                                        argument given, it will be up to the
6819                                        InstrumentManager to decide which mode to use.
6820                                        Usually it will use "ON_DEMAND" if an entry
6821                                        for the given instrument does not exist in
6822                                        the InstrumentManager's list yet, otherwise
6823                                        if an entry already exists, it will simply
6824                                        stick with the mode currently reflected by
6825                                        the already existing entry, that is it will
6826                                        not change the mode.
6827    </p>
6828    </blockquote>
6829                                
6830    
6831    </blockquote><p>
6832                        
6833    </p>
6834    <p>
6835                        The &lt;instr_load_mode&gt; argument thus allows to define an
6836                        appropriate strategy (low memory consumption vs. fast
6837                        instrument switching) for each instrument individually. Note, the
6838                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
6839                        "PERSISTENT" have to be supported by the respective sampler engine
6840                        (which is technically the case when the engine provides an
6841                        InstrumentManager for its format). If this is not the case the
6842                        argument will automatically fall back to the default value
6843                        "ON_DEMAND". Also the load mode of one instrument may
6844                        automatically change the laod mode of other instrument(s), i.e.
6845                        because the instruments are part of the same file and the
6846                        engine does not allow a way to manage load modes for them
6847                        individually. Due to this, in case the frontend shows the
6848                        load modes of entries, the frontend should retrieve the actual
6849                        mode by i.e. sending
6850                        <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>
6851                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
6852                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
6853                        "<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
6854                        mapping entry, useful for frontends for displaying an appropriate name for
6855                        mapped instruments (using
6856                        <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>).
6857                        
6858    </p>
6859    <p>
6860                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
6861                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
6862                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
6863                        immediately, that is to let the sampler establish the mapping in the
6864                        background. So this argument might be especially useful for mappings with
6865                        a "PERSISTENT" type, because these have to load the respective instruments
6866                        immediately and might thus block for a very long time. It is recommended
6867                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
6868                        because it has the following drawbacks: as "NON_MODAL" instructions return
6869                        immediately, they may not necessarily return an error i.e. when the given
6870                        instrument file turns out to be corrupt, beside that subsequent commands
6871                        in a LSCP instruction sequence might fail, because mandatory mappings are
6872                        not yet completed.
6873                        
6874    </p>
6875    <p>Possible Answers:
6876    </p>
6877    <p>
6878                            </p>
6879    <blockquote class="text">
6880    <p>"OK" -
6881                                    </p>
6882    <blockquote class="text">
6883    <p>usually
6884    </p>
6885    </blockquote>
6886                                
6887    
6888    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6889                                    </p>
6890    <blockquote class="text">
6891    <p>when the given map or engine does not exist or a value
6892                                        is out of range
6893    </p>
6894    </blockquote>
6895                                
6896    
6897    </blockquote><p>
6898                        
6899    </p>
6900    <p>Examples:
6901    </p>
6902    <p>
6903                            </p>
6904    <blockquote class="text">
6905    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
6906    </p>
6907    <p>S: "OK"
6908    </p>
6909    </blockquote><p>
6910                        
6911    </p>
6912    <p>
6913                            </p>
6914    <blockquote class="text">
6915    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
6916    </p>
6917    <p>S: "OK"
6918    </p>
6919    </blockquote><p>
6920                        
6921    </p>
6922    <p>
6923                            </p>
6924    <blockquote class="text">
6925    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
6926    </p>
6927    <p>S: "OK"
6928    </p>
6929    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
6930    </p>
6931    <p>S: "OK"
6932    </p>
6933    </blockquote><p>
6934                        
6935    </p>
6936    <p>
6937                            </p>
6938    <blockquote class="text">
6939    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
6940    </p>
6941    <p>S: "OK"
6942    </p>
6943    </blockquote><p>
6944                        
6945    </p>
6946    <a name="GET 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.8"></a><h3>6.7.8.&nbsp;
6949    Getting ammount of MIDI instrument map entries</h3>
6950    
6951    <p>The front-end can query the amount of currently existing
6952                        entries in a MIDI instrument map by sending the following
6953                        command:
6954    </p>
6955    <p>
6956                            </p>
6957    <blockquote class="text">
6958    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
6959    </p>
6960    </blockquote><p>
6961                        
6962    </p>
6963    <p>The front-end can query the amount of currently existing
6964                        entries in all MIDI instrument maps by sending the following
6965                        command:
6966    </p>
6967    <p>
6968                            </p>
6969    <blockquote class="text">
6970    <p>GET MIDI_INSTRUMENTS ALL
6971    </p>
6972    </blockquote><p>
6973                        
6974    </p>
6975    <p>Possible Answers:
6976    </p>
6977    <p>
6978                            </p>
6979    <blockquote class="text">
6980    <p>The sampler will answer by sending the current number of
6981                                entries in the MIDI instrument map(s).
6982    </p>
6983    </blockquote><p>
6984                        
6985    </p>
6986    <p>Example:
6987    </p>
6988    <p>
6989                            </p>
6990    <blockquote class="text">
6991    <p>C: "GET MIDI_INSTRUMENTS 0"
6992    </p>
6993    <p>S: "234"
6994    </p>
6995    </blockquote><p>
6996                        
6997    </p>
6998    <p>
6999                            </p>
7000    <blockquote class="text">
7001    <p>C: "GET MIDI_INSTRUMENTS ALL"
7002    </p>
7003    <p>S: "954"
7004    </p>
7005    </blockquote><p>
7006                        
7007    </p>
7008    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7009    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7010    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7011    Getting indeces of all entries of a MIDI instrument map</h3>
7012    
7013    <p>The front-end can query a list of all currently existing
7014                        entries in a certain MIDI instrument map by sending the following
7015                        command:
7016    </p>
7017    <p>
7018                            </p>
7019    <blockquote class="text">
7020    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7021    </p>
7022    </blockquote><p>
7023                        
7024    </p>
7025    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7026    </p>
7027    <p>The front-end can query a list of all currently existing
7028                        entries of all MIDI instrument maps by sending the following
7029                        command:
7030    </p>
7031    <p>
7032                            </p>
7033    <blockquote class="text">
7034    <p>LIST MIDI_INSTRUMENTS ALL
7035    </p>
7036    </blockquote><p>
7037                        
7038    </p>
7039    <p>Possible Answers:
7040    </p>
7041    <p>
7042                            </p>
7043    <blockquote class="text">
7044    <p>The sampler will answer by sending a comma separated
7045                                list of map ID - MIDI bank - MIDI program triples, where
7046                                each triple is encapsulated into curly braces. The
7047                                list is returned in one single line. Each triple
7048                                just reflects the key of the respective map entry,
7049                                thus subsequent
7050                                <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>
7051                                command(s) are necessary to retrieve detailed informations
7052                                about each entry.
7053    </p>
7054    </blockquote><p>
7055                        
7056    </p>
7057    <p>Example:
7058    </p>
7059    <p>
7060                            </p>
7061    <blockquote class="text">
7062    <p>C: "LIST MIDI_INSTRUMENTS 0"
7063    </p>
7064    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7065    </p>
7066    </blockquote><p>
7067                        
7068    </p>
7069    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7070    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7071    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7072    Remove an entry from the MIDI instrument map</h3>
7073    
7074    <p>The front-end can delete an entry from a MIDI instrument
7075                        map by sending the following command:
7076    </p>
7077    <p>
7078                            </p>
7079    <blockquote class="text">
7080    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7081    </p>
7082    </blockquote><p>
7083                        
7084    </p>
7085    <p>
7086                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7087                        &lt;midi_bank&gt; is an integer value between 0..16383
7088                        reflecting the MIDI bank value and
7089                        &lt;midi_prog&gt; an integer value between
7090                        0..127 reflecting the MIDI program value of the map's entrie's key
7091                        index triple.
7092                        
7093    </p>
7094    <p>Possible Answers:
7095    </p>
7096    <p>
7097                            </p>
7098    <blockquote class="text">
7099    <p>"OK" -
7100                                    </p>
7101    <blockquote class="text">
7102    <p>usually
7103    </p>
7104    </blockquote>
7105                                
7106    
7107    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7108                                    </p>
7109    <blockquote class="text">
7110    <p>when index out of bounds
7111    </p>
7112    </blockquote>
7113                                
7114    
7115    </blockquote><p>
7116                        
7117    </p>
7118    <p>Example:
7119    </p>
7120    <p>
7121                            </p>
7122    <blockquote class="text">
7123    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7124    </p>
7125    <p>S: "OK"
7126    </p>
7127    </blockquote><p>
7128                        
7129    </p>
7130    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7131    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7132    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7133    Get current settings of MIDI instrument map entry</h3>
7134    
7135    <p>The front-end can retrieve the current settings of a certain
7136                        instrument map entry by sending the following command:
7137    </p>
7138    <p>
7139                            </p>
7140    <blockquote class="text">
7141    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7142    </p>
7143    </blockquote><p>
7144                        
7145    </p>
7146    <p>
7147                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7148                        &lt;midi_bank&gt; is an integer value between 0..16383
7149                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7150                        and &lt;midi_prog&gt; an integer value between
7151                        0..127 reflecting the MIDI program value of the map's entrie's key
7152                        index triple.
7153                        
7154    </p>
7155    <p>Possible Answers:
7156    </p>
7157    <p>
7158                            </p>
7159    <blockquote class="text">
7160    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7161                                separated list. Each answer line begins with the
7162                                information category name followed by a colon and then
7163                                a space character &lt;SP&gt; and finally the info
7164                                character string to that info category. At the moment
7165                                the following categories are defined:
7166    </p>
7167    <p>"NAME" -
7168                                    </p>
7169    <blockquote class="text">
7170    <p>Name for this MIDI instrument map entry (if defined).
7171                                        This name shall be used by frontends for displaying a
7172                                        name for this mapped instrument. It can be set and
7173                                        changed with the
7174                                        <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>
7175                                        command and does not have to be unique.
7176                                        (note that this character string may contain
7177                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7178    </p>
7179    </blockquote>
7180                                
7181    
7182    <p>"ENGINE_NAME" -
7183                                    </p>
7184    <blockquote class="text">
7185    <p>Name of the engine to be deployed for this
7186                                        instrument.
7187    </p>
7188    </blockquote>
7189                                
7190    
7191    <p>"INSTRUMENT_FILE" -
7192                                    </p>
7193    <blockquote class="text">
7194    <p>File name of the instrument
7195                                        (note that this path may contain
7196                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7197    </p>
7198    </blockquote>
7199                                
7200    
7201    <p>"INSTRUMENT_NR" -
7202                                    </p>
7203    <blockquote class="text">
7204    <p>Index of the instrument within the file.
7205    </p>
7206    </blockquote>
7207                                
7208    
7209    <p>"INSTRUMENT_NAME" -
7210                                    </p>
7211    <blockquote class="text">
7212    <p>Name of the loaded instrument as reflected by its file.
7213                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7214                                        cannot be changed (note that this character string may contain
7215                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7216    </p>
7217    </blockquote>
7218                                
7219    
7220    <p>"LOAD_MODE" -
7221                                    </p>
7222    <blockquote class="text">
7223    <p>Life time of instrument
7224                                        (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).
7225    </p>
7226    </blockquote>
7227                                
7228    
7229    <p>"VOLUME" -
7230                                    </p>
7231    <blockquote class="text">
7232    <p>master volume of the instrument as optionally
7233                                        dotted number (where a value &lt; 1.0 means attenuation
7234                                        and a value > 1.0 means amplification)
7235    </p>
7236    </blockquote>
7237                                
7238    
7239    <p>The mentioned fields above don't have to be in particular order.
7240    </p>
7241    </blockquote><p>
7242                        
7243    </p>
7244    <p>Example:
7245    </p>
7246    <p>
7247                            </p>
7248    <blockquote class="text">
7249    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7250    </p>
7251    <p>S: "NAME: Drums for Foo Song"
7252    </p>
7253    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7254    </p>
7255    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7256    </p>
7257    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7258    </p>
7259    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7260    </p>
7261    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7262    </p>
7263    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7264    </p>
7265    <p>&nbsp;&nbsp;&nbsp;"."
7266    </p>
7267    </blockquote><p>
7268                        
7269    </p>
7270    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7271    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7272    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7273    Clear MIDI instrument map</h3>
7274    
7275    <p>The front-end can clear a whole MIDI instrument map, that
7276                        is delete all its entries by sending the following command:
7277    </p>
7278    <p>
7279                            </p>
7280    <blockquote class="text">
7281    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7282    </p>
7283    </blockquote><p>
7284                        
7285    </p>
7286    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7287    </p>
7288    <p>The front-end can clear all MIDI instrument maps, that
7289                        is delete all entries of all maps by sending the following
7290                        command:
7291    </p>
7292    <p>
7293                            </p>
7294    <blockquote class="text">
7295    <p>CLEAR MIDI_INSTRUMENTS ALL
7296    </p>
7297    </blockquote><p>
7298                        
7299    </p>
7300    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7301                        maps, only their entries, thus the map's settings like
7302                        custom name will be preservevd.
7303    </p>
7304    <p>Possible Answers:
7305    </p>
7306    <p>
7307                            </p>
7308    <blockquote class="text">
7309    <p>"OK" -
7310                                    </p>
7311    <blockquote class="text">
7312    <p>always
7313    </p>
7314    </blockquote>
7315                                
7316    
7317    </blockquote><p>
7318                        
7319    </p>
7320    <p>Examples:
7321    </p>
7322    <p>
7323                           </p>
7324    <blockquote class="text">
7325    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7326    </p>
7327    <p>S: "OK"
7328    </p>
7329    </blockquote><p>
7330                        
7331    </p>
7332    <p>
7333                           </p>
7334    <blockquote class="text">
7335    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7336    </p>
7337    <p>S: "OK"
7338    </p>
7339    </blockquote><p>
7340                        
7341    </p>
7342    <a name="Managing Instruments Database"></a><br /><hr />
7343    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7344    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7345    Managing Instruments Database</h3>
7346    
7347    <p>The following commands describe how to use and manage
7348                    the instruments database.
7349    </p>
7350    <p>Notice:
7351    </p>
7352    <p>
7353                            </p>
7354    <blockquote class="text">
7355    <p>All command arguments representing a path or
7356                                instrument/directory name support escape sequences as described in chapter
7357                                "<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>".
7358                                
7359    </p>
7360    <p>All occurrences of a forward slash in instrument and directory
7361                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7362                                
7363    </p>
7364    </blockquote><p>
7365                        
7366    </p>
7367    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7368    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7369    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7370    Creating a new instrument directory</h3>
7371    
7372    <p>The front-end can add a new instrument directory to the
7373                        instruments database by sending the following command:
7374    </p>
7375    <p>
7376                            </p>
7377    <blockquote class="text">
7378    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7379    </p>
7380    </blockquote><p>
7381                        
7382    </p>
7383    <p>Where &lt;dir&gt; is the absolute path name of the directory
7384                        to be created (encapsulated into apostrophes).
7385    </p>
7386    <p>Possible Answers:
7387    </p>
7388    <p>
7389                            </p>
7390    <blockquote class="text">
7391    <p>"OK" -
7392                                    </p>
7393    <blockquote class="text">
7394    <p>on success
7395    </p>
7396    </blockquote>
7397                                
7398    
7399    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7400                                    </p>
7401    <blockquote class="text">
7402    <p>when the directory could not be created, which
7403                                        can happen if the directory already exists or the
7404                                        name contains not allowed symbols
7405    </p>
7406    </blockquote>
7407                                
7408    
7409    </blockquote><p>
7410                        
7411    </p>
7412    <p>Examples:
7413    </p>
7414    <p>
7415                            </p>
7416    <blockquote class="text">
7417    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7418    </p>
7419    <p>S: "OK"
7420    </p>
7421    </blockquote><p>
7422                        
7423    </p>
7424    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7425    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7426    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7427    Deleting an instrument directory</h3>
7428    
7429    <p>The front-end can delete a particular instrument directory
7430                        from the instruments database by sending the following command:
7431    </p>
7432    <p>
7433                            </p>
7434    <blockquote class="text">
7435    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7436    </p>
7437    </blockquote><p>
7438                        
7439    </p>
7440    <p>Where &lt;dir&gt; is the absolute path name of the directory
7441                        to delete. The optional FORCE argument can be used to
7442                        force the deletion of a non-empty directory and all its content.
7443    </p>
7444    <p>Possible Answers:
7445    </p>
7446    <p>
7447                            </p>
7448    <blockquote class="text">
7449    <p>"OK" -
7450                                    </p>
7451    <blockquote class="text">
7452    <p>if the directory is deleted successfully
7453    </p>
7454    </blockquote>
7455                                
7456    
7457    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7458                                    </p>
7459    <blockquote class="text">
7460    <p>if the given directory does not exist, or
7461                                        if trying to delete a non-empty directory,
7462                                        without using the FORCE argument.
7463    </p>
7464    </blockquote>
7465                                
7466    
7467    </blockquote><p>
7468                        
7469    </p>
7470    <p>Examples:
7471    </p>
7472    <p>
7473                            </p>
7474    <blockquote class="text">
7475    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7476    </p>
7477    <p>S: "OK"
7478    </p>
7479    </blockquote><p>
7480                        
7481    </p>
7482    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7483    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7484    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7485    Getting amount of instrument directories</h3>
7486    
7487    <p>The front-end can retrieve the current amount of
7488                        directories in a specific directory by sending the following command:
7489    </p>
7490    <p>
7491                            </p>
7492    <blockquote class="text">
7493    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7494    </p>
7495    </blockquote><p>
7496                        
7497    </p>
7498    <p>Where &lt;dir&gt; should be replaced by the absolute path
7499                        name of the directory. If RECURSIVE is specified, the number of
7500                        all directories, including those located in subdirectories of the
7501                        specified directory, will be returned.
7502    </p>
7503    <p>Possible Answers:
7504    </p>
7505    <p>
7506                            </p>
7507    <blockquote class="text">
7508    <p>The current number of instrument directories
7509                                in the specified directory.
7510    </p>
7511    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7512                                    </p>
7513    <blockquote class="text">
7514    <p>if the given directory does not exist.
7515    </p>
7516    </blockquote>
7517                                
7518    
7519    </blockquote><p>
7520                        
7521    </p>
7522    <p>Example:
7523    </p>
7524    <p>
7525                            </p>
7526    <blockquote class="text">
7527    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7528    </p>
7529    <p>S: "2"
7530    </p>
7531    </blockquote><p>
7532                        
7533    </p>
7534    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7535    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7536    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7537    Listing all directories in specific directory</h3>
7538    
7539    <p>The front-end can retrieve the current list of directories
7540                        in specific directory by sending the following command:
7541    </p>
7542    <p>
7543                            </p>
7544    <blockquote class="text">
7545    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7546    </p>
7547    </blockquote><p>
7548                        
7549    </p>
7550    <p>Where &lt;dir&gt; should be replaced by the absolute path
7551                        name of the directory. If RECURSIVE is specified, the absolute path names
7552                        of all directories, including those located in subdirectories of the
7553                        specified directory, will be returned.
7554    </p>
7555    <p>Possible Answers:
7556    </p>
7557    <p>
7558                            </p>
7559    <blockquote class="text">
7560    <p>A comma separated list of all instrument directories
7561                                (encapsulated into apostrophes) in the specified directory.
7562    </p>
7563    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7564                                    </p>
7565    <blockquote class="text">
7566    <p>if the given directory does not exist.
7567    </p>
7568    </blockquote>
7569                                
7570    
7571    </blockquote><p>
7572                        
7573    </p>
7574    <p>Example:
7575    </p>
7576    <p>
7577                            </p>
7578    <blockquote class="text">
7579    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7580    </p>
7581    <p>S: "'Piano Collection','Percussion Collection'"
7582    </p>
7583    </blockquote><p>
7584                        
7585    </p>
7586    <p>
7587                            </p>
7588    <blockquote class="text">
7589    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7590    </p>
7591    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7592    </p>
7593    </blockquote><p>
7594                        
7595    </p>
7596    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
7597    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7598    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
7599    Getting instrument directory information</h3>
7600    
7601    <p>The front-end can ask for the current settings of an
7602                        instrument directory by sending the following command:
7603    </p>
7604    <p>
7605                            </p>
7606    <blockquote class="text">
7607    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7608    </p>
7609    </blockquote><p>
7610                        
7611    </p>
7612    <p>Where &lt;dir&gt; should be replaced by the absolute path
7613                        name of the directory the front-end is interested in.
7614    </p>
7615    <p>Possible Answers:
7616    </p>
7617    <p>
7618                            </p>
7619    <blockquote class="text">
7620    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7621                                Each answer line begins with the settings category name
7622                                followed by a colon and then a space character &lt;SP&gt; and finally
7623                                the info character string to that setting category. At the
7624                                moment the following categories are defined:
7625    </p>
7626    <p>
7627                                    </p>
7628    <blockquote class="text">
7629    <p>DESCRIPTION -
7630                                            </p>
7631    <blockquote class="text">
7632    <p>A brief description of the directory content.
7633                                                Note that the character string may contain
7634                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7635    </p>
7636    </blockquote>
7637                                        
7638    
7639    <p>CREATED -
7640                                            </p>
7641    <blockquote class="text">
7642    <p>The creation date and time of the directory,
7643                                                represented in "YYYY-MM-DD HH:MM:SS" format
7644    </p>
7645    </blockquote>
7646                                        
7647    
7648    <p>MODIFIED -
7649                                            </p>
7650    <blockquote class="text">
7651    <p>The date and time of the last modification of the
7652                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7653    </p>
7654    </blockquote>
7655                                        
7656    
7657    </blockquote>
7658                                
7659    
7660    </blockquote><p>
7661                        
7662    </p>
7663    <p>The mentioned fields above don't have to be in particular order.
7664    </p>
7665    <p>Example:
7666    </p>
7667    <p>
7668                            </p>
7669    <blockquote class="text">
7670    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7671    </p>
7672    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7673    </p>
7674    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7675    </p>
7676    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7677    </p>
7678    <p>&nbsp;&nbsp;&nbsp;"."
7679    </p>
7680    </blockquote><p>
7681                        
7682    </p>
7683    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7684    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7685    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7686    Renaming an instrument directory</h3>
7687    
7688    <p>The front-end can alter the name of a specific
7689                        instrument directory by sending the following command:
7690    </p>
7691    <p>
7692                            </p>
7693    <blockquote class="text">
7694    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7695    </p>
7696    </blockquote><p>
7697                        
7698    </p>
7699    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7700                        &lt;name&gt; is the new name for that directory.
7701    </p>
7702    <p>Possible Answers:
7703    </p>
7704    <p>
7705                            </p>
7706    <blockquote class="text">
7707    <p>"OK" -
7708                                    </p>
7709    <blockquote class="text">
7710    <p>on success
7711    </p>
7712    </blockquote>
7713                                
7714    
7715    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7716                                    </p>
7717    <blockquote class="text">
7718    <p>in case the given directory does not exists,
7719                                        or if a directory with name equal to the new
7720                                        name already exists.
7721    </p>
7722    </blockquote>
7723                                
7724    
7725    </blockquote><p>
7726                        
7727    </p>
7728    <p>Example:
7729    </p>
7730    <p>
7731                            </p>
7732    <blockquote class="text">
7733    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
7734    </p>
7735    <p>S: "OK"
7736    </p>
7737    </blockquote><p>
7738                        
7739    </p>
7740    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7741    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7742    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
7743    Moving an instrument directory</h3>
7744    
7745    <p>The front-end can move a specific
7746                        instrument directory by sending the following command:
7747    </p>
7748    <p>
7749                            </p>
7750    <blockquote class="text">
7751    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7752    </p>
7753    </blockquote><p>
7754                        
7755    </p>
7756    <p>Where &lt;dir&gt; is the absolute path name of the directory
7757                        to move and &lt;dst&gt; is the location where the directory will
7758                        be moved to.
7759    </p>
7760    <p>Possible Answers:
7761    </p>
7762    <p>
7763                            </p>
7764    <blockquote class="text">
7765    <p>"OK" -
7766                                    </p>
7767    <blockquote class="text">
7768    <p>on success
7769    </p>
7770    </blockquote>
7771                                
7772    
7773    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7774                                    </p>
7775    <blockquote class="text">
7776    <p>in case a given directory does not exists,
7777                                        or if a directory with name equal to the name
7778                                        of the specified directory already exists in
7779                                        the destination directory. Error is also thrown
7780                                        when trying to move a directory to a subdirectory
7781                                        of itself.
7782    </p>
7783    </blockquote>
7784                                
7785    
7786    </blockquote><p>
7787                        
7788    </p>
7789    <p>Example:
7790    </p>
7791    <p>
7792                            </p>
7793    <blockquote class="text">
7794    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
7795    </p>
7796    <p>S: "OK"
7797    </p>
7798    </blockquote><p>
7799                        
7800    </p>
7801    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7802    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7803    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
7804    Copying instrument directories</h3>
7805    
7806    <p>The front-end can copy a specific
7807                        instrument directory by sending the following command:
7808    </p>
7809    <p>
7810                            </p>
7811    <blockquote class="text">
7812    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
7813    </p>
7814    </blockquote><p>
7815                        
7816    </p>
7817    <p>Where &lt;dir&gt; is the absolute path name of the directory
7818                        to copy and &lt;dst&gt; is the location where the directory will
7819                        be copied to.
7820    </p>
7821    <p>Possible Answers:
7822    </p>
7823    <p>
7824                            </p>
7825    <blockquote class="text">
7826    <p>"OK" -
7827                                    </p>
7828    <blockquote class="text">
7829    <p>on success
7830    </p>
7831    </blockquote>
7832                                
7833    
7834    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7835                                    </p>
7836    <blockquote class="text">
7837    <p>in case a given directory does not exists,
7838                                        or if a directory with name equal to the name
7839                                        of the specified directory already exists in
7840                                        the destination directory. Error is also thrown
7841                                        when trying to copy a directory to a subdirectory
7842                                        of itself.
7843    </p>
7844    </blockquote>
7845                                
7846    
7847    </blockquote><p>
7848                        
7849    </p>
7850    <p>Example:
7851    </p>
7852    <p>
7853                            </p>
7854    <blockquote class="text">
7855    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
7856    </p>
7857    <p>S: "OK"
7858    </p>
7859    </blockquote><p>
7860                        
7861    </p>
7862    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
7863    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7864    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
7865    Changing the description of directory</h3>
7866    
7867    <p>The front-end can alter the description of a specific
7868                        instrument directory by sending the following command:
7869    </p>
7870    <p>
7871                            </p>
7872    <blockquote class="text">
7873    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
7874    </p>
7875    </blockquote><p>
7876                        
7877    </p>
7878    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7879                        &lt;desc&gt; is the new description for the directory
7880                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7881                        "<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>").
7882    </p>
7883    <p>Possible Answers:
7884    </p>
7885    <p>
7886                            </p>
7887    <blockquote class="text">
7888    <p>"OK" -
7889                                    </p>
7890    <blockquote class="text">
7891    <p>on success
7892    </p>
7893    </blockquote>
7894                                
7895    
7896    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7897                                    </p>
7898    <blockquote class="text">
7899    <p>in case the given directory does not exists.
7900    </p>
7901    </blockquote>
7902                                
7903    
7904    </blockquote><p>
7905                        
7906    </p>
7907    <p>Example:
7908    </p>
7909    <p>
7910                            </p>
7911    <blockquote class="text">
7912    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
7913    </p>
7914    <p>S: "OK"
7915    </p>
7916    </blockquote><p>
7917                        
7918    </p>
7919    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7920    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7921    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
7922    Finding directories</h3>
7923    
7924    <p>The front-end can search for directories
7925                        in specific directory by sending the following command:
7926    </p>
7927    <p>
7928                            </p>
7929    <blockquote class="text">
7930    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
7931    </p>
7932    </blockquote><p>
7933                        
7934    </p>
7935    <p>Where &lt;dir&gt; should be replaced by the absolute path
7936                        name of the directory to search in. If NON_RECURSIVE is specified, the
7937                        directories located in subdirectories of the specified directory will not
7938                        be searched. &lt;criteria-list&gt; is a list of search criterias
7939                        in form of "key1=val1 key2=val2 ...". The following criterias are
7940                        allowed:
7941    </p>
7942    <p>
7943                          
7944    <p>NAME='&lt;search-string&gt;'
7945                              </p>
7946    <blockquote class="text">
7947    <p>Restricts the search to directories, which names
7948                                  satisfy the supplied search string (encapsulated into apostrophes,
7949                                  supporting escape sequences as described in chapter
7950                                  "<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>").
7951    </p>
7952    </blockquote><p>
7953                          
7954    </p>
7955    
7956                          
7957    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7958                              </p>
7959    <blockquote class="text">
7960    <p>Restricts the search to directories, which creation
7961                                  date satisfies the specified period, where &lt;date-after&gt;
7962                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
7963                                  If &lt;date-after&gt; is omitted the search is restricted to
7964                                  directories created before &lt;date-before&gt;. If
7965                                  &lt;date-before&gt; is omitted, the search is restricted
7966                                  to directories created after &lt;date-after&gt;.
7967    </p>
7968    </blockquote><p>
7969                          
7970    </p>
7971    
7972                          
7973    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
7974                              </p>
7975    <blockquote class="text">
7976    <p>Restricts the search to directories, which
7977                                  date of last modification satisfies the specified period, where
7978                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
7979                                  format. If &lt;date-after&gt; is omitted the search is restricted to
7980                                  directories, which are last modified before &lt;date-before&gt;. If
7981                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
7982                                  which are last modified after &lt;date-after&gt;.
7983    </p>
7984    </blockquote><p>
7985                          
7986    </p>
7987    
7988                          
7989    <p>DESCRIPTION='&lt;search-string&gt;'
7990                              </p>
7991    <blockquote class="text">
7992    <p>Restricts the search to directories with description
7993                                  that satisfies the supplied search string
7994                                  (encapsulated into apostrophes, supporting escape
7995                                  sequences as described in chapter
7996                                  "<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>").
7997    </p>
7998    </blockquote><p>
7999                          
8000    </p>
8001                        
8002    
8003    <p>Where &lt;search-string&gt; is either a regular expression, or a
8004                        word list separated with spaces for OR search and with '+' for AND search.
8005    </p>
8006    <p>Possible Answers:
8007    </p>
8008    <p>
8009                            </p>
8010    <blockquote class="text">
8011    <p>A comma separated list with the absolute path names (encapsulated into
8012                                apostrophes) of all directories in the specified directory that satisfy
8013                                the supplied search criterias.
8014    </p>
8015    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8016                                    </p>
8017    <blockquote class="text">
8018    <p>if the given directory does not exist.
8019    </p>
8020    </blockquote>
8021                                
8022    
8023    </blockquote><p>
8024                        
8025    </p>
8026    <p>Example:
8027    </p>
8028    <p>
8029                            </p>
8030    <blockquote class="text">
8031    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8032    </p>
8033    <p>S: "'/Piano Collection'"
8034    </p>
8035    </blockquote><p>
8036                        
8037    </p>
8038    <p>
8039                            </p>
8040    <blockquote class="text">
8041    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8042    </p>
8043    <p>S: "'/Piano Collection','/Percussions'"
8044    </p>
8045    </blockquote><p>
8046                        
8047    </p>
8048    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8049    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8050    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8051    Adding instruments to the instruments database</h3>
8052    
8053    <p>The front-end can add one or more instruments
8054                        to the instruments database by sending the following command:
8055    </p>
8056    <p>
8057                            </p>
8058    <blockquote class="text">
8059    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8060    </p>
8061    </blockquote><p>
8062                        
8063    </p>
8064    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8065                        (encapsulated into apostrophes) in the instruments database in which
8066                        only the new instruments (that are not already in the database) will
8067                        be added, &lt;file_path&gt; is the absolute path name of a file or
8068                        directory in the file system (encapsulated into apostrophes). In case
8069                        an instrument file is supplied, only the instruments in the specified
8070                        file will be added to the instruments database. If the optional
8071                        &lt;instr_index&gt; (the index of the instrument within the given file)
8072                        is supplied too, then only the specified instrument will be added.
8073                        In case a directory is supplied, the instruments in that directory
8074                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8075                        when a directory is provided as &lt;file_path&gt; and specifies how the
8076                        scanning will be done and has exactly the following possibilities:
8077    </p>
8078    <p>
8079                            </p>
8080    <blockquote class="text">
8081    <p>"RECURSIVE" -
8082                                    </p>
8083    <blockquote class="text">
8084    <p>All instruments will be processed, including those
8085                                        in the subdirectories, and the respective subdirectory
8086                                        tree structure will be recreated in the instruments
8087                                        database
8088    </p>
8089    </blockquote>
8090                                
8091    
8092    <p>"NON_RECURSIVE" -
8093                                    </p>
8094    <blockquote class="text">
8095    <p>Only the instruments in the specified directory
8096                                        will be added, the instruments in the subdirectories
8097                                        will not be processed.
8098    </p>
8099    </blockquote>
8100                                
8101    
8102    <p>"FLAT" -
8103                                    </p>
8104    <blockquote class="text">
8105    <p>All instruments will be processed, including those
8106                                        in the subdirectories, but the respective subdirectory
8107                                        structure will not be recreated in the instruments
8108                                        database. All instruments will be added directly in
8109                                        the specified database directory.
8110    </p>
8111    </blockquote>
8112                                
8113    
8114    </blockquote><p>
8115                        
8116    </p>
8117    <p>The difference between regular and NON_MODAL versions of the command
8118                        is that the regular command returns when the scanning is finished
8119                        while NON_MODAL version returns immediately and a background process is launched.
8120                        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>
8121                        command can be used to monitor the scanning progress.
8122    </p>
8123    <p>Possible Answers:
8124    </p>
8125    <p>
8126                            </p>
8127    <blockquote class="text">
8128    <p>"OK" -
8129                                    </p>
8130    <blockquote class="text">
8131    <p>on success when NON_MODAL is not supplied
8132    </p>
8133    </blockquote>
8134                                
8135    
8136    <p>"OK[&lt;job-id&gt;]" -
8137                                    </p>
8138    <blockquote class="text">
8139    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8140                                        is a numerical ID used to obtain status information about the job progress.
8141                                        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>
8142                                        
8143    </p>
8144    </blockquote>
8145                                
8146    
8147    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8148                                    </p>
8149    <blockquote class="text">
8150    <p>if an invalid path is specified.
8151    </p>
8152    </blockquote>
8153                                
8154    
8155    </blockquote><p>
8156                        
8157    </p>
8158    <p>Examples:
8159    </p>
8160    <p>
8161                            </p>
8162    <blockquote class="text">
8163    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8164    </p>
8165    <p>S: "OK"
8166    </p>
8167    </blockquote><p>
8168                        
8169    </p>
8170    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8171    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8172    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8173    Removing an instrument</h3>
8174    
8175    <p>The front-end can remove a particular instrument
8176                        from the instruments database by sending the following command:
8177    </p>
8178    <p>
8179                            </p>
8180    <blockquote class="text">
8181    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8182    </p>
8183    </blockquote><p>
8184                        
8185    </p>
8186    <p>Where &lt;instr_path&gt; is the absolute path name
8187                        (in the instruments database) of the instrument to remove.
8188    </p>
8189    <p>Possible Answers:
8190    </p>
8191    <p>
8192                            </p>
8193    <blockquote class="text">
8194    <p>"OK" -
8195                                    </p>
8196    <blockquote class="text">
8197    <p>if the instrument is removed successfully
8198    </p>
8199    </blockquote>
8200                                
8201    
8202    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8203                                    </p>
8204    <blockquote class="text">
8205    <p>if the given path does not exist or
8206                                        is a directory.
8207    </p>
8208    </blockquote>
8209                                
8210    
8211    </blockquote><p>
8212                        
8213    </p>
8214    <p>Examples:
8215    </p>
8216    <p>
8217                            </p>
8218    <blockquote class="text">
8219    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8220    </p>
8221    <p>S: "OK"
8222    </p>
8223    </blockquote><p>
8224                        
8225    </p>
8226    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8227    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8228    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8229    Getting amount of instruments</h3>
8230    
8231    <p>The front-end can retrieve the current amount of
8232                        instruments in a specific directory by sending the following command:
8233    </p>
8234    <p>
8235                            </p>
8236    <blockquote class="text">
8237    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8238    </p>
8239    </blockquote><p>
8240                        
8241    </p>
8242    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8243                        of the directory. If RECURSIVE is specified, the number of all
8244                        instruments, including those located in subdirectories of the
8245                        specified directory, will be returned.
8246    </p>
8247    <p>Possible Answers:
8248    </p>
8249    <p>
8250                            </p>
8251    <blockquote class="text">
8252    <p>The current number of instruments
8253                                in the specified directory.
8254    </p>
8255    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8256                                    </p>
8257    <blockquote class="text">
8258    <p>if the given directory does not exist.
8259    </p>
8260    </blockquote>
8261                                
8262    
8263    </blockquote><p>
8264                        
8265    </p>
8266    <p>Example:
8267    </p>
8268    <p>
8269                            </p>
8270    <blockquote class="text">
8271    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8272    </p>
8273    <p>S: "2"
8274    </p>
8275    </blockquote><p>
8276                        
8277    </p>
8278    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8279    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8280    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8281    Listing all instruments in specific directory</h3>
8282    
8283    <p>The front-end can retrieve the current list of instruments
8284                        in specific directory by sending the following command:
8285    </p>
8286    <p>
8287                            </p>
8288    <blockquote class="text">
8289    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8290    </p>
8291    </blockquote><p>
8292                        
8293    </p>
8294    <p>Where &lt;dir&gt; should be replaced by the absolute path
8295                        name of the directory. If RECURSIVE is specified, the absolute path
8296                        names of all instruments, including those located in subdirectories
8297                        of the specified directory, will be returned.
8298    </p>
8299    <p>Possible Answers:
8300    </p>
8301    <p>
8302                            </p>
8303    <blockquote class="text">
8304    <p>A comma separated list of all instruments
8305                                (encapsulated into apostrophes) in the specified directory.
8306    </p>
8307    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8308                                    </p>
8309    <blockquote class="text">
8310    <p>if the given directory does not exist.
8311    </p>
8312    </blockquote>
8313                                
8314    
8315    </blockquote><p>
8316                        
8317    </p>
8318    <p>Example:
8319    </p>
8320    <p>
8321                            </p>
8322    <blockquote class="text">
8323    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8324    </p>
8325    <p>S: "'Bosendorfer 290','Steinway D'"
8326    </p>
8327    </blockquote><p>
8328                        
8329    </p>
8330    <p>
8331                            </p>
8332    <blockquote class="text">
8333    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8334    </p>
8335    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8336    </p>
8337    </blockquote><p>
8338                        
8339    </p>
8340    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8341    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8342    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8343    Getting instrument information</h3>
8344    
8345    <p>The front-end can ask for the current settings of an
8346                        instrument by sending the following command:
8347    </p>
8348    <p>
8349                            </p>
8350    <blockquote class="text">
8351    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8352    </p>
8353    </blockquote><p>
8354                        
8355    </p>
8356    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8357                        name of the instrument the front-end is interested in.
8358    </p>
8359    <p>Possible Answers:
8360    </p>
8361    <p>
8362                            </p>
8363    <blockquote class="text">
8364    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8365                                Each answer line begins with the settings category name
8366                                followed by a colon and then a space character &lt;SP&gt; and finally
8367                                the info character string to that setting category. At the
8368                                moment the following categories are defined:
8369    </p>
8370    <p>
8371                                    </p>
8372    <blockquote class="text">
8373    <p>INSTRUMENT_FILE -
8374                                            </p>
8375    <blockquote class="text">
8376    <p>File name of the instrument.
8377                                                Note that the character string may contain
8378                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8379    </p>
8380    </blockquote>
8381                                        
8382    
8383    <p>INSTRUMENT_NR -
8384                                            </p>
8385    <blockquote class="text">
8386    <p>Index of the instrument within the file.
8387    </p>
8388    </blockquote>
8389                                        
8390    
8391    <p>FORMAT_FAMILY -
8392                                            </p>
8393    <blockquote class="text">
8394    <p>The format family of the instrument.
8395    </p>
8396    </blockquote>
8397                                        
8398    
8399    <p>FORMAT_VERSION -
8400                                            </p>
8401    <blockquote class="text">
8402    <p>The format version of the instrument.
8403    </p>
8404    </blockquote>
8405                                        
8406    
8407    <p>SIZE -
8408                                            </p>
8409    <blockquote class="text">
8410    <p>The size of the instrument in bytes.
8411    </p>
8412    </blockquote>
8413                                        
8414    
8415    <p>CREATED -
8416                                            </p>
8417    <blockquote class="text">
8418    <p>The date and time when the instrument is added
8419                                                in the instruments database, represented in
8420                                               "YYYY-MM-DD HH:MM:SS" format
8421    </p>
8422    </blockquote>
8423                                        
8424    
8425    <p>MODIFIED -
8426                                            </p>
8427    <blockquote class="text">
8428    <p>The date and time of the last modification of the
8429                                                instrument's database settings, represented in
8430                                                "YYYY-MM-DD HH:MM:SS" format
8431    </p>
8432    </blockquote>
8433                                        
8434    
8435    <p>DESCRIPTION -
8436                                            </p>
8437    <blockquote class="text">
8438    <p>A brief description of the instrument.
8439                                                Note that the character string may contain
8440                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8441    </p>
8442    </blockquote>
8443                                        
8444    
8445    <p>IS_DRUM -
8446                                            </p>
8447    <blockquote class="text">
8448    <p>either true or false, determines whether the
8449                                                instrument is a drumkit or a chromatic instrument
8450    </p>
8451    </blockquote>
8452                                        
8453    
8454    <p>PRODUCT -
8455                                            </p>
8456    <blockquote class="text">
8457    <p>The product title of the instrument.
8458                                                Note that the character string may contain
8459                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8460    </p>
8461    </blockquote>
8462                                        
8463    
8464    <p>ARTISTS -
8465                                            </p>
8466    <blockquote class="text">
8467    <p>Lists the artist names.
8468                                                Note that the character string may contain
8469                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8470    </p>
8471    </blockquote>
8472                                        
8473    
8474    <p>KEYWORDS -
8475                                            </p>
8476    <blockquote class="text">
8477    <p>Provides a list of keywords that refer to the instrument.
8478                                                Keywords are separated with semicolon and blank.
8479                                                Note that the character string may contain
8480                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8481    </p>
8482    </blockquote>
8483                                        
8484    
8485    </blockquote>
8486                                
8487    
8488    </blockquote><p>
8489                        
8490    </p>
8491    <p>The mentioned fields above don't have to be in particular order.
8492    </p>
8493    <p>Example:
8494    </p>
8495    <p>
8496                            </p>
8497    <blockquote class="text">
8498    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8499    </p>
8500    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8501    </p>
8502    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8503    </p>
8504    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8505    </p>
8506    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8507    </p>
8508    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8509    </p>
8510    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8511    </p>
8512    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8513    </p>
8514    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8515    </p>
8516    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8517    </p>
8518    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8519    </p>
8520    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8521    </p>
8522    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8523    </p>
8524    <p>&nbsp;&nbsp;&nbsp;"."
8525    </p>
8526    </blockquote><p>
8527                        
8528    </p>
8529    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8530    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8531    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8532    Renaming an instrument</h3>
8533    
8534    <p>The front-end can alter the name of a specific
8535                        instrument by sending the following command:
8536    </p>
8537    <p>
8538                            </p>
8539    <blockquote class="text">
8540    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8541    </p>
8542    </blockquote><p>
8543                        
8544    </p>
8545    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8546                        &lt;name&gt; is the new name for that instrument.
8547    </p>
8548    <p>Possible Answers:
8549    </p>
8550    <p>
8551                            </p>
8552    <blockquote class="text">
8553    <p>"OK" -
8554                                    </p>
8555    <blockquote class="text">
8556    <p>on success
8557    </p>
8558    </blockquote>
8559                                
8560    
8561    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8562                                    </p>
8563    <blockquote class="text">
8564    <p>in case the given instrument does not exists,
8565                                        or if an instrument with name equal to the new
8566                                        name already exists.
8567    </p>
8568    </blockquote>
8569                                
8570    
8571    </blockquote><p>
8572                        
8573    </p>
8574    <p>Example:
8575    </p>
8576    <p>
8577                            </p>
8578    <blockquote class="text">
8579    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8580    </p>
8581    <p>S: "OK"
8582    </p>
8583    </blockquote><p>
8584                        
8585    </p>
8586    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8587    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8588    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8589    Moving an instrument</h3>
8590    
8591    <p>The front-end can move a specific instrument to another directory by
8592                        sending the following command:
8593    </p>
8594    <p>
8595                            </p>
8596    <blockquote class="text">
8597    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8598    </p>
8599    </blockquote><p>
8600                        
8601    </p>
8602    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8603                        to move and &lt;dst&gt; is the directory where the instrument will
8604                        be moved to.
8605    </p>
8606    <p>Possible Answers:
8607    </p>
8608    <p>
8609                            </p>
8610    <blockquote class="text">
8611    <p>"OK" -
8612                                    </p>
8613    <blockquote class="text">
8614    <p>on success
8615    </p>
8616    </blockquote>
8617                                
8618    
8619    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8620                                    </p>
8621    <blockquote class="text">
8622    <p>in case the given instrument does not exists,
8623                                        or if an instrument with name equal to the name of the
8624                                        specified instrument already exists in the destination
8625                                        directory.
8626    </p>
8627    </blockquote>
8628                                
8629    
8630    </blockquote><p>
8631                        
8632    </p>
8633    <p>Example:
8634    </p>
8635    <p>
8636                            </p>
8637    <blockquote class="text">
8638    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8639    </p>
8640    <p>S: "OK"
8641    </p>
8642    </blockquote><p>
8643                        
8644    </p>
8645    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8646    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8647    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8648    Copying instruments</h3>
8649    
8650    <p>The front-end can copy a specific instrument to another directory by
8651                        sending the following command:
8652    </p>
8653    <p>
8654                            </p>
8655    <blockquote class="text">
8656    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8657    </p>
8658    </blockquote><p>
8659                        
8660    </p>
8661    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8662                        to copy and &lt;dst&gt; is the directory where the instrument will
8663                        be copied to.
8664    </p>
8665    <p>Possible Answers:
8666    </p>
8667    <p>
8668                            </p>
8669    <blockquote class="text">
8670    <p>"OK" -
8671                                    </p>
8672    <blockquote class="text">
8673    <p>on success
8674    </p>
8675    </blockquote>
8676                                
8677    
8678    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8679                                    </p>
8680    <blockquote class="text">
8681    <p>in case the given instrument does not exists,
8682                                        or if an instrument with name equal to the name of the
8683                                        specified instrument already exists in the destination
8684                                        directory.
8685    </p>
8686    </blockquote>
8687                                
8688    
8689    </blockquote><p>
8690                        
8691    </p>
8692    <p>Example:
8693    </p>
8694    <p>
8695                            </p>
8696    <blockquote class="text">
8697    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8698    </p>
8699    <p>S: "OK"
8700    </p>
8701    </blockquote><p>
8702                        
8703    </p>
8704    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
8705    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8706    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
8707    Changing the description of instrument</h3>
8708    
8709    <p>The front-end can alter the description of a specific
8710                        instrument by sending the following command:
8711    </p>
8712    <p>
8713                            </p>
8714    <blockquote class="text">
8715    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
8716    </p>
8717    </blockquote><p>
8718                        
8719    </p>
8720    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8721                        &lt;desc&gt; is the new description for the instrument
8722                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8723                        "<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>").
8724    </p>
8725    <p>Possible Answers:
8726    </p>
8727    <p>
8728                            </p>
8729    <blockquote class="text">
8730    <p>"OK" -
8731                                    </p>
8732    <blockquote class="text">
8733    <p>on success
8734    </p>
8735    </blockquote>
8736                                
8737    
8738    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8739                                    </p>
8740    <blockquote class="text">
8741    <p>in case the given instrument does not exists.
8742    </p>
8743    </blockquote>
8744                                
8745    
8746    </blockquote><p>
8747                        
8748    </p>
8749    <p>Example:
8750    </p>
8751    <p>
8752                            </p>
8753    <blockquote class="text">
8754    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
8755    </p>
8756    <p>S: "OK"
8757    </p>
8758    </blockquote><p>
8759                        
8760    </p>
8761    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
8762    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8763    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
8764    Finding instruments</h3>
8765    
8766    <p>The front-end can search for instruments
8767                        in specific directory by sending the following command:
8768    </p>
8769    <p>
8770                            </p>
8771    <blockquote class="text">
8772    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8773    </p>
8774    </blockquote><p>
8775                        
8776    </p>
8777    <p>Where &lt;dir&gt; should be replaced by the absolute path
8778                        name of the directory to search in. If NON_RECURSIVE is specified, the
8779                        directories located in subdirectories of the specified directory will not
8780                        be searched. &lt;criteria-list&gt; is a list of search criterias
8781                        in form of "key1=val1 key2=val2 ...". The following criterias are
8782                        allowed:
8783    </p>
8784    <p>
8785                          
8786    <p>NAME='&lt;search-string&gt;'
8787                              </p>
8788    <blockquote class="text">
8789    <p>Restricts the search to instruments, which names
8790                                  satisfy the supplied search string (encapsulated into apostrophes,
8791                                  supporting escape sequences as described in chapter
8792                                  "<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>").
8793    </p>
8794    </blockquote><p>
8795                          
8796    </p>
8797    
8798                          
8799    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
8800                              </p>
8801    <blockquote class="text">
8802    <p>Restricts the search to instruments, which
8803                                  size is in the specified range. If &lt;min&gt; is omitted,
8804                                  the search results are restricted to instruments with size less then
8805                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
8806                                  search is restricted to instruments with size greater then
8807                                  or equal to &lt;min&gt;.
8808    </p>
8809    </blockquote><p>
8810                          
8811    </p>
8812    
8813                          
8814    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8815                              </p>
8816    <blockquote class="text">
8817    <p>Restricts the search to instruments, which creation
8818                                  date satisfies the specified period, where &lt;date-after&gt;
8819                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8820                                  If &lt;date-after&gt; is omitted the search is restricted to
8821                                  instruments created before &lt;date-before&gt;. If
8822                                  &lt;date-before&gt; is omitted, the search is restricted
8823                                  to instruments created after &lt;date-after&gt;.
8824    </p>
8825    </blockquote><p>
8826                          
8827    </p>
8828    
8829                          
8830    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8831                              </p>
8832    <blockquote class="text">
8833    <p>Restricts the search to instruments, which
8834                                  date of last modification satisfies the specified period, where
8835                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8836                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8837                                  instruments, which are last modified before &lt;date-before&gt;. If
8838                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
8839                                  which are last modified after &lt;date-after&gt;.
8840    </p>
8841    </blockquote><p>
8842                          
8843    </p>
8844    
8845                          
8846    <p>DESCRIPTION='&lt;search-string&gt;'
8847                              </p>
8848    <blockquote class="text">
8849    <p>Restricts the search to instruments with description
8850                                  that satisfies the supplied search string (encapsulated into apostrophes,
8851                                  supporting escape sequences as described in chapter
8852                                  "<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>").
8853    </p>
8854    </blockquote><p>
8855                          
8856    </p>
8857    
8858                          
8859    <p>PRODUCT='&lt;search-string&gt;'
8860                              </p>
8861    <blockquote class="text">
8862    <p>Restricts the search to instruments with product info
8863                                  that satisfies the supplied search string (encapsulated into apostrophes,
8864                                  supporting escape sequences as described in chapter
8865                                  "<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>").
8866    </p>
8867    </blockquote><p>
8868                          
8869    </p>
8870    
8871                          
8872    <p>ARTISTS='&lt;search-string&gt;'
8873                              </p>
8874    <blockquote class="text">
8875    <p>Restricts the search to instruments with artists info
8876                                  that satisfies the supplied search string (encapsulated into apostrophes,
8877                                  supporting escape sequences as described in chapter
8878                                  "<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>").
8879    </p>
8880    </blockquote><p>
8881                          
8882    </p>
8883    
8884                          
8885    <p>KEYWORDS='&lt;search-string&gt;'
8886                              </p>
8887    <blockquote class="text">
8888    <p>Restricts the search to instruments with keyword list
8889                                  that satisfies the supplied search string (encapsulated into apostrophes,
8890                                  supporting escape sequences as described in chapter
8891                                  "<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>").
8892    </p>
8893    </blockquote><p>
8894                          
8895    </p>
8896    
8897                          
8898    <p>IS_DRUM=true | false
8899                              </p>
8900    <blockquote class="text">
8901    <p>Either true or false. Restricts the search to
8902                                  drum kits or chromatic instruments.
8903    </p>
8904    </blockquote><p>
8905                          
8906    </p>
8907    
8908                          
8909    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
8910                              </p>
8911    <blockquote class="text">
8912    <p>Restricts the search to instruments of the supplied format families,
8913                                  where &lt;format-list&gt; is a comma separated list of format families.
8914    </p>
8915    </blockquote><p>
8916                          
8917    </p>
8918                        
8919    
8920    <p>Where &lt;search-string&gt; is either a regular expression, or a
8921                        word list separated with spaces for OR search and with '+' for AND search.
8922    </p>
8923    <p>Possible Answers:
8924    </p>
8925    <p>
8926                            </p>
8927    <blockquote class="text">
8928    <p>A comma separated list with the absolute path names (encapsulated into
8929                                apostrophes) of all instruments in the specified directory that satisfy
8930                                the supplied search criterias.
8931    </p>
8932    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8933                                    </p>
8934    <blockquote class="text">
8935    <p>if the given directory does not exist.
8936    </p>
8937    </blockquote>
8938                                
8939    
8940    </blockquote><p>
8941                        
8942    </p>
8943    <p>Example:
8944    </p>
8945    <p>
8946                            </p>
8947    <blockquote class="text">
8948    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
8949    </p>
8950    <p>S: "'/Piano Collection/Bosendorfer 290'"
8951    </p>
8952    </blockquote><p>
8953                        
8954    </p>
8955    <p>
8956                            </p>
8957    <blockquote class="text">
8958    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
8959    </p>
8960    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
8961    </p>
8962    </blockquote><p>
8963                        
8964    </p>
8965    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
8966    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8967    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
8968    Getting job status information</h3>
8969    
8970    <p>The front-end can ask for the current status of a
8971                        particular database instruments job by sending the following command:
8972    </p>
8973    <p>
8974                            </p>
8975    <blockquote class="text">
8976    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
8977    </p>
8978    </blockquote><p>
8979                        
8980    </p>
8981    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
8982                        of the job the front-end is interested in.
8983    </p>
8984    <p>Possible Answers:
8985    </p>
8986    <p>
8987                            </p>
8988    <blockquote class="text">
8989    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8990                                Each answer line begins with the settings category name
8991                                followed by a colon and then a space character &lt;SP&gt; and finally
8992                                the info character string to that setting category. At the
8993                                moment the following categories are defined:
8994    </p>
8995    <p>
8996                                    </p>
8997    <blockquote class="text">
8998    <p>FILES_TOTAL -
8999                                            </p>
9000    <blockquote class="text">
9001    <p>The total number of files scheduled for scanning
9002    </p>
9003    </blockquote>
9004                                        
9005    
9006    <p>FILES_SCANNED -
9007                                            </p>
9008    <blockquote class="text">
9009    <p>The current number of scanned files
9010    </p>
9011    </blockquote>
9012                                        
9013    
9014    <p>SCANNING -
9015                                            </p>
9016    <blockquote class="text">
9017    <p>The absolute path name of the file which is currently
9018                                                being scanned
9019    </p>
9020    </blockquote>
9021                                        
9022    
9023    <p>STATUS -
9024                                            </p>
9025    <blockquote class="text">
9026    <p>An integer value between 0 and 100 indicating the
9027                                                scanning progress percentage of the file which is
9028                                                currently being scanned
9029    </p>
9030    </blockquote>
9031                                        
9032    
9033    </blockquote>
9034                                
9035    
9036    </blockquote><p>
9037                        
9038    </p>
9039    <p>The mentioned fields above don't have to be in particular order.
9040    </p>
9041    <p>Example:
9042    </p>
9043    <p>
9044                            </p>
9045    <blockquote class="text">
9046    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9047    </p>
9048    <p>S: "FILES_TOTAL: 12"
9049    </p>
9050    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9051    </p>
9052    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9053    </p>
9054    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9055    </p>
9056    <p>&nbsp;&nbsp;&nbsp;"."
9057    </p>
9058    </blockquote><p>
9059                        
9060    </p>
9061    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9062    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9063    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9064    Formatting the instruments database</h3>
9065    
9066    <p>The front-end can remove all instruments and directories and re-create
9067                        the instruments database structure (e.g., in case of a database corruption)
9068                        by sending the following command:
9069    </p>
9070    <p>
9071                            </p>
9072    <blockquote class="text">
9073    <p>FORMAT INSTRUMENTS_DB
9074    </p>
9075    </blockquote><p>
9076                        
9077    </p>
9078    <p>Possible Answers:
9079    </p>
9080    <p>
9081                            </p>
9082    <blockquote class="text">
9083    <p>"OK" -
9084                                    </p>
9085    <blockquote class="text">
9086    <p>on success
9087    </p>
9088    </blockquote>
9089                                
9090    
9091    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9092                                    </p>
9093    <blockquote class="text">
9094    <p>If the formatting of the instruments database
9095                                        failed.
9096    </p>
9097    </blockquote>
9098                                
9099    
9100    </blockquote><p>
9101                        
9102    </p>
9103    <a name="editing_instruments"></a><br /><hr />
9104    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9105    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9106    Editing Instruments</h3>
9107    
9108    <p>The sampler allows to edit instruments while playing with the
9109                    sampler by spawning an external (3rd party) instrument editor
9110                    application for a given instrument. The 3rd party instrument
9111                    editor applications have to place a respective plugin DLL file
9112                    into the sampler's plugins directory. The sampler will
9113                    automatically try to load all plugin DLLs in that directory on
9114                    startup and only on startup!
9115    </p>
9116    <p>At the moment there is only one command for this feature set,
9117                    but this will most probably change in future.
9118    </p>
9119    <a name="EDIT INSTRUMENT"></a><br /><hr />
9120    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9121    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9122    Opening an appropriate instrument editor application</h3>
9123    
9124    <p>The front-end can request to open an appropriate instrument
9125                        editor application by sending the following command:
9126    </p>
9127    <p>
9128                            </p>
9129    <blockquote class="text">
9130    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9131    </p>
9132    </blockquote><p>
9133                        
9134    </p>
9135    <p>Where &lt;sampler-channel&gt; should be replaced by the
9136                        number of the sampler channel as given by the
9137                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9138                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9139                        command.
9140    </p>
9141    <p>The sampler will try to ask all registered instrument
9142                        editors (or to be more specific: their sampler plugins)
9143                        whether they are capable to handle the instrument on the
9144                        given sampler channel. The sampler will simply use the first
9145                        instrument editor application which replied with a positive
9146                        answer and spawn that instrument editor application within
9147                        the sampler's process and provide that application access
9148                        to the instrument's data structures, so both applications
9149                        can share and access the same instruments data at the same
9150                        time, thus allowing to immediately hear changes with the
9151                        sampler made by the instrument editor.
9152    </p>
9153    <p>Note: consequently instrument editors are always spawned
9154                        locally on the same machine where the sampler is running
9155                        on!
9156    </p>
9157    <p>Possible Answers:
9158    </p>
9159    <p>
9160                            </p>
9161    <blockquote class="text">
9162    <p>"OK" -
9163                                    </p>
9164    <blockquote class="text">
9165    <p>when an appropriate instrument editor was
9166                                        launched
9167    </p>
9168    </blockquote>
9169                                
9170    
9171    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9172                                    </p>
9173    <blockquote class="text">
9174    <p>when an appropriate instrument editor was
9175                                        launched, but there are noteworthy issues
9176    </p>
9177    </blockquote>
9178                                
9179    
9180    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9181                                    </p>
9182    <blockquote class="text">
9183    <p>when an appropriate instrument editor
9184                                        could not be launched
9185    </p>
9186    </blockquote>
9187                                
9188    
9189    </blockquote><p>
9190                        
9191    </p>
9192    <p>Examples:
9193    </p>
9194    <p>
9195                            </p>
9196    <blockquote class="text">
9197    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9198    </p>
9199    <p>S: "OK"
9200    </p>
9201    </blockquote><p>
9202                        
9203    </p>
9204    <a name="file_management"></a><br /><hr />
9205    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9206    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9207    Managing Files</h3>
9208    
9209    <p>You can query detailed informations about files located
9210                    at the same system where the sampler instance is running on.
9211                    Using this command set allows to retrieve file informations
9212                    even remotely from another machine.
9213    </p>
9214    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9215    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9216    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9217    Retrieving amount of instruments of a file</h3>
9218    
9219    <p>The front-end can retrieve the amount of instruments
9220                        within a given instrument file by sending the
9221                        following command:
9222    </p>
9223    <p>
9224                            </p>
9225    <blockquote class="text">
9226    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9227    </p>
9228    </blockquote><p>
9229                        
9230    </p>
9231    <p>Where &lt;filename&gt; is the name of the instrument
9232                        file (encapsulated into apostrophes, supporting escape
9233                        sequences as described in chapter
9234                        "<a class='info' href='#character_set'>Character Set and Escape
9235                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9236    </p>
9237    <p>The sampler will try to ask all sampler engines,
9238                        whether they support the given file and ask the first
9239                        engine with a positive answer for the amount of
9240                        instruments.
9241    </p>
9242    <p>Possible Answers:
9243    </p>
9244    <p>
9245                            </p>
9246    <blockquote class="text">
9247    <p>On success, the sampler will answer by
9248                                   returning the amount of instruments.
9249                                
9250    </p>
9251    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9252                                    </p>
9253    <blockquote class="text">
9254    <p>if the file could not be handled
9255    </p>
9256    </blockquote>
9257                                
9258    
9259    </blockquote><p>
9260                        
9261    </p>
9262    <p>Examples:
9263    </p>
9264    <p>
9265                            </p>
9266    <blockquote class="text">
9267    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9268    </p>
9269    <p>S: "10"
9270    </p>
9271    </blockquote><p>
9272                        
9273    </p>
9274    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9275    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9276    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9277    Retrieving all instruments of a file</h3>
9278    
9279    <p>The front-end can retrieve a list of all instruments
9280                        within a given instrument file by sending the
9281                        following command:
9282    </p>
9283    <p>
9284                            </p>
9285    <blockquote class="text">
9286    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9287    </p>
9288    </blockquote><p>
9289                        
9290    </p>
9291    <p>Where &lt;filename&gt; is the name of the instrument
9292                        file (encapsulated into apostrophes, supporting escape
9293                        sequences as described in chapter
9294                        "<a class='info' href='#character_set'>Character Set and Escape
9295                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9296    </p>
9297    <p>The sampler will try to ask all sampler engines,
9298                        whether they support the given file and ask the first
9299                        engine with a positive answer for a list of IDs for the
9300                        instruments in the given file.
9301    </p>
9302    <p>Possible Answers:
9303    </p>
9304    <p>
9305                            </p>
9306    <blockquote class="text">
9307    <p>On success, the sampler will answer by
9308                                   returning a comma separated list of
9309                                   instrument IDs.
9310                                
9311    </p>
9312    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9313                                    </p>
9314    <blockquote class="text">
9315    <p>if the file could not be handled
9316    </p>
9317    </blockquote>
9318                                
9319    
9320    </blockquote><p>
9321                        
9322    </p>
9323    <p>Examples:
9324    </p>
9325    <p>
9326                            </p>
9327    <blockquote class="text">
9328    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9329    </p>
9330    <p>S: "0,1,2,3,4,5,6,7,8,9"
9331    </p>
9332    </blockquote><p>
9333                        
9334    </p>
9335    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9336    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9337    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9338    Retrieving informations about one instrument in a file</h3>
9339    
9340    <p>The front-end can retrieve detailed informations
9341                        about a specific instrument within a given instrument
9342                        file by sending the following command:
9343    </p>
9344    <p>
9345                            </p>
9346    <blockquote class="text">
9347    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9348                                &lt;instr-id&gt;
9349    </p>
9350    </blockquote><p>
9351                        
9352    </p>
9353    <p>Where &lt;filename&gt; is the name of the instrument
9354                        file (encapsulated into apostrophes, supporting escape
9355                        sequences as described in chapter
9356                        "<a class='info' href='#character_set'>Character Set and Escape
9357                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9358                        instrument ID as returned by the
9359                        <a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a> command.
9360    </p>
9361    <p>The sampler will try to ask all sampler engines,
9362                        whether they support the given file and ask the first
9363                        engine with a positive answer for informations about the
9364                        specific instrument in the given file.
9365    </p>
9366    <p>Possible Answers:
9367    </p>
9368    <p>
9369                            </p>
9370    <blockquote class="text">
9371    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9372                                Each answer line begins with the settings category name
9373                                followed by a colon and then a space character &lt;SP&gt; and finally
9374                                the info character string to that setting category. At the
9375                                moment the following categories are defined:
9376    </p>
9377    <p>
9378                                    </p>
9379    <blockquote class="text">
9380    <p>NAME -
9381                                            </p>
9382    <blockquote class="text">
9383    <p>name of the instrument as
9384                                                stored in the instrument file
9385    </p>
9386    </blockquote>
9387                                        
9388    
9389    <p>FORMAT_FAMILY -
9390                                            </p>
9391    <blockquote class="text">
9392    <p>name of the sampler format
9393                                                of the given instrument
9394    </p>
9395    </blockquote>
9396                                        
9397    
9398    <p>FORMAT_VERSION -
9399                                            </p>
9400    <blockquote class="text">
9401    <p>version of the sampler format
9402                                                the instrumen is stored as
9403    </p>
9404    </blockquote>
9405                                        
9406    
9407    <p>PRODUCT -
9408                                            </p>
9409    <blockquote class="text">
9410    <p>official product name of the
9411                                                instrument as stored in the file
9412                                                
9413    </p>
9414    </blockquote>
9415                                        
9416    
9417    <p>ARTISTS -
9418                                            </p>
9419    <blockquote class="text">
9420    <p>artists / sample library
9421                                                vendor of the instrument
9422    </p>
9423    </blockquote>
9424                                        
9425    
9426    </blockquote>
9427                                
9428    
9429    </blockquote><p>
9430                        
9431    </p>
9432    <p>The mentioned fields above don't have to be in particular order.
9433    </p>
9434    <p>Example:
9435    </p>
9436    <p>
9437                            </p>
9438    <blockquote class="text">
9439    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9440    </p>
9441    <p>S: "NAME: Lunatic Loops"
9442    </p>
9443    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9444    </p>
9445    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9446    </p>
9447    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9448    </p>
9449    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9450    </p>
9451    <p>&nbsp;&nbsp;&nbsp;"."
9452    </p>
9453    </blockquote><p>
9454                        
9455    </p>
9456  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9457  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9458  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9459    Command Syntax</h3>
9460    
9461  <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>
9462              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>)
9463              where applicable.              where applicable.
9464                            
9465  </p>  </p>
# Line 5201  Intellectual Property and Copyright Stat Line 9517  Intellectual Property and Copyright Stat
9517  <p>command =  <p>command =
9518          </p>          </p>
9519  <blockquote class="text">  <blockquote class="text">
9520  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
9521                    
9522    </p>
9523    <p>/ MAP SP map_instruction
9524                    
9525    </p>
9526    <p>/ UNMAP SP unmap_instruction
9527                                    
9528  </p>  </p>
9529  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 5219  Intellectual Property and Copyright Stat Line 9541  Intellectual Property and Copyright Stat
9541  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
9542                                    
9543  </p>  </p>
9544  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
9545                                    
9546  </p>  </p>
9547  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5231  Intellectual Property and Copyright Stat Line 9553  Intellectual Property and Copyright Stat
9553  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9554                                    
9555  </p>  </p>
9556  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
9557                    
9558    </p>
9559    <p>/ CLEAR SP clear_instruction
9560                    
9561    </p>
9562    <p>/ FIND SP find_instruction
9563                                    
9564  </p>  </p>
9565  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ MOVE SP move_instruction
9566                    
9567    </p>
9568    <p>/ COPY SP copy_instruction
9569                    
9570    </p>
9571    <p>/ EDIT SP edit_instruction
9572                    
9573    </p>
9574    <p>/ FORMAT SP format_instruction
9575                                    
9576  </p>  </p>
9577  <p>/ RESET  <p>/ RESET
# Line 5246  Intellectual Property and Copyright Stat Line 9583  Intellectual Property and Copyright Stat
9583  </blockquote><p>  </blockquote><p>
9584    
9585  </p>  </p>
9586    <p>add_instruction =
9587            </p>
9588    <blockquote class="text">
9589    <p>CHANNEL
9590                    
9591    </p>
9592    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9593                    
9594    </p>
9595    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
9596                    
9597    </p>
9598    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
9599                    
9600    </p>
9601    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
9602                    
9603    </p>
9604    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
9605                    
9606    </p>
9607    <p>/ DB_INSTRUMENTS SP db_path SP filename
9608                    
9609    </p>
9610    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
9611                    
9612    </p>
9613    <p>/ MIDI_INSTRUMENT_MAP
9614                    
9615    </p>
9616    <p>/ MIDI_INSTRUMENT_MAP SP map_name
9617                    
9618    </p>
9619    </blockquote><p>
9620    
9621    </p>
9622  <p>subscribe_event =  <p>subscribe_event =
9623          </p>          </p>
9624  <blockquote class="text">  <blockquote class="text">
9625  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9626                    
9627    </p>
9628    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9629                    
9630    </p>
9631    <p>/ MIDI_INPUT_DEVICE_COUNT
9632                    
9633    </p>
9634    <p>/ MIDI_INPUT_DEVICE_INFO
9635                    
9636    </p>
9637    <p>/ CHANNEL_COUNT
9638                                    
9639  </p>  </p>
9640  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5264  Intellectual Property and Copyright Stat Line 9649  Intellectual Property and Copyright Stat
9649  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9650                                    
9651  </p>  </p>
9652    <p>/ FX_SEND_COUNT
9653                    
9654    </p>
9655    <p>/ FX_SEND_INFO
9656                    
9657    </p>
9658    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9659                    
9660    </p>
9661    <p>/ MIDI_INSTRUMENT_MAP_INFO
9662                    
9663    </p>
9664    <p>/ MIDI_INSTRUMENT_COUNT
9665                    
9666    </p>
9667    <p>/ MIDI_INSTRUMENT_INFO
9668                    
9669    </p>
9670    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9671                    
9672    </p>
9673    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9674                    
9675    </p>
9676    <p>/ DB_INSTRUMENT_COUNT
9677                    
9678    </p>
9679    <p>/ DB_INSTRUMENT_INFO
9680                    
9681    </p>
9682    <p>/ DB_INSTRUMENTS_JOB_INFO
9683                    
9684    </p>
9685  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9686                                    
9687  </p>  </p>
9688    <p>/ TOTAL_STREAM_COUNT
9689                    
9690    </p>
9691  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9692                                    
9693  </p>  </p>
9694    <p>/ GLOBAL_INFO
9695                    
9696    </p>
9697  </blockquote><p>  </blockquote><p>
9698    
9699  </p>  </p>
9700  <p>unsubscribe_event =  <p>unsubscribe_event =
9701          </p>          </p>
9702  <blockquote class="text">  <blockquote class="text">
9703  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
9704                    
9705    </p>
9706    <p>/ AUDIO_OUTPUT_DEVICE_INFO
9707                    
9708    </p>
9709    <p>/ MIDI_INPUT_DEVICE_COUNT
9710                    
9711    </p>
9712    <p>/ MIDI_INPUT_DEVICE_INFO
9713                    
9714    </p>
9715    <p>/ CHANNEL_COUNT
9716                                    
9717  </p>  </p>
9718  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5291  Intellectual Property and Copyright Stat Line 9727  Intellectual Property and Copyright Stat
9727  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
9728                                    
9729  </p>  </p>
9730    <p>/ FX_SEND_COUNT
9731                    
9732    </p>
9733    <p>/ FX_SEND_INFO
9734                    
9735    </p>
9736    <p>/ MIDI_INSTRUMENT_MAP_COUNT
9737                    
9738    </p>
9739    <p>/ MIDI_INSTRUMENT_MAP_INFO
9740                    
9741    </p>
9742    <p>/ MIDI_INSTRUMENT_COUNT
9743                    
9744    </p>
9745    <p>/ MIDI_INSTRUMENT_INFO
9746                    
9747    </p>
9748    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
9749                    
9750    </p>
9751    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
9752                    
9753    </p>
9754    <p>/ DB_INSTRUMENT_COUNT
9755                    
9756    </p>
9757    <p>/ DB_INSTRUMENT_INFO
9758                    
9759    </p>
9760    <p>/ DB_INSTRUMENTS_JOB_INFO
9761                    
9762    </p>
9763  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
9764                                    
9765  </p>  </p>
9766    <p>/ TOTAL_STREAM_COUNT
9767                    
9768    </p>
9769  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9770                                    
9771  </p>  </p>
9772    <p>/ GLOBAL_INFO
9773                    
9774    </p>
9775    </blockquote><p>
9776    
9777    </p>
9778    <p>map_instruction =
9779            </p>
9780    <blockquote class="text">
9781    <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
9782                    
9783    </p>
9784    <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
9785                    
9786    </p>
9787    <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
9788                    
9789    </p>
9790    <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
9791                    
9792    </p>
9793    </blockquote><p>
9794    
9795    </p>
9796    <p>unmap_instruction =
9797            </p>
9798    <blockquote class="text">
9799    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
9800                    
9801    </p>
9802    </blockquote><p>
9803    
9804    </p>
9805    <p>remove_instruction =
9806            </p>
9807    <blockquote class="text">
9808    <p>CHANNEL SP sampler_channel
9809                    
9810    </p>
9811    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
9812                    
9813    </p>
9814    <p>/ MIDI_INSTRUMENT_MAP SP ALL
9815                    
9816    </p>
9817    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
9818                    
9819    </p>
9820    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
9821                    
9822    </p>
9823    <p>/ DB_INSTRUMENT SP db_path
9824                    
9825    </p>
9826  </blockquote><p>  </blockquote><p>
9827    
9828  </p>  </p>
# Line 5375  Intellectual Property and Copyright Stat Line 9901  Intellectual Property and Copyright Stat
9901  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
9902                                    
9903  </p>  </p>
9904    <p>/ TOTAL_STREAM_COUNT
9905                    
9906    </p>
9907  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
9908                                    
9909  </p>  </p>
9910  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
9911                                    
9912  </p>  </p>
9913    <p>/ MIDI_INSTRUMENTS SP midi_map
9914                    
9915    </p>
9916    <p>/ MIDI_INSTRUMENTS SP ALL
9917                    
9918    </p>
9919    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
9920                    
9921    </p>
9922    <p>/ MIDI_INSTRUMENT_MAPS
9923                    
9924    </p>
9925    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
9926                    
9927    </p>
9928    <p>/ FX_SENDS SP sampler_channel
9929                    
9930    </p>
9931    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
9932                    
9933    </p>
9934    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
9935                    
9936    </p>
9937    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
9938                    
9939    </p>
9940    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
9941                    
9942    </p>
9943    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
9944                    
9945    </p>
9946    <p>/ DB_INSTRUMENTS SP db_path
9947                    
9948    </p>
9949    <p>/ DB_INSTRUMENT SP INFO SP db_path
9950                    
9951    </p>
9952    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
9953                    
9954    </p>
9955    <p>/ VOLUME
9956                    
9957    </p>
9958    <p>/ FILE SP INSTRUMENTS SP filename
9959                    
9960    </p>
9961    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
9962                    
9963    </p>
9964  </blockquote><p>  </blockquote><p>
9965    
9966  </p>  </p>
# Line 5396  Intellectual Property and Copyright Stat Line 9976  Intellectual Property and Copyright Stat
9976  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
9977                                    
9978  </p>  </p>
9979    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
9980                    
9981    </p>
9982  <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
9983                                    
9984  </p>  </p>
9985  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
9986                                    
9987  </p>  </p>
9988    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
9989                    
9990    </p>
9991    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
9992                    
9993    </p>
9994    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
9995                    
9996    </p>
9997    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
9998                    
9999    </p>
10000    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10001                    
10002    </p>
10003    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10004                    
10005    </p>
10006    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10007                    
10008    </p>
10009    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10010                    
10011    </p>
10012    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10013                    
10014    </p>
10015  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10016                                    
10017  </p>  </p>
10018    <p>/ VOLUME SP volume_value
10019                    
10020    </p>
10021  </blockquote><p>  </blockquote><p>
10022    
10023  </p>  </p>
# Line 5423  Intellectual Property and Copyright Stat Line 10036  Intellectual Property and Copyright Stat
10036  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
10037                                    
10038  </p>  </p>
10039    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
10040                    
10041    </p>
10042    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
10043                    
10044    </p>
10045    </blockquote><p>
10046    
10047    </p>
10048    <p>reset_instruction =
10049            </p>
10050    <blockquote class="text">
10051    <p>CHANNEL SP sampler_channel
10052                    
10053    </p>
10054    </blockquote><p>
10055    
10056    </p>
10057    <p>clear_instruction =
10058            </p>
10059    <blockquote class="text">
10060    <p>MIDI_INSTRUMENTS SP midi_map
10061                    
10062    </p>
10063    <p>/ MIDI_INSTRUMENTS SP ALL
10064                    
10065    </p>
10066    </blockquote><p>
10067    
10068    </p>
10069    <p>find_instruction =
10070            </p>
10071    <blockquote class="text">
10072    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10073                    
10074    </p>
10075    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10076                    
10077    </p>
10078    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10079                    
10080    </p>
10081    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10082                    
10083    </p>
10084    </blockquote><p>
10085    
10086    </p>
10087    <p>move_instruction =
10088            </p>
10089    <blockquote class="text">
10090    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10091                    
10092    </p>
10093    <p>/ DB_INSTRUMENT SP db_path SP db_path
10094                    
10095    </p>
10096    </blockquote><p>
10097    
10098    </p>
10099    <p>copy_instruction =
10100            </p>
10101    <blockquote class="text">
10102    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10103                    
10104    </p>
10105    <p>/ DB_INSTRUMENT SP db_path SP db_path
10106                    
10107    </p>
10108  </blockquote><p>  </blockquote><p>
10109    
10110  </p>  </p>
# Line 5435  Intellectual Property and Copyright Stat Line 10117  Intellectual Property and Copyright Stat
10117  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
10118                                    
10119  </p>  </p>
10120    <p>/ FX_SEND SP sampler_channel SP fx_send_id
10121                    
10122    </p>
10123  </blockquote><p>  </blockquote><p>
10124    
10125  </p>  </p>
# Line 5486  Intellectual Property and Copyright Stat Line 10171  Intellectual Property and Copyright Stat
10171  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
10172                                    
10173  </p>  </p>
10174    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
10175                    
10176    </p>
10177    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
10178                    
10179    </p>
10180    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
10181                    
10182    </p>
10183    </blockquote><p>
10184    
10185    </p>
10186    <p>edit_instruction =
10187            </p>
10188    <blockquote class="text">
10189    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10190                    
10191    </p>
10192    </blockquote><p>
10193    
10194    </p>
10195    <p>format_instruction =
10196            </p>
10197    <blockquote class="text">
10198    <p>INSTRUMENTS_DB
10199                    
10200    </p>
10201    </blockquote><p>
10202    
10203    </p>
10204    <p>modal_arg =
10205            </p>
10206    <blockquote class="text">
10207    <p>/* epsilon (empty argument) */
10208                    
10209    </p>
10210    <p>/ NON_MODAL SP
10211                    
10212    </p>
10213  </blockquote><p>  </blockquote><p>
10214    
10215  </p>  </p>
# Line 5534  Intellectual Property and Copyright Stat Line 10258  Intellectual Property and Copyright Stat
10258  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10259                                    
10260  </p>  </p>
10261    <p>/ MIDI_INSTRUMENTS SP midi_map
10262                    
10263    </p>
10264    <p>/ MIDI_INSTRUMENTS SP ALL
10265                    
10266    </p>
10267    <p>/ MIDI_INSTRUMENT_MAPS
10268                    
10269    </p>
10270    <p>/ FX_SENDS SP sampler_channel
10271                    
10272    </p>
10273    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10274                    
10275    </p>
10276    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10277                    
10278    </p>
10279    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10280                    
10281    </p>
10282    <p>/ DB_INSTRUMENTS SP db_path
10283                    
10284    </p>
10285    <p>/ FILE SP INSTRUMENTS SP filename
10286                    
10287    </p>
10288  </blockquote><p>  </blockquote><p>
10289    
10290  </p>  </p>
# Line 5558  Intellectual Property and Copyright Stat Line 10309  Intellectual Property and Copyright Stat
10309  </blockquote><p>  </blockquote><p>
10310    
10311  </p>  </p>
10312    <p>instr_load_mode =
10313            </p>
10314    <blockquote class="text">
10315    <p>ON_DEMAND
10316                    
10317    </p>
10318    <p>/ ON_DEMAND_HOLD
10319                    
10320    </p>
10321    <p>/ PERSISTENT
10322                    
10323    </p>
10324    </blockquote><p>
10325    
10326    </p>
10327  <p>device_index =  <p>device_index =
10328          </p>          </p>
10329  <blockquote class="text">  <blockquote class="text">
# Line 5615  Intellectual Property and Copyright Stat Line 10381  Intellectual Property and Copyright Stat
10381  </blockquote><p>  </blockquote><p>
10382    
10383  </p>  </p>
10384    <p>midi_map =
10385            </p>
10386    <blockquote class="text">
10387    <p>number
10388                    
10389    </p>
10390    </blockquote><p>
10391    
10392    </p>
10393    <p>midi_bank =
10394            </p>
10395    <blockquote class="text">
10396    <p>number
10397                    
10398    </p>
10399    </blockquote><p>
10400    
10401    </p>
10402    <p>midi_prog =
10403            </p>
10404    <blockquote class="text">
10405    <p>number
10406                    
10407    </p>
10408    </blockquote><p>
10409    
10410    </p>
10411    <p>midi_ctrl =
10412            </p>
10413    <blockquote class="text">
10414    <p>number
10415                    
10416    </p>
10417    </blockquote><p>
10418    
10419    </p>
10420  <p>volume_value =  <p>volume_value =
10421          </p>          </p>
10422  <blockquote class="text">  <blockquote class="text">
# Line 5645  Intellectual Property and Copyright Stat Line 10447  Intellectual Property and Copyright Stat
10447  </blockquote><p>  </blockquote><p>
10448    
10449  </p>  </p>
10450    <p>fx_send_id =
10451            </p>
10452    <blockquote class="text">
10453    <p>number
10454                    
10455    </p>
10456    </blockquote><p>
10457    
10458    </p>
10459  <p>engine_name =  <p>engine_name =
10460          </p>          </p>
10461  <blockquote class="text">  <blockquote class="text">
# Line 5657  Intellectual Property and Copyright Stat Line 10468  Intellectual Property and Copyright Stat
10468  <p>filename =  <p>filename =
10469          </p>          </p>
10470  <blockquote class="text">  <blockquote class="text">
10471  <p>stringval  <p>path
10472                    
10473    </p>
10474    </blockquote><p>
10475    
10476    </p>
10477    <p>db_path =
10478            </p>
10479    <blockquote class="text">
10480    <p>path
10481                    
10482    </p>
10483    </blockquote><p>
10484    
10485    </p>
10486    <p>map_name =
10487            </p>
10488    <blockquote class="text">
10489    <p>stringval_escaped
10490                    
10491    </p>
10492    </blockquote><p>
10493    
10494    </p>
10495    <p>entry_name =
10496            </p>
10497    <blockquote class="text">
10498    <p>stringval_escaped
10499                    
10500    </p>
10501    </blockquote><p>
10502    
10503    </p>
10504    <p>fx_send_name =
10505            </p>
10506    <blockquote class="text">
10507    <p>stringval_escaped
10508                                    
10509  </p>  </p>
10510  </blockquote><p>  </blockquote><p>
# Line 5693  Intellectual Property and Copyright Stat Line 10540  Intellectual Property and Copyright Stat
10540  </blockquote><p>  </blockquote><p>
10541    
10542  </p>  </p>
10543    <p>query_val_list =
10544            </p>
10545    <blockquote class="text">
10546    <p>string '=' query_val
10547                    
10548    </p>
10549    <p>/ query_val_list SP string '=' query_val
10550                    
10551    </p>
10552    </blockquote><p>
10553    
10554    </p>
10555    <p>query_val =
10556            </p>
10557    <blockquote class="text">
10558    <p>text_escaped
10559                    
10560    </p>
10561    <p>/ stringval_escaped
10562                    
10563    </p>
10564    </blockquote><p>
10565    
10566    </p>
10567    <p>scan_mode =
10568            </p>
10569    <blockquote class="text">
10570    <p>RECURSIVE
10571                    
10572    </p>
10573    <p>/ NON_RECURSIVE
10574                    
10575    </p>
10576    <p>/ FLAT
10577                    
10578    </p>
10579    </blockquote><p>
10580    
10581    </p>
10582    <a name="character_set"></a><br /><hr />
10583    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10584    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
10585    Character Set and Escape Sequences</h3>
10586    
10587    <p>Older versions of this protocol up to and including v1.1 only
10588                    supported the standard ASCII character set (ASCII code 0 - 127)
10589                    <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
10590                    however support the Extended ASCII character set (ASCII code
10591                    0 - 255). The same group of younger protocols also support
10592                    escape sequences, but only for certain, explicitly declared
10593                    parts of the protocol. The supported escape sequences are
10594                    defined as follows:
10595    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
10596    <col align="left"><col align="left">
10597    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
10598    <tr>
10599    <td align="left">\n</td>
10600    <td align="left">new line</td>
10601    </tr>
10602    <tr>
10603    <td align="left">\r</td>
10604    <td align="left">carriage return</td>
10605    </tr>
10606    <tr>
10607    <td align="left">\f</td>
10608    <td align="left">form feed</td>
10609    </tr>
10610    <tr>
10611    <td align="left">\t</td>
10612    <td align="left">horizontal tab</td>
10613    </tr>
10614    <tr>
10615    <td align="left">\v</td>
10616    <td align="left">vertical tab</td>
10617    </tr>
10618    <tr>
10619    <td align="left">\'</td>
10620    <td align="left">apostrophe</td>
10621    </tr>
10622    <tr>
10623    <td align="left">\"</td>
10624    <td align="left">quotation mark</td>
10625    </tr>
10626    <tr>
10627    <td align="left">\\</td>
10628    <td align="left">backslash</td>
10629    </tr>
10630    <tr>
10631    <td align="left">\OOO</td>
10632    <td align="left">three digit octal ASCII code of the character</td>
10633    </tr>
10634    <tr>
10635    <td align="left">\xHH</td>
10636    <td align="left">two digit hex ASCII code of the character</td>
10637    </tr>
10638    </table>
10639    
10640    <p>Notice: due to the transition of certain parts of the
10641                    protocol which now support escape sequences, a slight backward
10642                    incompatibility to protocols version v1.1 and younger has been
10643                    introduced. The only difference is that in parts of the protocol
10644                    where escape characters are now supported, a backslash characters
10645                    MUST be escaped as well (that is as double backslash), whereas
10646                    in the old versions a single backslash was sufficient.
10647    </p>
10648    <p>The following LSCP commands support escape sequences as part
10649                    of their filename / path based arguments and / or may contain
10650                    a filename / path with escape sequences in their response:
10651                    </p>
10652    <blockquote class="text">
10653    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
10654    </p>
10655    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10656    </p>
10657    <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>
10658    </p>
10659    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10660    </p>
10661    <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>
10662    </p>
10663    <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>
10664    </p>
10665    <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>
10666    </p>
10667    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
10668    </p>
10669    <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>
10670    </p>
10671    <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>
10672    </p>
10673    <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>
10674    </p>
10675    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
10676    </p>
10677    <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>
10678    </p>
10679    <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>
10680    </p>
10681    <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>
10682    </p>
10683    <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>
10684    </p>
10685    <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>
10686    </p>
10687    <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>
10688    </p>
10689    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10690    </p>
10691    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10692    </p>
10693    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
10694    </p>
10695    <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>
10696    </p>
10697    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
10698    </p>
10699    <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>
10700    </p>
10701    <p><a class='info' href='#GET FILE INSTRUMENTS'>"GET FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving amount of instruments of a file</span><span>)</span></a>
10702    </p>
10703    <p><a class='info' href='#LIST FILE INSTRUMENTS'>"LIST FILE INSTRUMENTS"<span> (</span><span class='info'>Retrieving all instruments of a file</span><span>)</span></a>
10704    </p>
10705    <p><a class='info' href='#GET FILE INSTRUMENT INFO'>"GET FILE INSTRUMENT INFO"<span> (</span><span class='info'>Retrieving informations about one instrument in a file</span><span>)</span></a>
10706    </p>
10707    </blockquote><p>
10708                    Note that the forward slash character ('/') has a special meaning in
10709                    filename / path based arguments: it acts as separator of the nodes in
10710                    the path, thus if a directory- or filename includes a forward slash
10711                    (not intended as path node separator), you MUST escape that slash
10712                    either with the respective hex escape sequence ("\x2f") or with the
10713                    respective octal escape sequence ("\057").
10714                    
10715    </p>
10716    <p>
10717                    Note for Windows: file path arguments in LSCP are expected
10718                    to use forward slashes as directory node separator similar
10719                    to Unix based operating systems. In contrast to Unix however
10720                    a Windows typical drive character is expected to be
10721                    prefixed to the path. That is an original Windows file path
10722                    like "D:\Sounds\My.gig" would become in LSCP:
10723                    "D:/Sounds/My.gig".
10724                    
10725    </p>
10726    <p>
10727                    The following LSCP commands even support escape sequences as
10728                    part of at least one of their text-based arguments (i.e. entity name,
10729                    description) and / or may contain escape sequences in at least one of
10730                    their text-based fields in their response:
10731                    </p>
10732    <blockquote class="text">
10733    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
10734    </p>
10735    <p><a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>
10736    </p>
10737    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
10738    </p>
10739    <p><a class='info' href='#CREATE FX_SEND'>"CREATE FX_SEND"<span> (</span><span class='info'>Adding an effect send to a sampler channel</span><span>)</span></a>
10740    </p>
10741    <p><a class='info' href='#GET FX_SEND INFO'>"GET FX_SEND INFO"<span> (</span><span class='info'>Getting effect send information</span><span>)</span></a>
10742    </p>
10743    <p><a class='info' href='#SET FX_SEND NAME'>"SET FX_SEND NAME"<span> (</span><span class='info'>Changing effect send's name</span><span>)</span></a>
10744    </p>
10745    <p><a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
10746    </p>
10747    <p><a class='info' href='#GET MIDI_INSTRUMENT_MAP INFO'>"GET MIDI_INSTRUMENT_MAP INFO"<span> (</span><span class='info'>Getting MIDI instrument map information</span><span>)</span></a>
10748    </p>
10749    <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>
10750    </p>
10751    <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>
10752    </p>
10753    <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>
10754    </p>
10755    <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>
10756    </p>
10757    <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>
10758    </p>
10759    <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>
10760    </p>
10761    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
10762    </p>
10763    <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>
10764    </p>
10765    <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>
10766    </p>
10767    <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>
10768    </p>
10769    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
10770    </p>
10771    </blockquote><p>
10772                    Please note that these lists are manually maintained. If you
10773                    find a command that also supports escape sequences we forgot to
10774                    mention here, please report it!
10775                    
10776    </p>
10777  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
10778  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10779  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
10780    Events</h3>
10781    
10782  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
10783  </p>  </p>
10784  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
10785  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10786  <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;
10787    Number of audio output devices changed</h3>
10788    
10789    <p>Client may want to be notified when the total number of audio output devices on the
10790                    back-end changes by issuing the following command:
10791    </p>
10792    <p>
10793                        </p>
10794    <blockquote class="text">
10795    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
10796    </p>
10797    </blockquote><p>
10798                    
10799    </p>
10800    <p>Server will start sending the following notification messages:
10801    </p>
10802    <p>
10803                        </p>
10804    <blockquote class="text">
10805    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
10806    </p>
10807    </blockquote><p>
10808                    
10809    </p>
10810    <p>where &lt;devices&gt; will be replaced by the new number
10811                    of audio output devices.
10812    </p>
10813    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
10814    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10815    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
10816    Audio output device's settings changed</h3>
10817    
10818    <p>Client may want to be notified when changes were made to audio output devices on the
10819                    back-end by issuing the following command:
10820    </p>
10821    <p>
10822                        </p>
10823    <blockquote class="text">
10824    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
10825    </p>
10826    </blockquote><p>
10827                    
10828    </p>
10829    <p>Server will start sending the following notification messages:
10830    </p>
10831    <p>
10832                        </p>
10833    <blockquote class="text">
10834    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
10835    </p>
10836    </blockquote><p>
10837                    
10838    </p>
10839    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
10840                    which settings has been changed. The front-end will have to send
10841                    the respective command to actually get the audio output device info. Because these messages
10842                    will be triggered by LSCP commands issued by other clients rather than real
10843                    time events happening on the server, it is believed that an empty notification
10844                    message is sufficient here.
10845    </p>
10846    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
10847    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10848    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
10849    Number of MIDI input devices changed</h3>
10850    
10851    <p>Client may want to be notified when the total number of MIDI input devices on the
10852                    back-end changes by issuing the following command:
10853    </p>
10854    <p>
10855                        </p>
10856    <blockquote class="text">
10857    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
10858    </p>
10859    </blockquote><p>
10860                    
10861    </p>
10862    <p>Server will start sending the following notification messages:
10863    </p>
10864    <p>
10865                        </p>
10866    <blockquote class="text">
10867    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
10868    </p>
10869    </blockquote><p>
10870                    
10871    </p>
10872    <p>where &lt;devices&gt; will be replaced by the new number
10873                    of MIDI input devices.
10874    </p>
10875    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
10876    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10877    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
10878    MIDI input device's settings changed</h3>
10879    
10880    <p>Client may want to be notified when changes were made to MIDI input devices on the
10881                    back-end by issuing the following command:
10882    </p>
10883    <p>
10884                        </p>
10885    <blockquote class="text">
10886    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
10887    </p>
10888    </blockquote><p>
10889                    
10890    </p>
10891    <p>Server will start sending the following notification messages:
10892    </p>
10893    <p>
10894                        </p>
10895    <blockquote class="text">
10896    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
10897    </p>
10898    </blockquote><p>
10899                    
10900    </p>
10901    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
10902                    which settings has been changed. The front-end will have to send
10903                    the respective command to actually get the MIDI input device info. Because these messages
10904                    will be triggered by LSCP commands issued by other clients rather than real
10905                    time events happening on the server, it is believed that an empty notification
10906                    message is sufficient here.
10907    </p>
10908    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
10909    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10910    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
10911    Number of sampler channels changed</h3>
10912    
10913  <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
10914                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5728  Intellectual Property and Copyright Stat Line 10935  Intellectual Property and Copyright Stat
10935                  of sampler channels.                  of sampler channels.
10936  </p>  </p>
10937  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
10938  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10939  <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;
10940    Number of active voices changed</h3>
10941    
10942  <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
10943                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5747  Intellectual Property and Copyright Stat Line 10955  Intellectual Property and Copyright Stat
10955  <p>  <p>
10956                      </p>                      </p>
10957  <blockquote class="text">  <blockquote class="text">
10958  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
10959  </p>  </p>
10960  </blockquote><p>  </blockquote><p>
10961                                    
# Line 5757  Intellectual Property and Copyright Stat Line 10965  Intellectual Property and Copyright Stat
10965                  active voices on that channel.                  active voices on that channel.
10966  </p>  </p>
10967  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
10968  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10969  <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;
10970    Number of active disk streams changed</h3>
10971    
10972  <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
10973                  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 10995  Intellectual Property and Copyright Stat
10995                  active disk streams on that channel.                  active disk streams on that channel.
10996  </p>  </p>
10997  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
10998  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10999  <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;
11000    Disk stream buffer fill state changed</h3>
11001    
11002  <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
11003                  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 11022  Intellectual Property and Copyright Stat
11022  </p>  </p>
11023  <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
11024                  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
11025                  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>
11026                  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.
11027  </p>  </p>
11028  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11029  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11030  <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;
11031    Channel information changed</h3>
11032    
11033  <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
11034                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 5847  Intellectual Property and Copyright Stat Line 11058  Intellectual Property and Copyright Stat
11058                  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
11059                  message is sufficient here.                  message is sufficient here.
11060  </p>  </p>
11061    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11062    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11063    <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
11064    Number of effect sends changed</h3>
11065    
11066    <p>Client may want to be notified when the number of effect sends on
11067                    a particular sampler channel is changed by issuing the following command:
11068    </p>
11069    <p>
11070                        </p>
11071    <blockquote class="text">
11072    <p>SUBSCRIBE FX_SEND_COUNT
11073    </p>
11074    </blockquote><p>
11075                    
11076    </p>
11077    <p>Server will start sending the following notification messages:
11078    </p>
11079    <p>
11080                        </p>
11081    <blockquote class="text">
11082    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11083    </p>
11084    </blockquote><p>
11085                    
11086    </p>
11087    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11088                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11089                    be replaced by the new number of effect sends on that channel.
11090    </p>
11091    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11092    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11093    <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
11094    Effect send information changed</h3>
11095    
11096    <p>Client may want to be notified when changes were made to effect sends on a
11097                    a particular sampler channel by issuing the following command:
11098    </p>
11099    <p>
11100                        </p>
11101    <blockquote class="text">
11102    <p>SUBSCRIBE FX_SEND_INFO
11103    </p>
11104    </blockquote><p>
11105                    
11106    </p>
11107    <p>Server will start sending the following notification messages:
11108    </p>
11109    <p>
11110                        </p>
11111    <blockquote class="text">
11112    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11113    </p>
11114    </blockquote><p>
11115                    
11116    </p>
11117    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11118                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11119                    be replaced by the numerical ID of the changed effect send.
11120    </p>
11121  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11122  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11123  <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;
11124    Total number of active voices changed</h3>
11125    
11126  <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
11127                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5867  Intellectual Property and Copyright Stat Line 11139  Intellectual Property and Copyright Stat
11139  <p>  <p>
11140                      </p>                      </p>
11141  <blockquote class="text">  <blockquote class="text">
11142  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11143  </p>  </p>
11144  </blockquote><p>  </blockquote><p>
11145                                    
# Line 5875  Intellectual Property and Copyright Stat Line 11147  Intellectual Property and Copyright Stat
11147  <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
11148                  all currently active voices.                  all currently active voices.
11149  </p>  </p>
11150    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11151    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11152    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11153    Total number of active disk streams changed</h3>
11154    
11155    <p>Client may want to be notified when the total number of disk streams on the
11156                    back-end changes by issuing the following command:
11157    </p>
11158    <p>
11159                        </p>
11160    <blockquote class="text">
11161    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11162    </p>
11163    </blockquote><p>
11164                    
11165    </p>
11166    <p>Server will start sending the following notification messages:
11167    </p>
11168    <p>
11169                        </p>
11170    <blockquote class="text">
11171    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11172    </p>
11173    </blockquote><p>
11174                    
11175    </p>
11176    <p>where &lt;streams&gt; will be replaced by the new number of
11177                    all currently active disk streams.
11178    </p>
11179    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11180    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11181    <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
11182    Number of MIDI instrument maps changed</h3>
11183    
11184    <p>Client may want to be notified when the number of MIDI instrument maps on the
11185                    back-end changes by issuing the following command:
11186    </p>
11187    <p>
11188                        </p>
11189    <blockquote class="text">
11190    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
11191    </p>
11192    </blockquote><p>
11193                    
11194    </p>
11195    <p>Server will start sending the following notification messages:
11196    </p>
11197    <p>
11198                        </p>
11199    <blockquote class="text">
11200    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
11201    </p>
11202    </blockquote><p>
11203                    
11204    </p>
11205    <p>where &lt;maps&gt; will be replaced by the new number
11206                    of MIDI instrument maps.
11207    </p>
11208    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11209    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11210    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11211    MIDI instrument map information changed</h3>
11212    
11213    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
11214                    back-end by issuing the following command:
11215    </p>
11216    <p>
11217                        </p>
11218    <blockquote class="text">
11219    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
11220    </p>
11221    </blockquote><p>
11222                    
11223    </p>
11224    <p>Server will start sending the following notification messages:
11225    </p>
11226    <p>
11227                        </p>
11228    <blockquote class="text">
11229    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
11230    </p>
11231    </blockquote><p>
11232                    
11233    </p>
11234    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11235                    for which information changes occurred. The front-end will have to send
11236                    the respective command to actually get the MIDI instrument map info. Because these messages
11237                    will be triggered by LSCP commands issued by other clients rather than real
11238                    time events happening on the server, it is believed that an empty notification
11239                    message is sufficient here.
11240    </p>
11241    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11242    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11243    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11244    Number of MIDI instruments changed</h3>
11245    
11246    <p>Client may want to be notified when the number of MIDI instrument maps on the
11247                    back-end changes by issuing the following command:
11248    </p>
11249    <p>
11250                        </p>
11251    <blockquote class="text">
11252    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
11253    </p>
11254    </blockquote><p>
11255                    
11256    </p>
11257    <p>Server will start sending the following notification messages:
11258    </p>
11259    <p>
11260                        </p>
11261    <blockquote class="text">
11262    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
11263    </p>
11264    </blockquote><p>
11265                    
11266    </p>
11267    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
11268                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
11269                    the new number of MIDI instruments in the specified map.
11270    </p>
11271    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11272    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11273    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11274    MIDI instrument information changed</h3>
11275    
11276    <p>Client may want to be notified when changes were made to MIDI instruments on the
11277                    back-end by issuing the following command:
11278    </p>
11279    <p>
11280                        </p>
11281    <blockquote class="text">
11282    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
11283    </p>
11284    </blockquote><p>
11285                    
11286    </p>
11287    <p>Server will start sending the following notification messages:
11288    </p>
11289    <p>
11290                        </p>
11291    <blockquote class="text">
11292    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
11293    </p>
11294    </blockquote><p>
11295                    
11296    </p>
11297    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11298                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
11299                    the location of the changed MIDI instrument in the map. The front-end will have to send
11300                    the respective command to actually get the MIDI instrument info. Because these messages
11301                    will be triggered by LSCP commands issued by other clients rather than real
11302                    time events happening on the server, it is believed that an empty notification
11303                    message is sufficient here.
11304    </p>
11305    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11306    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11307    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11308    Global settings changed</h3>
11309    
11310    <p>Client may want to be notified when changes to the global settings
11311                    of the sampler were made by issuing the following command:
11312    </p>
11313    <p>
11314                        </p>
11315    <blockquote class="text">
11316    <p>SUBSCRIBE GLOBAL_INFO
11317    </p>
11318    </blockquote><p>
11319                    
11320    </p>
11321    <p>Server will start sending the following types of notification messages:
11322    </p>
11323    <p>
11324                        </p>
11325    <blockquote class="text">
11326    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11327                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11328                            replaced by the optional dotted floating point value, reflecting the
11329                            new global volume parameter.
11330    </p>
11331    </blockquote><p>
11332                    
11333    </p>
11334    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11335    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11336    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11337    Number of database instrument directories changed</h3>
11338    
11339    <p>Client may want to be notified when the number of instrument
11340                    directories in a particular directory in the instruments database
11341                    is changed by issuing the following command:
11342    </p>
11343    <p>
11344                        </p>
11345    <blockquote class="text">
11346    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11347    </p>
11348    </blockquote><p>
11349                    
11350    </p>
11351    <p>Server will start sending the following notification messages:
11352    </p>
11353    <p>
11354                        </p>
11355    <blockquote class="text">
11356    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11357    </p>
11358    </blockquote><p>
11359                    
11360    </p>
11361    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11362                    name of the directory in the instruments database,
11363                    in which the number of directories is changed.
11364    </p>
11365    <p>Note that when a non-empty directory is removed, this event
11366                    is not sent for the subdirectories in that directory.
11367    </p>
11368    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11369    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11370    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11371    Database instrument directory information changed</h3>
11372    
11373    <p>Client may want to be notified when changes were made to directories
11374                    in the instruments database by issuing the following command:
11375    </p>
11376    <p>
11377                        </p>
11378    <blockquote class="text">
11379    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11380    </p>
11381    </blockquote><p>
11382                    
11383    </p>
11384    <p>Server will start sending the following notification messages:
11385    </p>
11386    <p>
11387                        </p>
11388    <blockquote class="text">
11389    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11390    </p>
11391    </blockquote><p>
11392                    
11393    </p>
11394    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11395                    of the directory, for which information changes occurred. The front-end will have to send
11396                    the respective command to actually get the updated directory info. Because these messages
11397                    will be triggered by LSCP commands issued by other clients rather than real
11398                    time events happening on the server, it is believed that an empty notification
11399                    message is sufficient here.
11400    </p>
11401    <p>
11402                        </p>
11403    <blockquote class="text">
11404    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11405    </p>
11406    </blockquote><p>
11407                    
11408    </p>
11409    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11410                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11411                    the new name of the directory, encapsulated into apostrophes.
11412    </p>
11413    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11414    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11415    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11416    Number of database instruments changed</h3>
11417    
11418    <p>Client may want to be notified when the number of instruments
11419                    in a particular directory in the instruments database
11420                    is changed by issuing the following command:
11421    </p>
11422    <p>
11423                        </p>
11424    <blockquote class="text">
11425    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11426    </p>
11427    </blockquote><p>
11428                    
11429    </p>
11430    <p>Server will start sending the following notification messages:
11431    </p>
11432    <p>
11433                        </p>
11434    <blockquote class="text">
11435    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
11436    </p>
11437    </blockquote><p>
11438                    
11439    </p>
11440    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11441                    name of the directory in the instruments database,
11442                    in which the number of instruments is changed.
11443    </p>
11444    <p>Note that when a non-empty directory is removed, this event
11445                    is not sent for the instruments in that directory.
11446    </p>
11447    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
11448    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11449    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11450    Database instrument information changed</h3>
11451    
11452    <p>Client may want to be notified when changes were made to instruments
11453                    in the instruments database by issuing the following command:
11454    </p>
11455    <p>
11456                        </p>
11457    <blockquote class="text">
11458    <p>SUBSCRIBE DB_INSTRUMENT_INFO
11459    </p>
11460    </blockquote><p>
11461                    
11462    </p>
11463    <p>Server will start sending the following notification messages:
11464    </p>
11465    <p>
11466                        </p>
11467    <blockquote class="text">
11468    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
11469    </p>
11470    </blockquote><p>
11471                    
11472    </p>
11473    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
11474                    of the instrument, which settings are changed. The front-end will have to send
11475                    the respective command to actually get the updated directory info. Because these messages
11476                    will be triggered by LSCP commands issued by other clients rather than real
11477                    time events happening on the server, it is believed that an empty notification
11478                    message is sufficient here.
11479    </p>
11480    <p>
11481                        </p>
11482    <blockquote class="text">
11483    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
11484    </p>
11485    </blockquote><p>
11486                    
11487    </p>
11488    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
11489                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11490                    the new name of the instrument, encapsulated into apostrophes.
11491    </p>
11492    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
11493    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11494    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11495    Database job status information changed</h3>
11496    
11497    <p>Client may want to be notified when the status of particular database
11498                    instruments job is changed by issuing the following command:
11499    </p>
11500    <p>
11501                        </p>
11502    <blockquote class="text">
11503    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
11504    </p>
11505    </blockquote><p>
11506                    
11507    </p>
11508    <p>Server will start sending the following notification messages:
11509    </p>
11510    <p>
11511                        </p>
11512    <blockquote class="text">
11513    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
11514    </p>
11515    </blockquote><p>
11516                    
11517    </p>
11518    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
11519                    which status is changed. The front-end will have to send the respective
11520                    command to actually get the status info. Because these messages
11521                    will be triggered by LSCP commands issued by other clients rather than real
11522                    time events happening on the server, it is believed that an empty notification
11523                    message is sufficient here.
11524    </p>
11525  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
11526  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11527  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;Miscellaneous and debugging events</h3>  <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
11528    Miscellaneous and debugging events</h3>
11529    
11530  <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
11531                  the server by issuing the following command:                  the server by issuing the following command:
# Line 5905  Intellectual Property and Copyright Stat Line 11553  Intellectual Property and Copyright Stat
11553                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
11554  </p>  </p>
11555  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
11556  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11557  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
11558    Security Considerations</h3>
11559    
11560  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
11561              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 11563  Intellectual Property and Copyright Stat
11563              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
11564  </p>  </p>
11565  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
11566  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11567  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
11568    Acknowledgments</h3>
11569    
11570  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
11571              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 11586  Intellectual Property and Copyright Stat
11586                            
11587  </p>  </p>
11588  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
11589  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11590  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
11591  <table width="99%" border="0">  <table width="99%" border="0">
11592    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
11593    <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>
11594  <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>
11595  <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>
11596  <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 11600  Intellectual Property and Copyright Stat
11600  </table>  </table>
11601    
11602  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
11603  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11604  <h3>Author's Address</h3>  <h3>Author's Address</h3>
11605  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
11606  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 5966  Schoenebeck</td></tr> Line 11618  Schoenebeck</td></tr>
11618  <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>
11619  </table>  </table>
11620  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
11621  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11622  <h3>Intellectual Property Statement</h3>  <h3>Full Copyright Statement</h3>
11623  <p class='copyright'>  <p class='copyright'>
11624  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>  
11625  <p class='copyright'>  <p class='copyright'>
11626  The IETF invites any interested party to bring to its  This document is subject to the rights,
11627  attention any copyrights, patents or patent applications, or  licenses and restrictions contained in BCP&nbsp;78,
11628  other proprietary rights which may cover technology that may be  and except as set forth therein,
11629  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>  
11630  <p class='copyright'>  <p class='copyright'>
11631  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  This document and the information contained herein are provided
11632    on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
11633    THE ORGANIZATION HE/SHE REPRESENTS
11634    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
11635    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
11636    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
11637    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
11638    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
11639    PURPOSE.</p>
11640    <h3>Intellectual Property</h3>
11641  <p class='copyright'>  <p class='copyright'>
11642  This document and translations of it may be copied and furnished to  The IETF takes no position regarding the validity or scope of any
11643  others, and derivative works that comment on or otherwise explain it  Intellectual Property Rights or other rights that might be claimed
11644  or assist in its implementation may be prepared, copied, published and  to pertain to the implementation or use of the technology
11645  distributed, in whole or in part, without restriction of any kind,  described in this document or the extent to which any license
11646  provided that the above copyright notice and this paragraph are  under such rights might or might not be available; nor does it
11647  included on all such copies and derivative works. However, this  represent that it has made any independent effort to identify any
11648  document itself may not be modified in any way, such as by removing  such rights.
11649  the copyright notice or references to the Internet Society or other  Information on the procedures with respect to
11650  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>  
11651  <p class='copyright'>  <p class='copyright'>
11652  The limited permissions granted above are perpetual and will not be  Copies of IPR disclosures made to the IETF Secretariat and any
11653  revoked by the Internet Society or its successors or assignees.</p>  assurances of licenses to be made available,
11654    or the result of an attempt made to obtain a general license or
11655    permission for the use of such proprietary rights by implementers or
11656    users of this specification can be obtained from the IETF on-line IPR
11657    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
11658  <p class='copyright'>  <p class='copyright'>
11659  This document and the information contained herein is provided on an  The IETF invites any interested party to bring to its attention
11660  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  any copyrights,
11661  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  patents or patent applications,
11662  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  or other
11663  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  proprietary rights that may cover technology that may be required
11664  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  to implement this standard.
11665    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
11666  <h3>Acknowledgment</h3>  <h3>Acknowledgment</h3>
11667  <p class='copyright'>  <p class='copyright'>
11668  Funding for the RFC Editor function is currently provided by the  Funding for the RFC Editor function is provided by
11669  Internet Society.</p>  the IETF Administrative Support Activity (IASA).</p>
11670  </body></html>  </body></html>
11671    

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

  ViewVC Help
Powered by ViewVC