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

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

  ViewVC Help
Powered by ViewVC