/[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 1028 by schoenebeck, Sun Jan 14 17:33:03 2007 UTC revision 2143 by schoenebeck, Tue Oct 5 18:23:41 2010 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.31 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.35 (http://xml.resource.org/)">
7  <style type='text/css'><!--  <style type='text/css'><!--
8          body {          body {
9                  font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10                  font-size: small; color: #000; background-color: #FFF;                  font-size: small; color: #000; background-color: #FFF;
11                  margin: 2em;                  margin: 2em;
12          }          }
13          h1, h2, h3, h4, h5, h6 {          h1, h2, h3, h4, h5, h6 {
14                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15                  font-weight: bold; font-style: normal;                  font-weight: bold; font-style: normal;
16          }          }
17          h1 { color: #900; background-color: transparent; text-align: right; }          h1 { color: #900; background-color: transparent; text-align: right; }
18          h3 { color: #333; background-color: transparent; }          h3 { color: #333; background-color: transparent; }
19    
20          td.RFCbug {          td.RFCbug {
21                  font-size: x-small; text-decoration: none;                  font-size: x-small; text-decoration: none;
22                  width: 30px; height: 30px; padding-top: 2px;                  width: 30px; height: 30px; padding-top: 2px;
23                  text-align: justify; vertical-align: middle;                  text-align: justify; vertical-align: middle;
24                  background-color: #000;                  background-color: #000;
25          }          }
26          td.RFCbug span.RFC {          td.RFCbug span.RFC {
27                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28                  font-weight: bold; color: #666;                  font-weight: bold; color: #666;
29          }          }
30          td.RFCbug span.hotText {          td.RFCbug span.hotText {
31                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32                  font-weight: normal; text-align: center; color: #FFF;                  font-weight: normal; text-align: center; color: #FFF;
33          }          }
34    
35          table.TOCbug { width: 30px; height: 15px; }          table.TOCbug { width: 30px; height: 15px; }
36          td.TOCbug {          td.TOCbug {
37                  text-align: center; width: 30px; height: 15px;                  text-align: center; width: 30px; height: 15px;
38                  color: #FFF; background-color: #900;                  color: #FFF; background-color: #900;
39          }          }
40          td.TOCbug a {          td.TOCbug a {
41                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                  font-weight: bold; font-size: x-small; text-decoration: none;                  font-weight: bold; font-size: x-small; text-decoration: none;
43                  color: #FFF; background-color: transparent;                  color: #FFF; background-color: transparent;
44          }          }
45    
46          td.header {          td.header {
47                  font-family: arial, helvetica, sans-serif; font-size: x-small;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48                  vertical-align: top; width: 33%;                  vertical-align: top; width: 33%;
49                  color: #FFF; background-color: #666;                  color: #FFF; background-color: #666;
50          }          }
51          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52          td.author-text { font-size: x-small; }          td.author-text { font-size: x-small; }
53    
54          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55          a.info {          a.info {
56                  /* This is the key. */                  /* This is the key. */
57                  position: relative;                  position: relative;
58                  z-index: 24;                  z-index: 24;
59                  text-decoration: none;                  text-decoration: none;
60          }          }
61          a.info:hover {          a.info:hover {
62                  z-index: 25;                  z-index: 25;
63                  color: #FFF; background-color: #900;                  color: #FFF; background-color: #900;
64          }          }
65          a.info span { display: none; }          a.info span { display: none; }
66          a.info:hover span.info {          a.info:hover span.info {
67                  /* The span will display just on :hover state. */                  /* The span will display just on :hover state. */
68                  display: block;                  display: block;
69                  position: absolute;                  position: absolute;
70                  font-size: smaller;                  font-size: smaller;
71                  top: 2em; left: -5em; width: 15em;                  top: 2em; left: -5em; width: 15em;
72                  padding: 2px; border: 1px solid #333;                  padding: 2px; border: 1px solid #333;
73                  color: #900; background-color: #EEE;                  color: #900; background-color: #EEE;
74                  text-align: left;                  text-align: left;
75          }          }
76    
77          a { font-weight: bold; }          a { font-weight: bold; }
78          a:link    { color: #900; background-color: transparent; }          a:link    { color: #900; background-color: transparent; }
79          a:visited { color: #633; background-color: transparent; }          a:visited { color: #633; background-color: transparent; }
80          a:active  { color: #633; background-color: transparent; }          a:active  { color: #633; background-color: transparent; }
81    
82          p { margin-left: 2em; margin-right: 2em; }          p { margin-left: 2em; margin-right: 2em; }
83          p.copyright { font-size: x-small; }          p.copyright { font-size: x-small; }
84          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }          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; }          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88          ol.text { margin-left: 2em; margin-right: 2em; }          ol.text { margin-left: 2em; margin-right: 2em; }
89          ul.text { margin-left: 2em; margin-right: 2em; }          ul.text { margin-left: 2em; margin-right: 2em; }
90          li      { margin-left: 3em; }          li      { margin-left: 3em; }
91    
92          /* RFC-2629 <spanx>s and <artwork>s. */          /* RFC-2629 <spanx>s and <artwork>s. */
93          em     { font-style: italic; }          em     { font-style: italic; }
94          strong { font-weight: bold; }          strong { font-weight: bold; }
95          dfn    { font-weight: bold; font-style: normal; }          dfn    { font-weight: bold; font-style: normal; }
96          cite   { font-weight: normal; font-style: normal; }          cite   { font-weight: normal; font-style: normal; }
97          tt     { color: #036; }          tt     { color: #036; }
98          tt, pre, pre dfn, pre em, pre cite, pre span {          tt, pre, pre dfn, pre em, pre cite, pre span {
99                  font-family: "Courier New", Courier, monospace; font-size: small;                  font-family: "Courier New", Courier, monospace; font-size: small;
100          }          }
101          pre {          pre {
102                  text-align: left; padding: 4px;                  text-align: left; padding: 4px;
103                  color: #000; background-color: #CCC;                  color: #000; background-color: #CCC;
104          }          }
105          pre dfn  { color: #900; }          pre dfn  { color: #900; }
106          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107          pre .key { color: #33C; font-weight: bold; }          pre .key { color: #33C; font-weight: bold; }
108          pre .id  { color: #900; }          pre .id  { color: #900; }
109          pre .str { color: #000; background-color: #CFF; }          pre .str { color: #000; background-color: #CFF; }
110          pre .val { color: #066; }          pre .val { color: #066; }
111          pre .rep { color: #909; }          pre .rep { color: #909; }
112          pre .oth { color: #000; background-color: #FCF; }          pre .oth { color: #000; background-color: #FCF; }
113          pre .err { background-color: #FCC; }          pre .err { background-color: #FCC; }
114    
115          /* RFC-2629 <texttable>s. */          /* RFC-2629 <texttable>s. */
116          table.full, table.headers, table.none {          table.all, table.full, table.headers, table.none {
117                  font-size: small; text-align: center; border-width: 2px;                  font-size: small; text-align: center; border-width: 2px;
118                  vertical-align: top; border-collapse: collapse;                  vertical-align: top; border-collapse: collapse;
119          }          }
120          table.full { border-style: solid; border-color: black; }          table.all, table.full { border-style: solid; border-color: black; }
121          table.headers, table.none { border-style: none; }          table.headers, table.none { border-style: none; }
122          th {          th {
123                  font-weight: bold; border-color: black;                  font-weight: bold; border-color: black;
124                  border-width: 2px 2px 3px 2px;                  border-width: 2px 2px 3px 2px;
125          }          }
126          table.full th { border-style: solid; }          table.all th, table.full th { border-style: solid; }
127          table.headers th { border-style: none none solid none; }          table.headers th { border-style: none none solid none; }
128          table.none th { border-style: none; }          table.none th { border-style: none; }
129          table.full td {          table.all td {
130                  border-style: solid; border-color: #333;                  border-style: solid; border-color: #333;
131                  border-width: 1px 2px;                  border-width: 1px 2px;
132          }          }
133          table.headers td, table.none td { border-style: none; }          table.full td, table.headers td, table.none td { border-style: none; }
134    
135          hr { height: 1px; }          hr { height: 1px; }
136          hr.insert {          hr.insert {
137                  width: 80%; border-style: none; border-width: 0;                  width: 80%; border-style: none; border-width: 0;
138                  color: #CCC; background-color: #CCC;                  color: #CCC; background-color: #CCC;
139          }          }
140  --></style>  --></style>
141  </head>  </head>
142  <body>  <body>
# Line 145  Line 145 
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">Intended status: Standards Track</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">Expires: July 18, 2007</td><td class="header">January 14, 2007</td></tr>  <tr><td class="header">Expires: April 8, 2011</td><td class="header">October 5, 2010</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.2</h1>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.5</h1>
151    
152    <h3>Abstract</h3>
153    
154    <p>The LinuxSampler Control Protocol (LSCP) is an
155                application-level protocol primarily intended for local and
156                remote controlling the LinuxSampler backend application, which is a
157                sophisticated server-like console application essentially playing
158                back audio samples and manipulating the samples in real time to
159                certain extent.
160    </p>
161  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
162  <p>  <p>
163  By submitting this Internet-Draft,  By submitting this Internet-Draft,
# Line 158  and any of which he or she becomes aware Line 167  and any of which he or she becomes aware
167  in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>  in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
168  <p>  <p>
169  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
170  Task Force (IETF), its areas, and its working groups.  Task Force (IETF).  Note that other groups may also distribute
171  Note that other groups may also distribute working documents as  working documents as Internet-Drafts.  The list of current
172  Internet-Drafts.</p>  Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.</p>
173  <p>  <p>
174  Internet-Drafts are draft documents valid for a maximum of six months  Internet-Drafts are draft documents valid for a maximum of six months
175  and may be updated, replaced, or obsoleted by other documents at any time.  and may be updated, replaced, or obsoleted by other documents at any time.
176  It is inappropriate to use Internet-Drafts as reference material or to cite  It is inappropriate to use Internet-Drafts as reference material or to cite
177  them other than as &ldquo;work in progress.&rdquo;</p>  them other than as &ldquo;work in progress.&rdquo;</p>
178  <p>  <p>
179  The list of current Internet-Drafts can be accessed at  This Internet-Draft will expire on April 8, 2011.</p>
180  <a href='http://www.ietf.org/ietf/1id-abstracts.txt'>http://www.ietf.org/ietf/1id-abstracts.txt</a>.</p>  <a name="toc"></a><br /><hr />
 <p>  
 The list of Internet-Draft Shadow Directories can be accessed at  
 <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  
 <p>  
 This Internet-Draft will expire on July 18, 2007.</p>  
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The Internet Society (2007).</p>  
   
 <h3>Abstract</h3>  
   
 <p>The LinuxSampler Control Protocol (LSCP) is an  
             application-level protocol primarily intended for local and  
             remote controlling the LinuxSampler backend application, which is a  
             sophisticated server-like console application essentially playing  
             back audio samples and manipulating the samples in real time to  
             certain extent.  
 </p><a name="toc"></a><br /><hr />  
181  <h3>Table of Contents</h3>  <h3>Table of Contents</h3>
182  <p class="toc">  <p class="toc">
183  <a href="#anchor1">1.</a>&nbsp;  <a href="#anchor1">1.</a>&nbsp;
# Line 328  Getting amount of effect sends on a samp Line 318  Getting amount of effect sends on a samp
318  Listing all effect sends on a sampler channel<br />  Listing all effect sends on a sampler channel<br />
319  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
320  Getting effect send information<br />  Getting effect send information<br />
321  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.30.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
322    Changing effect send's name<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
324  Altering effect send's audio routing<br />  Altering effect send's audio routing<br />
325  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.31.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND EFFECT">6.4.32.</a>&nbsp;
326    Assigning destination effect to an effect send<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE FX_SEND EFFECT">6.4.33.</a>&nbsp;
328    Removing destination effect from an effect send<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.34.</a>&nbsp;
330  Altering effect send's MIDI controller<br />  Altering effect send's MIDI controller<br />
331  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.32.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.35.</a>&nbsp;
332  Altering effect send's send level<br />  Altering effect send's send level<br />
333  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.33.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SEND CHANNEL MIDI_DATA">6.4.36.</a>&nbsp;
334    Sending MIDI messages to sampler channel<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.37.</a>&nbsp;
336  Resetting a sampler channel<br />  Resetting a sampler channel<br />
337  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
338  Controlling connection<br />  Controlling connection<br />
# Line 352  Global commands<br /> Line 350  Global commands<br />
350  Current number of active voices<br />  Current number of active voices<br />
351  &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;
352  Maximum amount of active voices<br />  Maximum amount of active voices<br />
353  &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;
354    Current number of active disk streams<br />
355    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
356  Reset sampler<br />  Reset sampler<br />
357  &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;
358  General sampler informations<br />  General sampler informations<br />
359  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
360  Getting global volume attenuation<br />  Getting global volume attenuation<br />
361  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
362  Setting global volume attenuation<br />  Setting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOICES">6.6.8.</a>&nbsp;
364    Getting global voice limit<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOICES">6.6.9.</a>&nbsp;
366    Setting global voice limit<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET STREAMS">6.6.10.</a>&nbsp;
368    Getting global disk stream limit<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET STREAMS">6.6.11.</a>&nbsp;
370    Setting global disk stream limit<br />
371  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
372  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
373  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT MAP">6.7.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
374  Create a new MIDI instrument map<br />  Create a new MIDI instrument map<br />
375  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
376  Delete one particular or all MIDI instrument maps<br />  Delete one particular or all MIDI instrument maps<br />
# Line 386  Remove an entry from the MIDI instrument Line 394  Remove an entry from the MIDI instrument
394  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
395  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
396  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
397    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
398    Managing Instruments Database<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
400    Creating a new instrument directory<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
402    Deleting an instrument directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
404    Getting amount of instrument directories<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
406    Listing all directories in specific directory<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
408    Getting instrument directory information<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
410    Renaming an instrument directory<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
412    Moving an instrument directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
414    Copying instrument directories<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
416    Changing the description of directory<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
418    Finding directories<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
420    Adding instruments to the instruments database<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
422    Removing an instrument<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
424    Getting amount of instruments<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
426    Listing all instruments in specific directory<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
428    Getting instrument information<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
430    Renaming an instrument<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
432    Moving an instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
434    Copying instruments<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
436    Changing the description of instrument<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
438    Finding instruments<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
440    Getting job status information<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
442    Formatting the instruments database<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
444    Checking for lost instrument files<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
446    Replacing an instrument file<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
448    Editing Instruments<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
450    Opening an appropriate instrument editor application<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
452    Managing Files<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
454    Retrieving amount of instruments of a file<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
456    Retrieving all instruments of a file<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
458    Retrieving informations about one instrument in a file<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#effects">6.11.</a>&nbsp;
460    Managing Effects<br />
461    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET AVAILABLE_EFFECTS">6.11.1.</a>&nbsp;
462    Retrieve amount of available effects<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST AVAILABLE_EFFECTS">6.11.2.</a>&nbsp;
464    Get list of available effects<br />
465    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT INFO">6.11.3.</a>&nbsp;
466    Retrieving general information about an effect<br />
467    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE EFFECT_INSTANCE">6.11.4.</a>&nbsp;
468    Creating an instance of an effect by its portable ID<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE EFFECT_INSTANCE (non-portable)">6.11.5.</a>&nbsp;
470    Creating an instance of an effect by its numerical ID<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY EFFECT_INSTANCE">6.11.6.</a>&nbsp;
472    Destroy an effect instance<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCES">6.11.7.</a>&nbsp;
474    Retrieve amount of effect instances<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST EFFECT_INSTANCES">6.11.8.</a>&nbsp;
476    Get list of effect instances<br />
477    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCE INFO">6.11.9.</a>&nbsp;
478    Retrieving current information about an effect instance<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET EFFECT_INSTANCE_INPUT_CONTROL INFO">6.11.10.</a>&nbsp;
480    Retrieving information about an effect parameter<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET EFFECT_INSTANCE_INPUT_CONTROL VALUE">6.11.11.</a>&nbsp;
482    Altering an effect parameter<br />
483    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SEND_EFFECT_CHAINS">6.11.12.</a>&nbsp;
484    Retrieve amount of send effect chains<br />
485    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST SEND_EFFECT_CHAINS">6.11.13.</a>&nbsp;
486    Retrieve list of send effect chains<br />
487    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD SEND_EFFECT_CHAIN">6.11.14.</a>&nbsp;
488    Add send effect chain<br />
489    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE SEND_EFFECT_CHAIN">6.11.15.</a>&nbsp;
490    Remove send effect chain<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SEND_EFFECT_CHAIN INFO">6.11.16.</a>&nbsp;
492    Retrieving information about a send effect chain<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#APPEND SEND_EFFECT_CHAIN EFFECT">6.11.17.</a>&nbsp;
494    Append effect instance to a send effect chain<br />
495    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#INSERT SEND_EFFECT_CHAIN EFFECT">6.11.18.</a>&nbsp;
496    Insert effect instance to a send effect chain<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE SEND_EFFECT_CHAIN EFFECT">6.11.19.</a>&nbsp;
498    Remove effect instance from send effect chain<br />
499  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
500  Command Syntax<br />  Command Syntax<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
502    Character Set and Escape Sequences<br />
503  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
504  Events<br />  Events<br />
505  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
# Line 400  Number of MIDI input devices changed<br Line 512  Number of MIDI input devices changed<br
512  MIDI input device's settings changed<br />  MIDI input device's settings changed<br />
513  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
514  Number of sampler channels changed<br />  Number of sampler channels changed<br />
515  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_MIDI">8.6.</a>&nbsp;
516    MIDI data on a sampler channel arrived<br />
517    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
518    MIDI data on a MIDI input device arrived<br />
519    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
520  Number of active voices changed<br />  Number of active voices changed<br />
521  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE STREAM_COUNT">8.9.</a>&nbsp;
522  Number of active disk streams changed<br />  Number of active disk streams changed<br />
523  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.8.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE BUFFER_FILL">8.10.</a>&nbsp;
524  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
525  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.9.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_INFO">8.11.</a>&nbsp;
526  Channel information changed<br />  Channel information changed<br />
527  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.10.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_COUNT">8.12.</a>&nbsp;
528    Number of effect sends changed<br />
529    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
530    Effect send information changed<br />
531    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.14.</a>&nbsp;
532  Total number of active voices changed<br />  Total number of active voices changed<br />
533  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.11.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_STREAM_COUNT">8.15.</a>&nbsp;
534    Total number of active disk streams changed<br />
535    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
536  Number of MIDI instrument maps changed<br />  Number of MIDI instrument maps changed<br />
537  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.12.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
538  MIDI instrument map information changed<br />  MIDI instrument map information changed<br />
539  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.13.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
540  Number of MIDI instruments changed<br />  Number of MIDI instruments changed<br />
541  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
542  MIDI instrument information changed<br />  MIDI instrument information changed<br />
543  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
544    Global settings changed<br />
545    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
546    Number of database instrument directories changed<br />
547    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
548    Database instrument directory information changed<br />
549    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
550    Number of database instruments changed<br />
551    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
552    Database instrument information changed<br />
553    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
554    Database job status information changed<br />
555    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
556  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
557  <a href="#anchor14">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
558  Security Considerations<br />  Security Considerations<br />
# Line 450  Requirements notation</h3> Line 584  Requirements notation</h3>
584              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
585              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
586              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
587              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>),
588              example:              thus the following example:
589  </p>  </p>
590  <p>  <p>
591                  </p>                  </p>
# Line 3237  Changing settings of MIDI input ports</h Line 3371  Changing settings of MIDI input ports</h
3371                      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>
3372                      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
3373                      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
3374                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3375                        for specifying no value for parameters allowing a list of values.
3376  </p>  </p>
3377  <p>Possible Answers:  <p>Possible Answers:
3378  </p>  </p>
# Line 3278  Changing settings of MIDI input ports</h Line 3413  Changing settings of MIDI input ports</h
3413  <p>  <p>
3414                          </p>                          </p>
3415  <blockquote class="text">  <blockquote class="text">
3416    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3417    </p>
3418    <p>S: "OK"
3419    </p>
3420    </blockquote><p>
3421                        
3422    </p>
3423  <p>  <p>
3424                            </p>
3425    <blockquote class="text">
3426    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3427    </p>
3428    <p>S: "OK"
3429  </p>  </p>
3430  </blockquote><p>  </blockquote><p>
3431                                            
# Line 3313  Loading an instrument</h3> Line 3460  Loading an instrument</h3>
3460                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3461                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3462  </p>  </p>
3463    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3464                        escape characters for special characters (see chapter
3465                        "<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>"
3466                        for details) and accordingly backslash characters in the filename
3467                        MUST now be escaped as well!
3468    </p>
3469  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3470                      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
3471                      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
# Line 3360  Loading an instrument</h3> Line 3513  Loading an instrument</h3>
3513  </blockquote><p>  </blockquote><p>
3514                                            
3515  </p>  </p>
3516  <p>Example:  <p>Example (Unix):
3517  </p>  </p>
3518  <p>  <p>
3519                          </p>                          </p>
3520  <blockquote class="text">  <blockquote class="text">
3521    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3522    </p>
3523    <p>S: OK
3524    </p>
3525    </blockquote><p>
3526                        
3527    </p>
3528    <p>Example (Windows):
3529    </p>
3530  <p>  <p>
3531                            </p>
3532    <blockquote class="text">
3533    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3534    </p>
3535    <p>S: OK
3536  </p>  </p>
3537  </blockquote><p>  </blockquote><p>
3538                                            
# Line 3780  Getting information about an engine</h3> Line 3947  Getting information about an engine</h3>
3947                                          </p>                                          </p>
3948  <blockquote class="text">  <blockquote class="text">
3949  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3950                                                (note that the character string may contain
3951                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3952  </p>  </p>
3953  </blockquote>  </blockquote>
3954                                                                            
# Line 3865  Getting sampler channel information</h3> Line 4034  Getting sampler channel information</h3>
4034  <blockquote class="text">  <blockquote class="text">
4035  <p>numerical ID of the audio output device which is  <p>numerical ID of the audio output device which is
4036                                              currently connected to this sampler channel to output                                              currently connected to this sampler channel to output
4037                                              the audio signal, "NONE" if there's no device                                              the audio signal, "-1" if there's no device
4038                                              connected to this sampler channel                                              connected to this sampler channel
4039  </p>  </p>
4040  </blockquote>  </blockquote>
# Line 3899  Getting sampler channel information</h3> Line 4068  Getting sampler channel information</h3>
4068  <blockquote class="text">  <blockquote class="text">
4069  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4070                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4071                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4072                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4073  </p>  </p>
4074  </blockquote>  </blockquote>
4075                                                                            
# Line 3907  Getting sampler channel information</h3> Line 4077  Getting sampler channel information</h3>
4077  <p>INSTRUMENT_NR -  <p>INSTRUMENT_NR -
4078                                          </p>                                          </p>
4079  <blockquote class="text">  <blockquote class="text">
4080  <p>the instrument index number of the loaded instrument  <p>the instrument index number of the loaded instrument,
4081                                                "-1" if there's no instrument loaded for this sampler
4082                                                channel
4083  </p>  </p>
4084  </blockquote>  </blockquote>
4085                                                                            
# Line 3916  Getting sampler channel information</h3> Line 4088  Getting sampler channel information</h3>
4088                                          </p>                                          </p>
4089  <blockquote class="text">  <blockquote class="text">
4090  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4091                                                (note: since LSCP 1.2 this character string may contain
4092                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4093  </p>  </p>
4094  </blockquote>  </blockquote>
4095                                                                            
# Line 3923  Getting sampler channel information</h3> Line 4097  Getting sampler channel information</h3>
4097  <p>INSTRUMENT_STATUS -  <p>INSTRUMENT_STATUS -
4098                                          </p>                                          </p>
4099  <blockquote class="text">  <blockquote class="text">
4100  <p>integer values 0 to 100 indicating loading progress percentage for the instrument. Negative  <p>Integer values 0 to 100 indicating loading progress
4101                                              value indicates a loading exception. Value of 100 indicates that the instrument is fully                                              percentage for the instrument. Negative
4102                                                value indicates a loading exception (also returns "-1" in case no
4103                                                instrument was yet to be loaded on the sampler channel).
4104                                                Value of 100 indicates that the instrument is fully
4105                                              loaded.                                              loaded.
4106  </p>  </p>
4107  </blockquote>  </blockquote>
# Line 3935  Getting sampler channel information</h3> Line 4112  Getting sampler channel information</h3>
4112  <blockquote class="text">  <blockquote class="text">
4113  <p>numerical ID of the MIDI input device which is  <p>numerical ID of the MIDI input device which is
4114                                              currently connected to this sampler channel to deliver                                              currently connected to this sampler channel to deliver
4115                                              MIDI input commands, "NONE" if there's no device                                              MIDI input commands, "-1" if there's no device
4116                                              connected to this sampler channel                                              connected to this sampler channel
4117  </p>  </p>
4118  </blockquote>  </blockquote>
# Line 3944  Getting sampler channel information</h3> Line 4121  Getting sampler channel information</h3>
4121  <p>MIDI_INPUT_PORT -  <p>MIDI_INPUT_PORT -
4122                                          </p>                                          </p>
4123  <blockquote class="text">  <blockquote class="text">
4124  <p>port number of the MIDI input device  <p>port number of the MIDI input device (in case a
4125                                                MIDI device was already assigned to the sampler
4126                                                channel)
4127  </p>  </p>
4128  </blockquote>  </blockquote>
4129                                                                            
# Line 4991  Adding an effect send to a sampler chann Line 5170  Adding an effect send to a sampler chann
5170                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;                      sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5171                      is a number between 0..127 defining the MIDI controller which can alter the                      is a number between 0..127 defining the MIDI controller which can alter the
5172                      effect send level and &lt;name&gt; is an optional argument defining a name                      effect send level and &lt;name&gt; is an optional argument defining a name
5173                      for the effect send entity. The name does not have to be unique.                      for the effect send entity. The name does not have to be unique, but MUST be
5174                        encapsulated into apostrophes and supports escape sequences as described in chapter
5175                        "<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>".
5176  </p>  </p>
5177  <p>By default, that is as initial routing, the effect send's audio channels  <p>By default, that is as initial routing, the effect send's audio channels
5178                      are automatically routed to the last audio channels of the sampler channel's                      are automatically routed to the last audio channels of the sampler channel's
# Line 5260  Getting effect send information</h3> Line 5441  Getting effect send information</h3>
5441                                          </p>                                          </p>
5442  <blockquote class="text">  <blockquote class="text">
5443  <p>name of the effect send entity  <p>name of the effect send entity
5444                                                (note that this character string may contain
5445                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5446  </p>  </p>
5447  </blockquote>  </blockquote>
5448                                                                            
# Line 5294  Getting effect send information</h3> Line 5477  Getting effect send information</h3>
5477                                              channel 1 is routed to the channel 3 of the audio                                              channel 1 is routed to the channel 3 of the audio
5478                                              output device (see                                              output device (see
5479                                              <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>                                              <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>
5480                                              for details)                                              for details), if an internal send
5481                                                effect is assigned to the effect
5482                                                send, then this setting defines the
5483                                                audio channel routing to that
5484                                                effect instance respectively
5485    </p>
5486    </blockquote>
5487                                        
5488    
5489    <p>EFFECT -
5490                                            </p>
5491    <blockquote class="text">
5492    <p>destination send effect chain ID
5493                                                and destination effect chain
5494                                                position, separated by comma in the
5495                                                form "&lt;effect-chain&gt;,&lt;chain-pos&gt;"
5496                                                or "NONE" if there is no send effect
5497                                                assigned to the effect send
5498  </p>  </p>
5499  </blockquote>  </blockquote>
5500                                                                            
# Line 5322  Getting effect send information</h3> Line 5522  Getting effect send information</h3>
5522  </p>  </p>
5523  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"  <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5524  </p>  </p>
5525    <p>&nbsp;&nbsp;&nbsp;"EFFECT: NONE"
5526    </p>
5527  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
5528  </p>  </p>
5529  </blockquote><p>  </blockquote><p>
5530                                            
5531  </p>  </p>
5532  <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <p>
5533                            </p>
5534    <blockquote class="text">
5535    <p>C: "GET FX_SEND INFO 0 1"
5536    </p>
5537    <p>S: "NAME: Delay Send (Internal)"
5538    </p>
5539    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 93"
5540    </p>
5541    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.51"
5542    </p>
5543    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 1,2"
5544    </p>
5545    <p>&nbsp;&nbsp;&nbsp;"EFFECT: 2,0"
5546    </p>
5547    <p>&nbsp;&nbsp;&nbsp;"."
5548    </p>
5549    </blockquote><p>
5550                        
5551    </p>
5552    <a name="SET FX_SEND NAME"></a><br /><hr />
5553  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5554  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;  <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5555    Changing effect send's name</h3>
5556    
5557    <p>The front-end can alter the current name of an effect
5558                        send entity by sending the following command:
5559    </p>
5560    <p>
5561                            </p>
5562    <blockquote class="text">
5563    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5564    </p>
5565    </blockquote><p>
5566                        
5567    </p>
5568    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5569                        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>
5570                        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,
5571                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5572                        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>
5573                        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
5574                        &lt;name&gt; is the new name of the effect send entity, which
5575                        does not have to be unique (name MUST be encapsulated into apostrophes
5576                        and supports escape sequences as described in chapter
5577                        "<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>").
5578                        
5579    </p>
5580    <p>Possible Answers:
5581    </p>
5582    <p>
5583                            </p>
5584    <blockquote class="text">
5585    <p>"OK" -
5586                                    </p>
5587    <blockquote class="text">
5588    <p>on success
5589    </p>
5590    </blockquote>
5591                                
5592    
5593    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5594                                    </p>
5595    <blockquote class="text">
5596    <p>in case it failed, providing an appropriate error code and error message
5597    </p>
5598    </blockquote>
5599                                
5600    
5601    </blockquote><p>
5602                        
5603    </p>
5604    <p>Example:
5605    </p>
5606    <p>
5607                            </p>
5608    <blockquote class="text">
5609    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5610    </p>
5611    <p>S: "OK"
5612    </p>
5613    </blockquote><p>
5614                        
5615    </p>
5616    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5617    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5618    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5619  Altering effect send's audio routing</h3>  Altering effect send's audio routing</h3>
5620    
5621  <p>The front-end can alter the destination of an effect send's audio channel on a specific  <p>The front-end can alter the destination of an effect send's audio channel on a specific
# Line 5352  Altering effect send's audio routing</h3 Line 5638  Altering effect send's audio routing</h3
5638                      &lt;audio-src&gt; is the numerical ID of the effect send's audio channel                      &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5639                      which should be rerouted and &lt;audio-dst&gt; is the numerical ID of                      which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5640                      the audio channel of the selected audio output device where &lt;audio-src&gt;                      the audio channel of the selected audio output device where &lt;audio-src&gt;
5641                      should be routed to.                      should be routed to. If an internal send effect is assigned
5642                        to the effect send, then this setting defines the audio
5643                        channel routing to that effect instance respectively.
5644  </p>  </p>
5645  <p>Note that effect sends can only route audio to the same audio output  <p>Note that effect sends can only route audio to the same audio output
5646                      device as assigned to the effect send's sampler channel. Also note that an                      device as assigned to the effect send's sampler channel. Also note that an
# Line 5410  Altering effect send's audio routing</h3 Line 5698  Altering effect send's audio routing</h3
5698  </blockquote><p>  </blockquote><p>
5699                                            
5700  </p>  </p>
5701    <a name="SET FX_SEND EFFECT"></a><br /><hr />
5702    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5703    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5704    Assigning destination effect to an effect send</h3>
5705    
5706    <p>The front-end can (re-)assign a destination effect to an
5707                        effect send by sending the following command:
5708    </p>
5709    <p>
5710                            </p>
5711    <blockquote class="text">
5712    <p>SET FX_SEND EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;
5713    </p>
5714    </blockquote><p>
5715                        
5716    </p>
5717    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5718                        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>
5719                        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,
5720                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5721                        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>
5722                        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,
5723                        &lt;effect-chain&gt; by the numerical ID of the destination
5724                        effect chain as returned by the
5725                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
5726                        or
5727                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
5728                        command and &lt;chain-pos&gt; reflects the exact effect
5729                        chain position in the effect chain which hosts the actual
5730                        destination effect.
5731    </p>
5732    <p>Possible Answers:
5733    </p>
5734    <p>
5735                            </p>
5736    <blockquote class="text">
5737    <p>"OK" -
5738                                    </p>
5739    <blockquote class="text">
5740    <p>on success
5741    </p>
5742    </blockquote>
5743                                
5744    
5745    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5746                                    </p>
5747    <blockquote class="text">
5748    <p>in case it failed, providing an appropriate error code and error message
5749    </p>
5750    </blockquote>
5751                                
5752    
5753    </blockquote><p>
5754                        
5755    </p>
5756    <p>Example:
5757    </p>
5758    <p>
5759                            </p>
5760    <blockquote class="text">
5761    <p>C: "SET FX_SEND EFFECT 0 0 2 5"
5762    </p>
5763    <p>S: "OK"
5764    </p>
5765    </blockquote><p>
5766                        
5767    </p>
5768    <a name="REMOVE FX_SEND EFFECT"></a><br /><hr />
5769    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5770    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5771    Removing destination effect from an effect send</h3>
5772    
5773    <p>The front-end can (re-)assign a destination effect to an
5774                        effect send by sending the following command:
5775    </p>
5776    <p>
5777                            </p>
5778    <blockquote class="text">
5779    <p>REMOVE FX_SEND EFFECT &lt;sampler-chan&gt; &lt;fx-send-id&gt;
5780    </p>
5781    </blockquote><p>
5782                        
5783    </p>
5784    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5785                        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>
5786                        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,
5787                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5788                        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>
5789                        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.
5790    </p>
5791    <p>After the destination effect has been removed from the
5792                        effect send, the audio signal of the effect send will be
5793                        routed directly to the audio output device, according to the
5794                        audio channel routing setting of the effect send.
5795                        
5796    </p>
5797    <p>Possible Answers:
5798    </p>
5799    <p>
5800                            </p>
5801    <blockquote class="text">
5802    <p>"OK" -
5803                                    </p>
5804    <blockquote class="text">
5805    <p>on success
5806    </p>
5807    </blockquote>
5808                                
5809    
5810    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5811                                    </p>
5812    <blockquote class="text">
5813    <p>in case it failed, providing an appropriate error code and error message
5814    </p>
5815    </blockquote>
5816                                
5817    
5818    </blockquote><p>
5819                        
5820    </p>
5821    <p>Example:
5822    </p>
5823    <p>
5824                            </p>
5825    <blockquote class="text">
5826    <p>C: "REMOVE FX_SEND EFFECT 0 0"
5827    </p>
5828    <p>S: "OK"
5829    </p>
5830    </blockquote><p>
5831                        
5832    </p>
5833  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />  <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5834  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5835  <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;  <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5836  Altering effect send's MIDI controller</h3>  Altering effect send's MIDI controller</h3>
5837    
5838  <p>The front-end can alter the MIDI controller of an effect  <p>The front-end can alter the MIDI controller of an effect
# Line 5483  Altering effect send's MIDI controller</ Line 5903  Altering effect send's MIDI controller</
5903  </p>  </p>
5904  <a name="SET FX_SEND LEVEL"></a><br /><hr />  <a name="SET FX_SEND LEVEL"></a><br /><hr />
5905  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5906  <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;  <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5907  Altering effect send's send level</h3>  Altering effect send's send level</h3>
5908    
5909  <p>The front-end can alter the current send level of an effect  <p>The front-end can alter the current send level of an effect
# Line 5553  Altering effect send's send level</h3> Line 5973  Altering effect send's send level</h3>
5973  </blockquote><p>  </blockquote><p>
5974                                            
5975  </p>  </p>
5976    <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5977    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5978    <a name="rfc.section.6.4.36"></a><h3>6.4.36.&nbsp;
5979    Sending MIDI messages to sampler channel</h3>
5980    
5981    <p>The front-end can send MIDI events to a specific sampler channel
5982                        by sending the following command:
5983    </p>
5984    <p>
5985                            </p>
5986    <blockquote class="text">
5987    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5988    </p>
5989    </blockquote><p>
5990                        
5991    </p>
5992    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5993                        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>
5994                        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,
5995                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5996                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5997    </p>
5998    <p>
5999                            </p>
6000    <blockquote class="text">
6001    <p>"NOTE_ON" -
6002                                    </p>
6003    <blockquote class="text">
6004    <p>For turning on MIDI notes, where &lt;arg1&gt;
6005                                        specifies the key number and &lt;arg2&gt; the velocity
6006                                        as described in the MIDI specification.
6007    </p>
6008    </blockquote>
6009                                
6010    
6011    <p>"NOTE_OFF" -
6012                                    </p>
6013    <blockquote class="text">
6014    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
6015                                        specifies the key number and &lt;arg2&gt; the velocity
6016                                        as described in the MIDI specification.
6017    </p>
6018    </blockquote>
6019                                
6020    
6021    <p>"CC" -
6022                                    </p>
6023    <blockquote class="text">
6024    <p>For changing a MIDI controller, where &lt;arg1&gt;
6025                                        specifies the controller number and &lt;arg2&gt; the
6026                                        new value of the controller as described in the Control
6027                                        Change section of the MIDI specification.
6028    </p>
6029    </blockquote>
6030                                
6031    
6032    </blockquote><p>
6033                        
6034    </p>
6035    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
6036                        and no realtime guarantee whatsoever will be made!
6037    </p>
6038    <p>Possible Answers:
6039    </p>
6040    <p>
6041                            </p>
6042    <blockquote class="text">
6043    <p>"OK" -
6044                                    </p>
6045    <blockquote class="text">
6046    <p>on success
6047    </p>
6048    </blockquote>
6049                                
6050    
6051    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6052                                    </p>
6053    <blockquote class="text">
6054    <p>in case it failed, providing an appropriate error code and error message
6055    </p>
6056    </blockquote>
6057                                
6058    
6059    </blockquote><p>
6060                        
6061    </p>
6062    <p>Example:
6063    </p>
6064    <p>
6065                            </p>
6066    <blockquote class="text">
6067    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
6068    </p>
6069    <p>S: "OK"
6070    </p>
6071    </blockquote><p>
6072                        
6073    </p>
6074  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
6075  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6076  <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;  <a name="rfc.section.6.4.37"></a><h3>6.4.37.&nbsp;
6077  Resetting a sampler channel</h3>  Resetting a sampler channel</h3>
6078    
6079  <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:
# Line 5890  Maximum amount of active voices</h3> Line 6408  Maximum amount of active voices</h3>
6408  </blockquote><p>  </blockquote><p>
6409                                            
6410  </p>  </p>
6411  <a name="RESET"></a><br /><hr />  <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6412  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6413  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;  <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6414    Current number of active disk streams</h3>
6415    
6416    <p>The front-end can ask for the current number of active disk streams on
6417                        the sampler by sending the following command:
6418    </p>
6419    <p>
6420                            </p>
6421    <blockquote class="text">
6422    <p>GET TOTAL_STREAM_COUNT
6423    </p>
6424    </blockquote><p>
6425                        
6426    </p>
6427    <p>Possible Answers:
6428    </p>
6429    <p>
6430                            </p>
6431    <blockquote class="text">
6432    <p>LinuxSampler will answer by returning the number of all active
6433                                disk streams on the sampler.
6434    </p>
6435    </blockquote><p>
6436                        
6437    </p>
6438    <a name="RESET"></a><br /><hr />
6439    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6440    <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6441  Reset sampler</h3>  Reset sampler</h3>
6442    
6443  <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:
# Line 5933  Reset sampler</h3> Line 6478  Reset sampler</h3>
6478  </p>  </p>
6479  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6480  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6481  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6482  General sampler informations</h3>  General sampler informations</h3>
6483    
6484  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
# Line 5966  General sampler informations</h3> Line 6511  General sampler informations</h3>
6511                                          </p>                                          </p>
6512  <blockquote class="text">  <blockquote class="text">
6513  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6514                                                (note that the character string may contain
6515                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6516  </p>  </p>
6517  </blockquote>  </blockquote>
6518                                                                            
# Line 5987  General sampler informations</h3> Line 6534  General sampler informations</h3>
6534  </blockquote>  </blockquote>
6535                                                                            
6536    
6537    <p>INSTRUMENTS_DB_SUPPORT -
6538                                            </p>
6539    <blockquote class="text">
6540    <p>either yes or no, specifies whether the
6541                                                sampler is build with instruments database support.
6542    </p>
6543    </blockquote>
6544                                        
6545    
6546  </blockquote>  </blockquote>
6547                                                            
6548    
# Line 5998  General sampler informations</h3> Line 6554  General sampler informations</h3>
6554  </p>  </p>
6555  <a name="GET VOLUME"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6556  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6557  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;  <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6558  Getting global volume attenuation</h3>  Getting global volume attenuation</h3>
6559    
6560  <p>The client can ask for the current global sampler-wide volume  <p>The client can ask for the current global sampler-wide volume
# Line 6031  Getting global volume attenuation</h3> Line 6587  Getting global volume attenuation</h3>
6587  </p>  </p>
6588  <a name="SET VOLUME"></a><br /><hr />  <a name="SET VOLUME"></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>  <table 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.6.6"></a><h3>6.6.6.&nbsp;  <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6591  Setting global volume attenuation</h3>  Setting global volume attenuation</h3>
6592    
6593  <p>The client can alter the current global sampler-wide volume  <p>The client can alter the current global sampler-wide volume
# Line 6084  Setting global volume attenuation</h3> Line 6640  Setting global volume attenuation</h3>
6640  </blockquote><p>  </blockquote><p>
6641                                            
6642  </p>  </p>
6643    <a name="GET VOICES"></a><br /><hr />
6644    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6645    <a name="rfc.section.6.6.8"></a><h3>6.6.8.&nbsp;
6646    Getting global voice limit</h3>
6647    
6648    <p>The client can ask for the current global sampler-wide limit
6649                           for maximum voices by sending the following command:
6650    </p>
6651    <p>
6652                            </p>
6653    <blockquote class="text">
6654    <p>GET VOICES
6655    </p>
6656    </blockquote><p>
6657                        
6658    </p>
6659    <p>Possible Answers:
6660    </p>
6661    <p>
6662                            </p>
6663    <blockquote class="text">
6664    <p>LinuxSampler will answer by returning the number for
6665                                   the current limit of maximum voices.
6666    </p>
6667    </blockquote><p>
6668                        
6669    </p>
6670    <p>The voice limit setting defines how many voices should maximum
6671                           be processed by the sampler at the same time. If the user
6672                           triggers new notes which would exceed that voice limit, the
6673                           sampler engine will react by stealing old voices for those
6674                           newly triggered notes. Note that the amount of voices triggered
6675                           by a new note can be larger than one and is dependent to the
6676                           respective instrument and probably further criterias.
6677    </p>
6678    <a name="SET VOICES"></a><br /><hr />
6679    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6680    <a name="rfc.section.6.6.9"></a><h3>6.6.9.&nbsp;
6681    Setting global voice limit</h3>
6682    
6683    <p>The client can alter the current global sampler-wide limit
6684                        for maximum voices by sending the following command:
6685    </p>
6686    <p>
6687                            </p>
6688    <blockquote class="text">
6689    <p>SET VOICES &lt;max-voices&gt;
6690    </p>
6691    </blockquote><p>
6692                        
6693    </p>
6694    <p>Where &lt;max-voices&gt; should be replaced by the integer
6695                       value, reflecting the new global amount limit of maximum voices.
6696                       This value has to be larger than 0.
6697    </p>
6698    <p>Possible Answers:
6699    </p>
6700    <p>
6701                            </p>
6702    <blockquote class="text">
6703    <p>"OK" -
6704                                    </p>
6705    <blockquote class="text">
6706    <p>on success
6707    </p>
6708    </blockquote>
6709                                
6710    
6711    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6712                                    </p>
6713    <blockquote class="text">
6714    <p>if the voice limit was set, but there are noteworthy
6715                                        issue(s) related, providing an appropriate warning code and
6716                                        warning message
6717    </p>
6718    </blockquote>
6719                                
6720    
6721    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6722                                    </p>
6723    <blockquote class="text">
6724    <p>in case it failed, providing an appropriate error code and error message
6725    </p>
6726    </blockquote>
6727                                
6728    
6729    </blockquote><p>
6730                        
6731    </p>
6732    <p>Note: the given value will be passed to all sampler engine instances.
6733                           The total amount of maximum voices on the running system might thus
6734                           be as big as the given value multiplied by the current amount of engine
6735                           instances.
6736    </p>
6737    <p>Caution: when adjusting the voice limit, you SHOULD also
6738                            adjust the disk stream limit respectively and vice versa.
6739    </p>
6740    <a name="GET STREAMS"></a><br /><hr />
6741    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6742    <a name="rfc.section.6.6.10"></a><h3>6.6.10.&nbsp;
6743    Getting global disk stream limit</h3>
6744    
6745    <p>The client can ask for the current global sampler-wide limit
6746                           for maximum disk streams by sending the following command:
6747    </p>
6748    <p>
6749                            </p>
6750    <blockquote class="text">
6751    <p>GET STREAMS
6752    </p>
6753    </blockquote><p>
6754                        
6755    </p>
6756    <p>Possible Answers:
6757    </p>
6758    <p>
6759                            </p>
6760    <blockquote class="text">
6761    <p>LinuxSampler will answer by returning the number for
6762                                   the current limit of maximum disk streams.
6763    </p>
6764    </blockquote><p>
6765                        
6766    </p>
6767    <p>The disk stream limit setting defines how many disk streams should
6768                           maximum be processed by a sampler engine at the same time. The
6769                           higher this value, the more memory (RAM) will be occupied, since
6770                           every disk streams allocates a certain buffer size for being able
6771                           to perform its streaming operations.
6772    </p>
6773    <a name="SET STREAMS"></a><br /><hr />
6774    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6775    <a name="rfc.section.6.6.11"></a><h3>6.6.11.&nbsp;
6776    Setting global disk stream limit</h3>
6777    
6778    <p>The client can alter the current global sampler-wide limit
6779                        for maximum disk streams by sending the following command:
6780    </p>
6781    <p>
6782                            </p>
6783    <blockquote class="text">
6784    <p>SET STREAMS &lt;max-streams&gt;
6785    </p>
6786    </blockquote><p>
6787                        
6788    </p>
6789    <p>Where &lt;max-streams&gt; should be replaced by the integer
6790                       value, reflecting the new global amount limit of maximum disk streams.
6791                       This value has to be positive.
6792    </p>
6793    <p>Possible Answers:
6794    </p>
6795    <p>
6796                            </p>
6797    <blockquote class="text">
6798    <p>"OK" -
6799                                    </p>
6800    <blockquote class="text">
6801    <p>on success
6802    </p>
6803    </blockquote>
6804                                
6805    
6806    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6807                                    </p>
6808    <blockquote class="text">
6809    <p>if the disk stream limit was set, but there are noteworthy
6810                                        issue(s) related, providing an appropriate warning code and
6811                                        warning message
6812    </p>
6813    </blockquote>
6814                                
6815    
6816    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6817                                    </p>
6818    <blockquote class="text">
6819    <p>in case it failed, providing an appropriate error code and error message
6820    </p>
6821    </blockquote>
6822                                
6823    
6824    </blockquote><p>
6825                        
6826    </p>
6827    <p>Note: the given value will be passed to all sampler engine instances.
6828                           The total amount of maximum disk streams on the running system might
6829                           thus be as big as the given value multiplied by the current amount of
6830                           engine instances.
6831    </p>
6832    <p>Caution: when adjusting the disk stream limit, you SHOULD also
6833                            adjust the voice limit respectively and vice versa.
6834    </p>
6835  <a name="MIDI Instrument Mapping"></a><br /><hr />  <a name="MIDI Instrument Mapping"></a><br /><hr />
6836  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6837  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
# Line 6118  MIDI Instrument Mapping</h3> Line 6866  MIDI Instrument Mapping</h3>
6866                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6867                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6868  </p>  </p>
6869  <a name="ADD MIDI_INSTRUMENT MAP"></a><br /><hr />  <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6870  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6871  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6872  Create a new MIDI instrument map</h3>  Create a new MIDI instrument map</h3>
# Line 6136  Create a new MIDI instrument map</h3> Line 6884  Create a new MIDI instrument map</h3>
6884  </p>  </p>
6885  <p>Where &lt;name&gt; is an optional argument allowing to  <p>Where &lt;name&gt; is an optional argument allowing to
6886                      assign a custom name to the new map. MIDI instrument Map                      assign a custom name to the new map. MIDI instrument Map
6887                      names do not have to be unique.                      names do not have to be unique, but MUST be encapsulated
6888                        into apostrophes and support escape sequences as described
6889                        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>".
6890                        
6891  </p>  </p>
6892  <p>Possible Answers:  <p>Possible Answers:
6893  </p>  </p>
# Line 6394  Getting MIDI instrument map information< Line 7145  Getting MIDI instrument map information<
7145  <blockquote class="text">  <blockquote class="text">
7146  <p>custom name of the given map,  <p>custom name of the given map,
7147                                              which does not have to be unique                                              which does not have to be unique
7148                                                (note that this character string may contain
7149                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7150    </p>
7151    </blockquote>
7152                                        
7153    
7154    <p>DEFAULT -
7155                                            </p>
7156    <blockquote class="text">
7157    <p>either true or false,
7158                                                defines whether this map is the default map
7159  </p>  </p>
7160  </blockquote>  </blockquote>
7161                                                                            
# Line 6415  Getting MIDI instrument map information< Line 7177  Getting MIDI instrument map information<
7177  </p>  </p>
7178  <p>S: "NAME: Standard Map"  <p>S: "NAME: Standard Map"
7179  </p>  </p>
7180    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
7181    </p>
7182  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
7183  </p>  </p>
7184  </blockquote><p>  </blockquote><p>
# Line 6438  Renaming a MIDI instrument map</h3> Line 7202  Renaming a MIDI instrument map</h3>
7202  </p>  </p>
7203  <p>Where &lt;map&gt; is the numerical ID of the map and  <p>Where &lt;map&gt; is the numerical ID of the map and
7204                      &lt;name&gt; the new custom name of the map, which does not                      &lt;name&gt; the new custom name of the map, which does not
7205                      have to be unique.                      have to be unique (name MUST be encapsulated into apostrophes
7206                        and supports escape sequences as described in chapter
7207                        "<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>").
7208                        
7209  </p>  </p>
7210  <p>Possible Answers:  <p>Possible Answers:
7211  </p>  </p>
# Line 6488  Create or replace a MIDI instrument map Line 7255  Create or replace a MIDI instrument map
7255  <p>  <p>
7256                          </p>                          </p>
7257  <blockquote class="text">  <blockquote class="text">
7258  <p>MAP MIDI_INSTRUMENT &lt;map&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
7259                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
7260                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
7261                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]
# Line 6504  Create or replace a MIDI instrument map Line 7271  Create or replace a MIDI instrument map
7271                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
7272                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
7273                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
7274                      of the instrument's file to be deployed (encapsulated into apostrophes),                      of the instrument's file to be deployed (encapsulated into apostrophes,
7275                        supporting escape sequences as described in chapter
7276                        "<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>"),
7277                      &lt;instrument_index&gt; the index (integer value) of the instrument                      &lt;instrument_index&gt; the index (integer value) of the instrument
7278                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
7279                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
# Line 6552  Create or replace a MIDI instrument map Line 7321  Create or replace a MIDI instrument map
7321                                  </p>                                  </p>
7322  <blockquote class="text">  <blockquote class="text">
7323  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
7324                                      into memory in the background when this mapping                                      into memory when this mapping
7325                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
7326                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
7327                                      only freed when the sampler is reset or all                                      only freed when the sampler is reset or all
# Line 6601  Create or replace a MIDI instrument map Line 7370  Create or replace a MIDI instrument map
7370                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
7371                      mode by i.e. sending                      mode by i.e. sending
7372                      <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>                      <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>
7373                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
7374                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
7375                      entry, useful for frontends for displaying an appropriate name for                      "<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
7376                        mapping entry, useful for frontends for displaying an appropriate name for
7377                      mapped instruments (using                      mapped instruments (using
7378                      <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>).                      <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>).
7379                                            
7380  </p>  </p>
7381  <p>  <p>
7382                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
7383                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
7384                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
7385                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
7386                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
7387                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
7388                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
7389                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
7390                        because it has the following drawbacks: as "NON_MODAL" instructions return
7391                        immediately, they may not necessarily return an error i.e. when the given
7392                        instrument file turns out to be corrupt, beside that subsequent commands
7393                        in a LSCP instruction sequence might fail, because mandatory mappings are
7394                        not yet completed.
7395                                            
7396  </p>  </p>
7397  <p>Possible Answers:  <p>Possible Answers:
# Line 6682  Create or replace a MIDI instrument map Line 7458  Create or replace a MIDI instrument map
7458  <p>  <p>
7459                          </p>                          </p>
7460  <blockquote class="text">  <blockquote class="text">
7461  <p>C: "MAP MIDI_INSTRUMENT 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"  <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
7462  </p>  </p>
7463  <p>S: "OK"  <p>S: "OK"
7464  </p>  </p>
# Line 6919  Get current settings of MIDI instrument Line 7695  Get current settings of MIDI instrument
7695                                      changed with the                                      changed with the
7696                                      <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>                                      <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>
7697                                      command and does not have to be unique.                                      command and does not have to be unique.
7698                                        (note that this character string may contain
7699                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7700  </p>  </p>
7701  </blockquote>  </blockquote>
7702                                                            
# Line 6935  Get current settings of MIDI instrument Line 7713  Get current settings of MIDI instrument
7713  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7714                                  </p>                                  </p>
7715  <blockquote class="text">  <blockquote class="text">
7716  <p>File name of the instrument.  <p>File name of the instrument
7717                                        (note that this path may contain
7718                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7719  </p>  </p>
7720  </blockquote>  </blockquote>
7721                                                            
# Line 6953  Get current settings of MIDI instrument Line 7733  Get current settings of MIDI instrument
7733  <blockquote class="text">  <blockquote class="text">
7734  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7735                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7736                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7737                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7738  </p>  </p>
7739  </blockquote>  </blockquote>
7740                                                            
# Line 7080  Clear MIDI instrument map</h3> Line 7861  Clear MIDI instrument map</h3>
7861  </blockquote><p>  </blockquote><p>
7862                                            
7863  </p>  </p>
7864    <a name="Managing Instruments Database"></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"></a><h3>6.8.&nbsp;
7867    Managing Instruments Database</h3>
7868    
7869    <p>The following commands describe how to use and manage
7870                    the instruments database.
7871    </p>
7872    <p>Notice:
7873    </p>
7874    <p>
7875                            </p>
7876    <blockquote class="text">
7877    <p>All command arguments representing a path or
7878                                instrument/directory name support escape sequences as described in chapter
7879                                "<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>".
7880                                
7881    </p>
7882    <p>All occurrences of a forward slash in instrument and directory
7883                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7884                                
7885    </p>
7886    </blockquote><p>
7887                        
7888    </p>
7889    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7890    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7891    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7892    Creating a new instrument directory</h3>
7893    
7894    <p>The front-end can add a new instrument directory to the
7895                        instruments database by sending the following command:
7896    </p>
7897    <p>
7898                            </p>
7899    <blockquote class="text">
7900    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7901    </p>
7902    </blockquote><p>
7903                        
7904    </p>
7905    <p>Where &lt;dir&gt; is the absolute path name of the directory
7906                        to be created (encapsulated into apostrophes).
7907    </p>
7908    <p>Possible Answers:
7909    </p>
7910    <p>
7911                            </p>
7912    <blockquote class="text">
7913    <p>"OK" -
7914                                    </p>
7915    <blockquote class="text">
7916    <p>on success
7917    </p>
7918    </blockquote>
7919                                
7920    
7921    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7922                                    </p>
7923    <blockquote class="text">
7924    <p>when the directory could not be created, which
7925                                        can happen if the directory already exists or the
7926                                        name contains not allowed symbols
7927    </p>
7928    </blockquote>
7929                                
7930    
7931    </blockquote><p>
7932                        
7933    </p>
7934    <p>Examples:
7935    </p>
7936    <p>
7937                            </p>
7938    <blockquote class="text">
7939    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7940    </p>
7941    <p>S: "OK"
7942    </p>
7943    </blockquote><p>
7944                        
7945    </p>
7946    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7947    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7948    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7949    Deleting an instrument directory</h3>
7950    
7951    <p>The front-end can delete a particular instrument directory
7952                        from the instruments database by sending the following command:
7953    </p>
7954    <p>
7955                            </p>
7956    <blockquote class="text">
7957    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7958    </p>
7959    </blockquote><p>
7960                        
7961    </p>
7962    <p>Where &lt;dir&gt; is the absolute path name of the directory
7963                        to delete. The optional FORCE argument can be used to
7964                        force the deletion of a non-empty directory and all its content.
7965    </p>
7966    <p>Possible Answers:
7967    </p>
7968    <p>
7969                            </p>
7970    <blockquote class="text">
7971    <p>"OK" -
7972                                    </p>
7973    <blockquote class="text">
7974    <p>if the directory is deleted successfully
7975    </p>
7976    </blockquote>
7977                                
7978    
7979    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7980                                    </p>
7981    <blockquote class="text">
7982    <p>if the given directory does not exist, or
7983                                        if trying to delete a non-empty directory,
7984                                        without using the FORCE argument.
7985    </p>
7986    </blockquote>
7987                                
7988    
7989    </blockquote><p>
7990                        
7991    </p>
7992    <p>Examples:
7993    </p>
7994    <p>
7995                            </p>
7996    <blockquote class="text">
7997    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7998    </p>
7999    <p>S: "OK"
8000    </p>
8001    </blockquote><p>
8002                        
8003    </p>
8004    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8005    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8006    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
8007    Getting amount of instrument directories</h3>
8008    
8009    <p>The front-end can retrieve the current amount of
8010                        directories in a specific directory by sending the following command:
8011    </p>
8012    <p>
8013                            </p>
8014    <blockquote class="text">
8015    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
8016    </p>
8017    </blockquote><p>
8018                        
8019    </p>
8020    <p>Where &lt;dir&gt; should be replaced by the absolute path
8021                        name of the directory. If RECURSIVE is specified, the number of
8022                        all directories, including those located in subdirectories of the
8023                        specified directory, will be returned.
8024    </p>
8025    <p>Possible Answers:
8026    </p>
8027    <p>
8028                            </p>
8029    <blockquote class="text">
8030    <p>The current number of instrument directories
8031                                in the specified directory.
8032    </p>
8033    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8034                                    </p>
8035    <blockquote class="text">
8036    <p>if the given directory does not exist.
8037    </p>
8038    </blockquote>
8039                                
8040    
8041    </blockquote><p>
8042                        
8043    </p>
8044    <p>Example:
8045    </p>
8046    <p>
8047                            </p>
8048    <blockquote class="text">
8049    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
8050    </p>
8051    <p>S: "2"
8052    </p>
8053    </blockquote><p>
8054                        
8055    </p>
8056    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8057    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8058    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
8059    Listing all directories in specific directory</h3>
8060    
8061    <p>The front-end can retrieve the current list of directories
8062                        in specific directory by sending the following command:
8063    </p>
8064    <p>
8065                            </p>
8066    <blockquote class="text">
8067    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
8068    </p>
8069    </blockquote><p>
8070                        
8071    </p>
8072    <p>Where &lt;dir&gt; should be replaced by the absolute path
8073                        name of the directory. If RECURSIVE is specified, the absolute path names
8074                        of all directories, including those located in subdirectories of the
8075                        specified directory, will be returned.
8076    </p>
8077    <p>Possible Answers:
8078    </p>
8079    <p>
8080                            </p>
8081    <blockquote class="text">
8082    <p>A comma separated list of all instrument directories
8083                                (encapsulated into apostrophes) in the specified directory.
8084    </p>
8085    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8086                                    </p>
8087    <blockquote class="text">
8088    <p>if the given directory does not exist.
8089    </p>
8090    </blockquote>
8091                                
8092    
8093    </blockquote><p>
8094                        
8095    </p>
8096    <p>Example:
8097    </p>
8098    <p>
8099                            </p>
8100    <blockquote class="text">
8101    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
8102    </p>
8103    <p>S: "'Piano Collection','Percussion Collection'"
8104    </p>
8105    </blockquote><p>
8106                        
8107    </p>
8108    <p>
8109                            </p>
8110    <blockquote class="text">
8111    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
8112    </p>
8113    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
8114    </p>
8115    </blockquote><p>
8116                        
8117    </p>
8118    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></a><br /><hr />
8119    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8120    <a name="rfc.section.6.8.5"></a><h3>6.8.5.&nbsp;
8121    Getting instrument directory information</h3>
8122    
8123    <p>The front-end can ask for the current settings of an
8124                        instrument directory by sending the following command:
8125    </p>
8126    <p>
8127                            </p>
8128    <blockquote class="text">
8129    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
8130    </p>
8131    </blockquote><p>
8132                        
8133    </p>
8134    <p>Where &lt;dir&gt; should be replaced by the absolute path
8135                        name of the directory the front-end is interested in.
8136    </p>
8137    <p>Possible Answers:
8138    </p>
8139    <p>
8140                            </p>
8141    <blockquote class="text">
8142    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8143                                Each answer line begins with the settings category name
8144                                followed by a colon and then a space character &lt;SP&gt; and finally
8145                                the info character string to that setting category. At the
8146                                moment the following categories are defined:
8147    </p>
8148    <p>
8149                                    </p>
8150    <blockquote class="text">
8151    <p>DESCRIPTION -
8152                                            </p>
8153    <blockquote class="text">
8154    <p>A brief description of the directory content.
8155                                                Note that the character string may contain
8156                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8157    </p>
8158    </blockquote>
8159                                        
8160    
8161    <p>CREATED -
8162                                            </p>
8163    <blockquote class="text">
8164    <p>The creation date and time of the directory,
8165                                                represented in "YYYY-MM-DD HH:MM:SS" format
8166    </p>
8167    </blockquote>
8168                                        
8169    
8170    <p>MODIFIED -
8171                                            </p>
8172    <blockquote class="text">
8173    <p>The date and time of the last modification of the
8174                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
8175    </p>
8176    </blockquote>
8177                                        
8178    
8179    </blockquote>
8180                                
8181    
8182    </blockquote><p>
8183                        
8184    </p>
8185    <p>The mentioned fields above don't have to be in particular order.
8186    </p>
8187    <p>Example:
8188    </p>
8189    <p>
8190                            </p>
8191    <blockquote class="text">
8192    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
8193    </p>
8194    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
8195    </p>
8196    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8197    </p>
8198    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8199    </p>
8200    <p>&nbsp;&nbsp;&nbsp;"."
8201    </p>
8202    </blockquote><p>
8203                        
8204    </p>
8205    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
8206    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8207    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
8208    Renaming an instrument directory</h3>
8209    
8210    <p>The front-end can alter the name of a specific
8211                        instrument directory by sending the following command:
8212    </p>
8213    <p>
8214                            </p>
8215    <blockquote class="text">
8216    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
8217    </p>
8218    </blockquote><p>
8219                        
8220    </p>
8221    <p>Where &lt;dir&gt; is the absolute path name of the directory and
8222                        &lt;name&gt; is the new name for that directory.
8223    </p>
8224    <p>Possible Answers:
8225    </p>
8226    <p>
8227                            </p>
8228    <blockquote class="text">
8229    <p>"OK" -
8230                                    </p>
8231    <blockquote class="text">
8232    <p>on success
8233    </p>
8234    </blockquote>
8235                                
8236    
8237    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8238                                    </p>
8239    <blockquote class="text">
8240    <p>in case the given directory does not exists,
8241                                        or if a directory with name equal to the new
8242                                        name already exists.
8243    </p>
8244    </blockquote>
8245                                
8246    
8247    </blockquote><p>
8248                        
8249    </p>
8250    <p>Example:
8251    </p>
8252    <p>
8253                            </p>
8254    <blockquote class="text">
8255    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
8256    </p>
8257    <p>S: "OK"
8258    </p>
8259    </blockquote><p>
8260                        
8261    </p>
8262    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8263    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8264    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
8265    Moving an instrument directory</h3>
8266    
8267    <p>The front-end can move a specific
8268                        instrument directory by sending the following command:
8269    </p>
8270    <p>
8271                            </p>
8272    <blockquote class="text">
8273    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8274    </p>
8275    </blockquote><p>
8276                        
8277    </p>
8278    <p>Where &lt;dir&gt; is the absolute path name of the directory
8279                        to move and &lt;dst&gt; is the location where the directory will
8280                        be moved to.
8281    </p>
8282    <p>Possible Answers:
8283    </p>
8284    <p>
8285                            </p>
8286    <blockquote class="text">
8287    <p>"OK" -
8288                                    </p>
8289    <blockquote class="text">
8290    <p>on success
8291    </p>
8292    </blockquote>
8293                                
8294    
8295    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8296                                    </p>
8297    <blockquote class="text">
8298    <p>in case a given directory does not exists,
8299                                        or if a directory with name equal to the name
8300                                        of the specified directory already exists in
8301                                        the destination directory. Error is also thrown
8302                                        when trying to move a directory to a subdirectory
8303                                        of itself.
8304    </p>
8305    </blockquote>
8306                                
8307    
8308    </blockquote><p>
8309                        
8310    </p>
8311    <p>Example:
8312    </p>
8313    <p>
8314                            </p>
8315    <blockquote class="text">
8316    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
8317    </p>
8318    <p>S: "OK"
8319    </p>
8320    </blockquote><p>
8321                        
8322    </p>
8323    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8324    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8325    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
8326    Copying instrument directories</h3>
8327    
8328    <p>The front-end can copy a specific
8329                        instrument directory by sending the following command:
8330    </p>
8331    <p>
8332                            </p>
8333    <blockquote class="text">
8334    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8335    </p>
8336    </blockquote><p>
8337                        
8338    </p>
8339    <p>Where &lt;dir&gt; is the absolute path name of the directory
8340                        to copy and &lt;dst&gt; is the location where the directory will
8341                        be copied to.
8342    </p>
8343    <p>Possible Answers:
8344    </p>
8345    <p>
8346                            </p>
8347    <blockquote class="text">
8348    <p>"OK" -
8349                                    </p>
8350    <blockquote class="text">
8351    <p>on success
8352    </p>
8353    </blockquote>
8354                                
8355    
8356    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8357                                    </p>
8358    <blockquote class="text">
8359    <p>in case a given directory does not exists,
8360                                        or if a directory with name equal to the name
8361                                        of the specified directory already exists in
8362                                        the destination directory. Error is also thrown
8363                                        when trying to copy a directory to a subdirectory
8364                                        of itself.
8365    </p>
8366    </blockquote>
8367                                
8368    
8369    </blockquote><p>
8370                        
8371    </p>
8372    <p>Example:
8373    </p>
8374    <p>
8375                            </p>
8376    <blockquote class="text">
8377    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
8378    </p>
8379    <p>S: "OK"
8380    </p>
8381    </blockquote><p>
8382                        
8383    </p>
8384    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
8385    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8386    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
8387    Changing the description of directory</h3>
8388    
8389    <p>The front-end can alter the description of a specific
8390                        instrument directory by sending the following command:
8391    </p>
8392    <p>
8393                            </p>
8394    <blockquote class="text">
8395    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
8396    </p>
8397    </blockquote><p>
8398                        
8399    </p>
8400    <p>Where &lt;dir&gt; is the absolute path name of the directory and
8401                        &lt;desc&gt; is the new description for the directory
8402                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8403                        "<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>").
8404    </p>
8405    <p>Possible Answers:
8406    </p>
8407    <p>
8408                            </p>
8409    <blockquote class="text">
8410    <p>"OK" -
8411                                    </p>
8412    <blockquote class="text">
8413    <p>on success
8414    </p>
8415    </blockquote>
8416                                
8417    
8418    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8419                                    </p>
8420    <blockquote class="text">
8421    <p>in case the given directory does not exists.
8422    </p>
8423    </blockquote>
8424                                
8425    
8426    </blockquote><p>
8427                        
8428    </p>
8429    <p>Example:
8430    </p>
8431    <p>
8432                            </p>
8433    <blockquote class="text">
8434    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
8435    </p>
8436    <p>S: "OK"
8437    </p>
8438    </blockquote><p>
8439                        
8440    </p>
8441    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8442    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8443    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
8444    Finding directories</h3>
8445    
8446    <p>The front-end can search for directories
8447                        in specific directory by sending the following command:
8448    </p>
8449    <p>
8450                            </p>
8451    <blockquote class="text">
8452    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8453    </p>
8454    </blockquote><p>
8455                        
8456    </p>
8457    <p>Where &lt;dir&gt; should be replaced by the absolute path
8458                        name of the directory to search in. If NON_RECURSIVE is specified, the
8459                        directories located in subdirectories of the specified directory will not
8460                        be searched. &lt;criteria-list&gt; is a list of search criterias
8461                        in form of "key1=val1 key2=val2 ...". The following criterias are
8462                        allowed:
8463    </p>
8464    <p>
8465                          
8466    <p>NAME='&lt;search-string&gt;'
8467                              </p>
8468    <blockquote class="text">
8469    <p>Restricts the search to directories, which names
8470                                  satisfy the supplied search string (encapsulated into apostrophes,
8471                                  supporting escape sequences as described in chapter
8472                                  "<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>").
8473    </p>
8474    </blockquote><p>
8475                          
8476    </p>
8477    
8478                          
8479    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8480                              </p>
8481    <blockquote class="text">
8482    <p>Restricts the search to directories, which creation
8483                                  date satisfies the specified period, where &lt;date-after&gt;
8484                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8485                                  If &lt;date-after&gt; is omitted the search is restricted to
8486                                  directories created before &lt;date-before&gt;. If
8487                                  &lt;date-before&gt; is omitted, the search is restricted
8488                                  to directories created after &lt;date-after&gt;.
8489    </p>
8490    </blockquote><p>
8491                          
8492    </p>
8493    
8494                          
8495    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8496                              </p>
8497    <blockquote class="text">
8498    <p>Restricts the search to directories, which
8499                                  date of last modification satisfies the specified period, where
8500                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8501                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8502                                  directories, which are last modified before &lt;date-before&gt;. If
8503                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
8504                                  which are last modified after &lt;date-after&gt;.
8505    </p>
8506    </blockquote><p>
8507                          
8508    </p>
8509    
8510                          
8511    <p>DESCRIPTION='&lt;search-string&gt;'
8512                              </p>
8513    <blockquote class="text">
8514    <p>Restricts the search to directories with description
8515                                  that satisfies the supplied search string
8516                                  (encapsulated into apostrophes, supporting escape
8517                                  sequences as described in chapter
8518                                  "<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>").
8519    </p>
8520    </blockquote><p>
8521                          
8522    </p>
8523                        
8524    
8525    <p>Where &lt;search-string&gt; is either a regular expression, or a
8526                        word list separated with spaces for OR search and with '+' for AND search.
8527    </p>
8528    <p>Possible Answers:
8529    </p>
8530    <p>
8531                            </p>
8532    <blockquote class="text">
8533    <p>A comma separated list with the absolute path names (encapsulated into
8534                                apostrophes) of all directories in the specified directory that satisfy
8535                                the supplied search criterias.
8536    </p>
8537    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8538                                    </p>
8539    <blockquote class="text">
8540    <p>if the given directory does not exist.
8541    </p>
8542    </blockquote>
8543                                
8544    
8545    </blockquote><p>
8546                        
8547    </p>
8548    <p>Example:
8549    </p>
8550    <p>
8551                            </p>
8552    <blockquote class="text">
8553    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8554    </p>
8555    <p>S: "'/Piano Collection'"
8556    </p>
8557    </blockquote><p>
8558                        
8559    </p>
8560    <p>
8561                            </p>
8562    <blockquote class="text">
8563    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8564    </p>
8565    <p>S: "'/Piano Collection','/Percussions'"
8566    </p>
8567    </blockquote><p>
8568                        
8569    </p>
8570    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8571    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8572    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8573    Adding instruments to the instruments database</h3>
8574    
8575    <p>The front-end can add one or more instruments
8576                        to the instruments database by sending the following command:
8577    </p>
8578    <p>
8579                            </p>
8580    <blockquote class="text">
8581    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;[ FILE_AS_DIR]] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8582    </p>
8583    </blockquote><p>
8584                        
8585    </p>
8586    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8587                        (encapsulated into apostrophes) in the instruments database in which
8588                        only the new instruments (that are not already in the database) will
8589                        be added, &lt;file_path&gt; is the absolute path name of a file or
8590                        directory in the file system (encapsulated into apostrophes). In case
8591                        an instrument file is supplied, only the instruments in the specified
8592                        file will be added to the instruments database. If the optional
8593                        &lt;instr_index&gt; (the index of the instrument within the given file)
8594                        is supplied too, then only the specified instrument will be added.
8595                        In case a directory is supplied, the instruments in that directory
8596                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8597                        when a directory is provided as &lt;file_path&gt; and specifies how the
8598                        scanning will be done and has exactly the following possibilities:
8599    </p>
8600    <p>
8601                            </p>
8602    <blockquote class="text">
8603    <p>"RECURSIVE" -
8604                                    </p>
8605    <blockquote class="text">
8606    <p>All instruments will be processed, including those
8607                                        in the subdirectories, and the respective subdirectory
8608                                        tree structure will be recreated in the instruments
8609                                        database
8610    </p>
8611    </blockquote>
8612                                
8613    
8614    <p>"NON_RECURSIVE" -
8615                                    </p>
8616    <blockquote class="text">
8617    <p>Only the instruments in the specified directory
8618                                        will be added, the instruments in the subdirectories
8619                                        will not be processed.
8620    </p>
8621    </blockquote>
8622                                
8623    
8624    <p>"FLAT" -
8625                                    </p>
8626    <blockquote class="text">
8627    <p>All instruments will be processed, including those
8628                                        in the subdirectories, but the respective subdirectory
8629                                        structure will not be recreated in the instruments
8630                                        database. All instruments will be added directly in
8631                                        the specified database directory.
8632    </p>
8633    </blockquote>
8634                                
8635    
8636    </blockquote><p>
8637                        
8638    </p>
8639    <p> If FILE_AS_DIR argument is supplied, all instruments in an instrument
8640                     file will be added to a separate directory in the instruments database, which
8641                     name will be the name of the instrument file with the file extension stripped off.
8642                    
8643    </p>
8644    <p>The difference between regular and NON_MODAL versions of the command
8645                        is that the regular command returns when the scanning is finished
8646                        while NON_MODAL version returns immediately and a background process is launched.
8647                        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>
8648                        command can be used to monitor the scanning progress.
8649    </p>
8650    <p>Possible Answers:
8651    </p>
8652    <p>
8653                            </p>
8654    <blockquote class="text">
8655    <p>"OK" -
8656                                    </p>
8657    <blockquote class="text">
8658    <p>on success when NON_MODAL is not supplied
8659    </p>
8660    </blockquote>
8661                                
8662    
8663    <p>"OK[&lt;job-id&gt;]" -
8664                                    </p>
8665    <blockquote class="text">
8666    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8667                                        is a numerical ID used to obtain status information about the job progress.
8668                                        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>
8669                                        
8670    </p>
8671    </blockquote>
8672                                
8673    
8674    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8675                                    </p>
8676    <blockquote class="text">
8677    <p>if an invalid path is specified.
8678    </p>
8679    </blockquote>
8680                                
8681    
8682    </blockquote><p>
8683                        
8684    </p>
8685    <p>Examples:
8686    </p>
8687    <p>
8688                            </p>
8689    <blockquote class="text">
8690    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8691    </p>
8692    <p>S: "OK"
8693    </p>
8694    </blockquote><p>
8695                        
8696    </p>
8697    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8698    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8699    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8700    Removing an instrument</h3>
8701    
8702    <p>The front-end can remove a particular instrument
8703                        from the instruments database by sending the following command:
8704    </p>
8705    <p>
8706                            </p>
8707    <blockquote class="text">
8708    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8709    </p>
8710    </blockquote><p>
8711                        
8712    </p>
8713    <p>Where &lt;instr_path&gt; is the absolute path name
8714                        (in the instruments database) of the instrument to remove.
8715    </p>
8716    <p>Possible Answers:
8717    </p>
8718    <p>
8719                            </p>
8720    <blockquote class="text">
8721    <p>"OK" -
8722                                    </p>
8723    <blockquote class="text">
8724    <p>if the instrument is removed successfully
8725    </p>
8726    </blockquote>
8727                                
8728    
8729    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8730                                    </p>
8731    <blockquote class="text">
8732    <p>if the given path does not exist or
8733                                        is a directory.
8734    </p>
8735    </blockquote>
8736                                
8737    
8738    </blockquote><p>
8739                        
8740    </p>
8741    <p>Examples:
8742    </p>
8743    <p>
8744                            </p>
8745    <blockquote class="text">
8746    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8747    </p>
8748    <p>S: "OK"
8749    </p>
8750    </blockquote><p>
8751                        
8752    </p>
8753    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8754    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8755    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8756    Getting amount of instruments</h3>
8757    
8758    <p>The front-end can retrieve the current amount of
8759                        instruments in a specific directory by sending the following command:
8760    </p>
8761    <p>
8762                            </p>
8763    <blockquote class="text">
8764    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8765    </p>
8766    </blockquote><p>
8767                        
8768    </p>
8769    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8770                        of the directory. If RECURSIVE is specified, the number of all
8771                        instruments, including those located in subdirectories of the
8772                        specified directory, will be returned.
8773    </p>
8774    <p>Possible Answers:
8775    </p>
8776    <p>
8777                            </p>
8778    <blockquote class="text">
8779    <p>The current number of instruments
8780                                in the specified directory.
8781    </p>
8782    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8783                                    </p>
8784    <blockquote class="text">
8785    <p>if the given directory does not exist.
8786    </p>
8787    </blockquote>
8788                                
8789    
8790    </blockquote><p>
8791                        
8792    </p>
8793    <p>Example:
8794    </p>
8795    <p>
8796                            </p>
8797    <blockquote class="text">
8798    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8799    </p>
8800    <p>S: "2"
8801    </p>
8802    </blockquote><p>
8803                        
8804    </p>
8805    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8806    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8807    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8808    Listing all instruments in specific directory</h3>
8809    
8810    <p>The front-end can retrieve the current list of instruments
8811                        in specific directory by sending the following command:
8812    </p>
8813    <p>
8814                            </p>
8815    <blockquote class="text">
8816    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8817    </p>
8818    </blockquote><p>
8819                        
8820    </p>
8821    <p>Where &lt;dir&gt; should be replaced by the absolute path
8822                        name of the directory. If RECURSIVE is specified, the absolute path
8823                        names of all instruments, including those located in subdirectories
8824                        of the specified directory, will be returned.
8825    </p>
8826    <p>Possible Answers:
8827    </p>
8828    <p>
8829                            </p>
8830    <blockquote class="text">
8831    <p>A comma separated list of all instruments
8832                                (encapsulated into apostrophes) in the specified directory.
8833    </p>
8834    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8835                                    </p>
8836    <blockquote class="text">
8837    <p>if the given directory does not exist.
8838    </p>
8839    </blockquote>
8840                                
8841    
8842    </blockquote><p>
8843                        
8844    </p>
8845    <p>Example:
8846    </p>
8847    <p>
8848                            </p>
8849    <blockquote class="text">
8850    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8851    </p>
8852    <p>S: "'Bosendorfer 290','Steinway D'"
8853    </p>
8854    </blockquote><p>
8855                        
8856    </p>
8857    <p>
8858                            </p>
8859    <blockquote class="text">
8860    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8861    </p>
8862    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8863    </p>
8864    </blockquote><p>
8865                        
8866    </p>
8867    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8868    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8869    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8870    Getting instrument information</h3>
8871    
8872    <p>The front-end can ask for the current settings of an
8873                        instrument by sending the following command:
8874    </p>
8875    <p>
8876                            </p>
8877    <blockquote class="text">
8878    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8879    </p>
8880    </blockquote><p>
8881                        
8882    </p>
8883    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8884                        name of the instrument the front-end is interested in.
8885    </p>
8886    <p>Possible Answers:
8887    </p>
8888    <p>
8889                            </p>
8890    <blockquote class="text">
8891    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8892                                Each answer line begins with the settings category name
8893                                followed by a colon and then a space character &lt;SP&gt; and finally
8894                                the info character string to that setting category. At the
8895                                moment the following categories are defined:
8896    </p>
8897    <p>
8898                                    </p>
8899    <blockquote class="text">
8900    <p>INSTRUMENT_FILE -
8901                                            </p>
8902    <blockquote class="text">
8903    <p>File name of the instrument.
8904                                                Note that the character string may contain
8905                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8906    </p>
8907    </blockquote>
8908                                        
8909    
8910    <p>INSTRUMENT_NR -
8911                                            </p>
8912    <blockquote class="text">
8913    <p>Index of the instrument within the file.
8914    </p>
8915    </blockquote>
8916                                        
8917    
8918    <p>FORMAT_FAMILY -
8919                                            </p>
8920    <blockquote class="text">
8921    <p>The format family of the instrument.
8922    </p>
8923    </blockquote>
8924                                        
8925    
8926    <p>FORMAT_VERSION -
8927                                            </p>
8928    <blockquote class="text">
8929    <p>The format version of the instrument.
8930    </p>
8931    </blockquote>
8932                                        
8933    
8934    <p>SIZE -
8935                                            </p>
8936    <blockquote class="text">
8937    <p>The size of the instrument in bytes.
8938    </p>
8939    </blockquote>
8940                                        
8941    
8942    <p>CREATED -
8943                                            </p>
8944    <blockquote class="text">
8945    <p>The date and time when the instrument is added
8946                                                in the instruments database, represented in
8947                                               "YYYY-MM-DD HH:MM:SS" format
8948    </p>
8949    </blockquote>
8950                                        
8951    
8952    <p>MODIFIED -
8953                                            </p>
8954    <blockquote class="text">
8955    <p>The date and time of the last modification of the
8956                                                instrument's database settings, represented in
8957                                                "YYYY-MM-DD HH:MM:SS" format
8958    </p>
8959    </blockquote>
8960                                        
8961    
8962    <p>DESCRIPTION -
8963                                            </p>
8964    <blockquote class="text">
8965    <p>A brief description of the instrument.
8966                                                Note that the character string may contain
8967                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8968    </p>
8969    </blockquote>
8970                                        
8971    
8972    <p>IS_DRUM -
8973                                            </p>
8974    <blockquote class="text">
8975    <p>either true or false, determines whether the
8976                                                instrument is a drumkit or a chromatic instrument
8977    </p>
8978    </blockquote>
8979                                        
8980    
8981    <p>PRODUCT -
8982                                            </p>
8983    <blockquote class="text">
8984    <p>The product title of the instrument.
8985                                                Note that the character string may contain
8986                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8987    </p>
8988    </blockquote>
8989                                        
8990    
8991    <p>ARTISTS -
8992                                            </p>
8993    <blockquote class="text">
8994    <p>Lists the artist names.
8995                                                Note that the character string may contain
8996                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8997    </p>
8998    </blockquote>
8999                                        
9000    
9001    <p>KEYWORDS -
9002                                            </p>
9003    <blockquote class="text">
9004    <p>Provides a list of keywords that refer to the instrument.
9005                                                Keywords are separated with semicolon and blank.
9006                                                Note that the character string may contain
9007                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
9008    </p>
9009    </blockquote>
9010                                        
9011    
9012    </blockquote>
9013                                
9014    
9015    </blockquote><p>
9016                        
9017    </p>
9018    <p>The mentioned fields above don't have to be in particular order.
9019    </p>
9020    <p>Example:
9021    </p>
9022    <p>
9023                            </p>
9024    <blockquote class="text">
9025    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
9026    </p>
9027    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
9028    </p>
9029    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
9030    </p>
9031    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9032    </p>
9033    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
9034    </p>
9035    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
9036    </p>
9037    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
9038    </p>
9039    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
9040    </p>
9041    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
9042    </p>
9043    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
9044    </p>
9045    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
9046    </p>
9047    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
9048    </p>
9049    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
9050    </p>
9051    <p>&nbsp;&nbsp;&nbsp;"."
9052    </p>
9053    </blockquote><p>
9054                        
9055    </p>
9056    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
9057    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9058    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
9059    Renaming an instrument</h3>
9060    
9061    <p>The front-end can alter the name of a specific
9062                        instrument by sending the following command:
9063    </p>
9064    <p>
9065                            </p>
9066    <blockquote class="text">
9067    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
9068    </p>
9069    </blockquote><p>
9070                        
9071    </p>
9072    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
9073                        &lt;name&gt; is the new name for that instrument.
9074    </p>
9075    <p>Possible Answers:
9076    </p>
9077    <p>
9078                            </p>
9079    <blockquote class="text">
9080    <p>"OK" -
9081                                    </p>
9082    <blockquote class="text">
9083    <p>on success
9084    </p>
9085    </blockquote>
9086                                
9087    
9088    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9089                                    </p>
9090    <blockquote class="text">
9091    <p>in case the given instrument does not exists,
9092                                        or if an instrument with name equal to the new
9093                                        name already exists.
9094    </p>
9095    </blockquote>
9096                                
9097    
9098    </blockquote><p>
9099                        
9100    </p>
9101    <p>Example:
9102    </p>
9103    <p>
9104                            </p>
9105    <blockquote class="text">
9106    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
9107    </p>
9108    <p>S: "OK"
9109    </p>
9110    </blockquote><p>
9111                        
9112    </p>
9113    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
9114    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9115    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
9116    Moving an instrument</h3>
9117    
9118    <p>The front-end can move a specific instrument to another directory by
9119                        sending the following command:
9120    </p>
9121    <p>
9122                            </p>
9123    <blockquote class="text">
9124    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
9125    </p>
9126    </blockquote><p>
9127                        
9128    </p>
9129    <p>Where &lt;instr&gt; is the absolute path name of the instrument
9130                        to move and &lt;dst&gt; is the directory where the instrument will
9131                        be moved to.
9132    </p>
9133    <p>Possible Answers:
9134    </p>
9135    <p>
9136                            </p>
9137    <blockquote class="text">
9138    <p>"OK" -
9139                                    </p>
9140    <blockquote class="text">
9141    <p>on success
9142    </p>
9143    </blockquote>
9144                                
9145    
9146    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9147                                    </p>
9148    <blockquote class="text">
9149    <p>in case the given instrument does not exists,
9150                                        or if an instrument with name equal to the name of the
9151                                        specified instrument already exists in the destination
9152                                        directory.
9153    </p>
9154    </blockquote>
9155                                
9156    
9157    </blockquote><p>
9158                        
9159    </p>
9160    <p>Example:
9161    </p>
9162    <p>
9163                            </p>
9164    <blockquote class="text">
9165    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
9166    </p>
9167    <p>S: "OK"
9168    </p>
9169    </blockquote><p>
9170                        
9171    </p>
9172    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
9173    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9174    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
9175    Copying instruments</h3>
9176    
9177    <p>The front-end can copy a specific instrument to another directory by
9178                        sending the following command:
9179    </p>
9180    <p>
9181                            </p>
9182    <blockquote class="text">
9183    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
9184    </p>
9185    </blockquote><p>
9186                        
9187    </p>
9188    <p>Where &lt;instr&gt; is the absolute path name of the instrument
9189                        to copy and &lt;dst&gt; is the directory where the instrument will
9190                        be copied to.
9191    </p>
9192    <p>Possible Answers:
9193    </p>
9194    <p>
9195                            </p>
9196    <blockquote class="text">
9197    <p>"OK" -
9198                                    </p>
9199    <blockquote class="text">
9200    <p>on success
9201    </p>
9202    </blockquote>
9203                                
9204    
9205    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9206                                    </p>
9207    <blockquote class="text">
9208    <p>in case the given instrument does not exists,
9209                                        or if an instrument with name equal to the name of the
9210                                        specified instrument already exists in the destination
9211                                        directory.
9212    </p>
9213    </blockquote>
9214                                
9215    
9216    </blockquote><p>
9217                        
9218    </p>
9219    <p>Example:
9220    </p>
9221    <p>
9222                            </p>
9223    <blockquote class="text">
9224    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
9225    </p>
9226    <p>S: "OK"
9227    </p>
9228    </blockquote><p>
9229                        
9230    </p>
9231    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
9232    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9233    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
9234    Changing the description of instrument</h3>
9235    
9236    <p>The front-end can alter the description of a specific
9237                        instrument by sending the following command:
9238    </p>
9239    <p>
9240                            </p>
9241    <blockquote class="text">
9242    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
9243    </p>
9244    </blockquote><p>
9245                        
9246    </p>
9247    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
9248                        &lt;desc&gt; is the new description for the instrument
9249                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
9250                        "<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>").
9251    </p>
9252    <p>Possible Answers:
9253    </p>
9254    <p>
9255                            </p>
9256    <blockquote class="text">
9257    <p>"OK" -
9258                                    </p>
9259    <blockquote class="text">
9260    <p>on success
9261    </p>
9262    </blockquote>
9263                                
9264    
9265    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9266                                    </p>
9267    <blockquote class="text">
9268    <p>in case the given instrument does not exists.
9269    </p>
9270    </blockquote>
9271                                
9272    
9273    </blockquote><p>
9274                        
9275    </p>
9276    <p>Example:
9277    </p>
9278    <p>
9279                            </p>
9280    <blockquote class="text">
9281    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
9282    </p>
9283    <p>S: "OK"
9284    </p>
9285    </blockquote><p>
9286                        
9287    </p>
9288    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
9289    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9290    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
9291    Finding instruments</h3>
9292    
9293    <p>The front-end can search for instruments
9294                        in specific directory by sending the following command:
9295    </p>
9296    <p>
9297                            </p>
9298    <blockquote class="text">
9299    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
9300    </p>
9301    </blockquote><p>
9302                        
9303    </p>
9304    <p>Where &lt;dir&gt; should be replaced by the absolute path
9305                        name of the directory to search in. If NON_RECURSIVE is specified, the
9306                        directories located in subdirectories of the specified directory will not
9307                        be searched. &lt;criteria-list&gt; is a list of search criterias
9308                        in form of "key1=val1 key2=val2 ...". The following criterias are
9309                        allowed:
9310    </p>
9311    <p>
9312                          
9313    <p>NAME='&lt;search-string&gt;'
9314                              </p>
9315    <blockquote class="text">
9316    <p>Restricts the search to instruments, which names
9317                                  satisfy the supplied search string (encapsulated into apostrophes,
9318                                  supporting escape sequences as described in chapter
9319                                  "<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>").
9320    </p>
9321    </blockquote><p>
9322                          
9323    </p>
9324    
9325                          
9326    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
9327                              </p>
9328    <blockquote class="text">
9329    <p>Restricts the search to instruments, which
9330                                  size is in the specified range. If &lt;min&gt; is omitted,
9331                                  the search results are restricted to instruments with size less then
9332                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
9333                                  search is restricted to instruments with size greater then
9334                                  or equal to &lt;min&gt;.
9335    </p>
9336    </blockquote><p>
9337                          
9338    </p>
9339    
9340                          
9341    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9342                              </p>
9343    <blockquote class="text">
9344    <p>Restricts the search to instruments, which creation
9345                                  date satisfies the specified period, where &lt;date-after&gt;
9346                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
9347                                  If &lt;date-after&gt; is omitted the search is restricted to
9348                                  instruments created before &lt;date-before&gt;. If
9349                                  &lt;date-before&gt; is omitted, the search is restricted
9350                                  to instruments created after &lt;date-after&gt;.
9351    </p>
9352    </blockquote><p>
9353                          
9354    </p>
9355    
9356                          
9357    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9358                              </p>
9359    <blockquote class="text">
9360    <p>Restricts the search to instruments, which
9361                                  date of last modification satisfies the specified period, where
9362                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
9363                                  format. If &lt;date-after&gt; is omitted the search is restricted to
9364                                  instruments, which are last modified before &lt;date-before&gt;. If
9365                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
9366                                  which are last modified after &lt;date-after&gt;.
9367    </p>
9368    </blockquote><p>
9369                          
9370    </p>
9371    
9372                          
9373    <p>DESCRIPTION='&lt;search-string&gt;'
9374                              </p>
9375    <blockquote class="text">
9376    <p>Restricts the search to instruments with description
9377                                  that satisfies the supplied search string (encapsulated into apostrophes,
9378                                  supporting escape sequences as described in chapter
9379                                  "<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>").
9380    </p>
9381    </blockquote><p>
9382                          
9383    </p>
9384    
9385                          
9386    <p>PRODUCT='&lt;search-string&gt;'
9387                              </p>
9388    <blockquote class="text">
9389    <p>Restricts the search to instruments with product info
9390                                  that satisfies the supplied search string (encapsulated into apostrophes,
9391                                  supporting escape sequences as described in chapter
9392                                  "<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>").
9393    </p>
9394    </blockquote><p>
9395                          
9396    </p>
9397    
9398                          
9399    <p>ARTISTS='&lt;search-string&gt;'
9400                              </p>
9401    <blockquote class="text">
9402    <p>Restricts the search to instruments with artists info
9403                                  that satisfies the supplied search string (encapsulated into apostrophes,
9404                                  supporting escape sequences as described in chapter
9405                                  "<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>").
9406    </p>
9407    </blockquote><p>
9408                          
9409    </p>
9410    
9411                          
9412    <p>KEYWORDS='&lt;search-string&gt;'
9413                              </p>
9414    <blockquote class="text">
9415    <p>Restricts the search to instruments with keyword list
9416                                  that satisfies the supplied search string (encapsulated into apostrophes,
9417                                  supporting escape sequences as described in chapter
9418                                  "<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>").
9419    </p>
9420    </blockquote><p>
9421                          
9422    </p>
9423    
9424                          
9425    <p>IS_DRUM=true | false
9426                              </p>
9427    <blockquote class="text">
9428    <p>Either true or false. Restricts the search to
9429                                  drum kits or chromatic instruments.
9430    </p>
9431    </blockquote><p>
9432                          
9433    </p>
9434    
9435                          
9436    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
9437                              </p>
9438    <blockquote class="text">
9439    <p>Restricts the search to instruments of the supplied format families,
9440                                  where &lt;format-list&gt; is a comma separated list of format families.
9441    </p>
9442    </blockquote><p>
9443                          
9444    </p>
9445                        
9446    
9447    <p>Where &lt;search-string&gt; is either a regular expression, or a
9448                        word list separated with spaces for OR search and with '+' for AND search.
9449    </p>
9450    <p>Possible Answers:
9451    </p>
9452    <p>
9453                            </p>
9454    <blockquote class="text">
9455    <p>A comma separated list with the absolute path names (encapsulated into
9456                                apostrophes) of all instruments in the specified directory that satisfy
9457                                the supplied search criterias.
9458    </p>
9459    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9460                                    </p>
9461    <blockquote class="text">
9462    <p>if the given directory does not exist.
9463    </p>
9464    </blockquote>
9465                                
9466    
9467    </blockquote><p>
9468                        
9469    </p>
9470    <p>Example:
9471    </p>
9472    <p>
9473                            </p>
9474    <blockquote class="text">
9475    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
9476    </p>
9477    <p>S: "'/Piano Collection/Bosendorfer 290'"
9478    </p>
9479    </blockquote><p>
9480                        
9481    </p>
9482    <p>
9483                            </p>
9484    <blockquote class="text">
9485    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
9486    </p>
9487    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
9488    </p>
9489    </blockquote><p>
9490                        
9491    </p>
9492    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9493    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9494    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9495    Getting job status information</h3>
9496    
9497    <p>The front-end can ask for the current status of a
9498                        particular database instruments job by sending the following command:
9499    </p>
9500    <p>
9501                            </p>
9502    <blockquote class="text">
9503    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9504    </p>
9505    </blockquote><p>
9506                        
9507    </p>
9508    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9509                        of the job the front-end is interested in.
9510    </p>
9511    <p>Possible Answers:
9512    </p>
9513    <p>
9514                            </p>
9515    <blockquote class="text">
9516    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9517                                Each answer line begins with the settings category name
9518                                followed by a colon and then a space character &lt;SP&gt; and finally
9519                                the info character string to that setting category. At the
9520                                moment the following categories are defined:
9521    </p>
9522    <p>
9523                                    </p>
9524    <blockquote class="text">
9525    <p>FILES_TOTAL -
9526                                            </p>
9527    <blockquote class="text">
9528    <p>The total number of files scheduled for scanning
9529    </p>
9530    </blockquote>
9531                                        
9532    
9533    <p>FILES_SCANNED -
9534                                            </p>
9535    <blockquote class="text">
9536    <p>The current number of scanned files
9537    </p>
9538    </blockquote>
9539                                        
9540    
9541    <p>SCANNING -
9542                                            </p>
9543    <blockquote class="text">
9544    <p>The absolute path name of the file which is currently
9545                                                being scanned
9546    </p>
9547    </blockquote>
9548                                        
9549    
9550    <p>STATUS -
9551                                            </p>
9552    <blockquote class="text">
9553    <p>An integer value between 0 and 100 indicating the
9554                                                scanning progress percentage of the file which is
9555                                                currently being scanned
9556    </p>
9557    </blockquote>
9558                                        
9559    
9560    </blockquote>
9561                                
9562    
9563    </blockquote><p>
9564                        
9565    </p>
9566    <p>The mentioned fields above don't have to be in particular order.
9567    </p>
9568    <p>Example:
9569    </p>
9570    <p>
9571                            </p>
9572    <blockquote class="text">
9573    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9574    </p>
9575    <p>S: "FILES_TOTAL: 12"
9576    </p>
9577    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9578    </p>
9579    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9580    </p>
9581    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9582    </p>
9583    <p>&nbsp;&nbsp;&nbsp;"."
9584    </p>
9585    </blockquote><p>
9586                        
9587    </p>
9588    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9589    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9590    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9591    Formatting the instruments database</h3>
9592    
9593    <p>The front-end can remove all instruments and directories and re-create
9594                        the instruments database structure (e.g., in case of a database corruption)
9595                        by sending the following command:
9596    </p>
9597    <p>
9598                            </p>
9599    <blockquote class="text">
9600    <p>FORMAT INSTRUMENTS_DB
9601    </p>
9602    </blockquote><p>
9603                        
9604    </p>
9605    <p>Possible Answers:
9606    </p>
9607    <p>
9608                            </p>
9609    <blockquote class="text">
9610    <p>"OK" -
9611                                    </p>
9612    <blockquote class="text">
9613    <p>on success
9614    </p>
9615    </blockquote>
9616                                
9617    
9618    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9619                                    </p>
9620    <blockquote class="text">
9621    <p>If the formatting of the instruments database
9622                                        failed.
9623    </p>
9624    </blockquote>
9625                                
9626    
9627    </blockquote><p>
9628                        
9629    </p>
9630    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9631    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9632    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9633    Checking for lost instrument files</h3>
9634    
9635    <p>The front-end can retrieve the list of all instrument files in the instruments database
9636                        that don't exist in the filesystem by sending the following command:
9637    </p>
9638    <p>
9639                            </p>
9640    <blockquote class="text">
9641    <p>FIND LOST DB_INSTRUMENT_FILES
9642    </p>
9643    </blockquote><p>
9644                        
9645    </p>
9646    <p>Possible Answers:
9647    </p>
9648    <p>
9649                            </p>
9650    <blockquote class="text">
9651    <p>A comma separated list with the absolute path names
9652                                (encapsulated into apostrophes) of all lost instrument files.
9653    </p>
9654    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9655                                    </p>
9656    <blockquote class="text">
9657    <p>in case it failed, providing an appropriate error code and error message.
9658    </p>
9659    </blockquote>
9660                                
9661    
9662    </blockquote><p>
9663                        
9664    </p>
9665    <p>Example:
9666    </p>
9667    <p>
9668                            </p>
9669    <blockquote class="text">
9670    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9671    </p>
9672    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9673    </p>
9674    </blockquote><p>
9675                        
9676    </p>
9677    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9678    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9679    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9680    Replacing an instrument file</h3>
9681    
9682    <p>The front-end can substitute all occurrences of an instrument file
9683                        in the instruments database with a new one by sending the following command:
9684    </p>
9685    <p>
9686                            </p>
9687    <blockquote class="text">
9688    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9689    </p>
9690    </blockquote><p>
9691                        
9692    </p>
9693    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9694                        to substitute with &lt;new_path&gt;.
9695    </p>
9696    <p>Possible Answers:
9697    </p>
9698    <p>
9699                            </p>
9700    <blockquote class="text">
9701    <p>"OK" -
9702                                    </p>
9703    <blockquote class="text">
9704    <p>on success
9705    </p>
9706    </blockquote>
9707                                
9708    
9709    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9710                                    </p>
9711    <blockquote class="text">
9712    <p>in case it failed, providing an appropriate error code and error message.
9713    </p>
9714    </blockquote>
9715                                
9716    
9717    </blockquote><p>
9718                        
9719    </p>
9720    <p>Example:
9721    </p>
9722    <p>
9723                            </p>
9724    <blockquote class="text">
9725    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9726    </p>
9727    <p>S: "OK"
9728    </p>
9729    </blockquote><p>
9730                        
9731    </p>
9732    <a name="editing_instruments"></a><br /><hr />
9733    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9734    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9735    Editing Instruments</h3>
9736    
9737    <p>The sampler allows to edit instruments while playing with the
9738                    sampler by spawning an external (3rd party) instrument editor
9739                    application for a given instrument. The 3rd party instrument
9740                    editor applications have to place a respective plugin DLL file
9741                    into the sampler's plugins directory. The sampler will
9742                    automatically try to load all plugin DLLs in that directory on
9743                    startup and only on startup!
9744    </p>
9745    <p>At the moment there is only one command for this feature set,
9746                    but this will most probably change in future.
9747    </p>
9748    <a name="EDIT INSTRUMENT"></a><br /><hr />
9749    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9750    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9751    Opening an appropriate instrument editor application</h3>
9752    
9753    <p>The front-end can request to open an appropriate instrument
9754                        editor application by sending the following command:
9755    </p>
9756    <p>
9757                            </p>
9758    <blockquote class="text">
9759    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9760    </p>
9761    </blockquote><p>
9762                        
9763    </p>
9764    <p>Where &lt;sampler-channel&gt; should be replaced by the
9765                        number of the sampler channel as given by the
9766                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9767                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9768                        command.
9769    </p>
9770    <p>The sampler will try to ask all registered instrument
9771                        editors (or to be more specific: their sampler plugins)
9772                        whether they are capable to handle the instrument on the
9773                        given sampler channel. The sampler will simply use the first
9774                        instrument editor application which replied with a positive
9775                        answer and spawn that instrument editor application within
9776                        the sampler's process and provide that application access
9777                        to the instrument's data structures, so both applications
9778                        can share and access the same instruments data at the same
9779                        time, thus allowing to immediately hear changes with the
9780                        sampler made by the instrument editor.
9781    </p>
9782    <p>Note: consequently instrument editors are always spawned
9783                        locally on the same machine where the sampler is running
9784                        on!
9785    </p>
9786    <p>Possible Answers:
9787    </p>
9788    <p>
9789                            </p>
9790    <blockquote class="text">
9791    <p>"OK" -
9792                                    </p>
9793    <blockquote class="text">
9794    <p>when an appropriate instrument editor was
9795                                        launched
9796    </p>
9797    </blockquote>
9798                                
9799    
9800    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9801                                    </p>
9802    <blockquote class="text">
9803    <p>when an appropriate instrument editor was
9804                                        launched, but there are noteworthy issues
9805    </p>
9806    </blockquote>
9807                                
9808    
9809    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9810                                    </p>
9811    <blockquote class="text">
9812    <p>when an appropriate instrument editor
9813                                        could not be launched
9814    </p>
9815    </blockquote>
9816                                
9817    
9818    </blockquote><p>
9819                        
9820    </p>
9821    <p>Examples:
9822    </p>
9823    <p>
9824                            </p>
9825    <blockquote class="text">
9826    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9827    </p>
9828    <p>S: "OK"
9829    </p>
9830    </blockquote><p>
9831                        
9832    </p>
9833    <a name="file_management"></a><br /><hr />
9834    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9835    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9836    Managing Files</h3>
9837    
9838    <p>You can query detailed informations about files located
9839                    at the same system where the sampler instance is running on.
9840                    Using this command set allows to retrieve file informations
9841                    even remotely from another machine.
9842    </p>
9843    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9844    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9845    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9846    Retrieving amount of instruments of a file</h3>
9847    
9848    <p>The front-end can retrieve the amount of instruments
9849                        within a given instrument file by sending the
9850                        following command:
9851    </p>
9852    <p>
9853                            </p>
9854    <blockquote class="text">
9855    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9856    </p>
9857    </blockquote><p>
9858                        
9859    </p>
9860    <p>Where &lt;filename&gt; is the name of the instrument
9861                        file (encapsulated into apostrophes, supporting escape
9862                        sequences as described in chapter
9863                        "<a class='info' href='#character_set'>Character Set and Escape
9864                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9865    </p>
9866    <p>The sampler will try to ask all sampler engines,
9867                        whether they support the given file and ask the first
9868                        engine with a positive answer for the amount of
9869                        instruments.
9870    </p>
9871    <p>Possible Answers:
9872    </p>
9873    <p>
9874                            </p>
9875    <blockquote class="text">
9876    <p>On success, the sampler will answer by
9877                                   returning the amount of instruments.
9878                                
9879    </p>
9880    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9881                                    </p>
9882    <blockquote class="text">
9883    <p>if the file could not be handled
9884    </p>
9885    </blockquote>
9886                                
9887    
9888    </blockquote><p>
9889                        
9890    </p>
9891    <p>Examples:
9892    </p>
9893    <p>
9894                            </p>
9895    <blockquote class="text">
9896    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9897    </p>
9898    <p>S: "10"
9899    </p>
9900    </blockquote><p>
9901                        
9902    </p>
9903    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9904    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9905    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9906    Retrieving all instruments of a file</h3>
9907    
9908    <p>The front-end can retrieve a list of all instruments
9909                        within a given instrument file by sending the
9910                        following command:
9911    </p>
9912    <p>
9913                            </p>
9914    <blockquote class="text">
9915    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9916    </p>
9917    </blockquote><p>
9918                        
9919    </p>
9920    <p>Where &lt;filename&gt; is the name of the instrument
9921                        file (encapsulated into apostrophes, supporting escape
9922                        sequences as described in chapter
9923                        "<a class='info' href='#character_set'>Character Set and Escape
9924                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9925    </p>
9926    <p>The sampler will try to ask all sampler engines,
9927                        whether they support the given file and ask the first
9928                        engine with a positive answer for a list of IDs for the
9929                        instruments in the given file.
9930    </p>
9931    <p>Possible Answers:
9932    </p>
9933    <p>
9934                            </p>
9935    <blockquote class="text">
9936    <p>On success, the sampler will answer by
9937                                   returning a comma separated list of
9938                                   instrument IDs.
9939                                
9940    </p>
9941    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9942                                    </p>
9943    <blockquote class="text">
9944    <p>if the file could not be handled
9945    </p>
9946    </blockquote>
9947                                
9948    
9949    </blockquote><p>
9950                        
9951    </p>
9952    <p>Examples:
9953    </p>
9954    <p>
9955                            </p>
9956    <blockquote class="text">
9957    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9958    </p>
9959    <p>S: "0,1,2,3,4,5,6,7,8,9"
9960    </p>
9961    </blockquote><p>
9962                        
9963    </p>
9964    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9965    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9966    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9967    Retrieving informations about one instrument in a file</h3>
9968    
9969    <p>The front-end can retrieve detailed informations
9970                        about a specific instrument within a given instrument
9971                        file by sending the following command:
9972    </p>
9973    <p>
9974                            </p>
9975    <blockquote class="text">
9976    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9977                                &lt;instr-id&gt;
9978    </p>
9979    </blockquote><p>
9980                        
9981    </p>
9982    <p>Where &lt;filename&gt; is the name of the instrument
9983                        file (encapsulated into apostrophes, supporting escape
9984                        sequences as described in chapter
9985                        "<a class='info' href='#character_set'>Character Set and Escape
9986                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9987                        instrument ID as returned by the
9988                        <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.
9989    </p>
9990    <p>The sampler will try to ask all sampler engines,
9991                        whether they support the given file and ask the first
9992                        engine with a positive answer for informations about the
9993                        specific instrument in the given file.
9994    </p>
9995    <p>Possible Answers:
9996    </p>
9997    <p>
9998                            </p>
9999    <blockquote class="text">
10000    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10001                                Each answer line begins with the settings category name
10002                                followed by a colon and then a space character &lt;SP&gt; and finally
10003                                the info character string to that setting category. At the
10004                                moment the following categories are defined:
10005    </p>
10006    <p>
10007                                    </p>
10008    <blockquote class="text">
10009    <p>NAME -
10010                                            </p>
10011    <blockquote class="text">
10012    <p>name of the instrument as
10013                                                stored in the instrument file
10014    </p>
10015    </blockquote>
10016                                        
10017    
10018    <p>FORMAT_FAMILY -
10019                                            </p>
10020    <blockquote class="text">
10021    <p>name of the sampler format
10022                                                of the given instrument
10023    </p>
10024    </blockquote>
10025                                        
10026    
10027    <p>FORMAT_VERSION -
10028                                            </p>
10029    <blockquote class="text">
10030    <p>version of the sampler format
10031                                                the instrumen is stored as
10032    </p>
10033    </blockquote>
10034                                        
10035    
10036    <p>PRODUCT -
10037                                            </p>
10038    <blockquote class="text">
10039    <p>official product name of the
10040                                                instrument as stored in the file
10041                                                
10042    </p>
10043    </blockquote>
10044                                        
10045    
10046    <p>ARTISTS -
10047                                            </p>
10048    <blockquote class="text">
10049    <p>artists / sample library
10050                                                vendor of the instrument
10051    </p>
10052    </blockquote>
10053                                        
10054    
10055    <p>KEY_BINDINGS -
10056                                            </p>
10057    <blockquote class="text">
10058    <p>comma separated list of integer values representing
10059                                                   the instrument's key mapping in the range between 0 .. 127,
10060                                                   reflecting the analog meaning of the MIDI specification.
10061    </p>
10062    </blockquote>
10063                                        
10064    
10065    <p>KEYSWITCH_BINDINGS -
10066                                            </p>
10067    <blockquote class="text">
10068    <p>comma separated list of integer values representing
10069                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
10070                                                   reflecting the analog meaning of the MIDI specification.
10071    </p>
10072    </blockquote>
10073                                        
10074    
10075    </blockquote>
10076                                
10077    
10078    </blockquote><p>
10079                        
10080    </p>
10081    <p>The mentioned fields above don't have to be in particular order.
10082    </p>
10083    <p>Example:
10084    </p>
10085    <p>
10086                            </p>
10087    <blockquote class="text">
10088    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
10089    </p>
10090    <p>S: "NAME: Lunatic Loops"
10091    </p>
10092    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
10093    </p>
10094    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
10095    </p>
10096    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
10097    </p>
10098    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
10099    </p>
10100    <p>&nbsp;&nbsp;&nbsp;"."
10101    </p>
10102    </blockquote><p>
10103                        
10104    </p>
10105    <a name="effects"></a><br /><hr />
10106    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10107    <a name="rfc.section.6.11"></a><h3>6.11.&nbsp;
10108    Managing Effects</h3>
10109    
10110    <p>Audio effects (e.g. reverb, delay, compression) can be
10111                    applied to the audio signals generated by the sampler. The
10112                    sampler usually provides a set of internal audio effects for
10113                    this task. The exact set of effects depends on the availability
10114                    of third party effect plugins installed on the system where the
10115                    sampler runs on.
10116    </p>
10117    <p>At the moment only "send effects" are supported. Support for
10118                    "insert effects" and "master effects" is planned to be added at
10119                    a later point.
10120    </p>
10121    <p>The following commands allow to retrieve the set of internal
10122                    effects available to the sampler, detailed informations about
10123                    those effects and to create and destroy instances of such
10124                    effects. After an instance of an effect is created, the effect
10125                    instance can be inserted into the audio signal path of the
10126                    sampler, e.g. as send effect.
10127    </p>
10128    <p>The sampler allows to create an arbitrary amount of so called
10129                    send effect chains. Each effect chain can host an arbitrary
10130                    amount of effect instances. The output of the first effect
10131                    instance in an effect chain is fed to the input of the second
10132                    effect instance of the chain and so on. So effects in one chain
10133                    are processed sequentially. Send effect chains however are
10134                    processed in parallel to other send effect chains. Audio signals
10135                    of sampler channels are fed to send effects by creating FX sends
10136                    to the respective sampler channel and assigning a destination
10137                    send effect to that FX by using the
10138                    <a class='info' href='#SET FX_SEND EFFECT'>"SET FX_SEND EFFECT"<span> (</span><span class='info'>Assigning destination effect to an effect send</span><span>)</span></a>
10139                    command. The latter allows to route the FX send to the beginning
10140                    of a send effect chain, as well as directly to any other
10141                    position of the send effect chain.
10142    </p>
10143    <a name="GET AVAILABLE_EFFECTS"></a><br /><hr />
10144    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10145    <a name="rfc.section.6.11.1"></a><h3>6.11.1.&nbsp;
10146    Retrieve amount of available effects</h3>
10147    
10148    <p>The front-end can retrieve the amount of internal
10149                        effects, available to the sampler by sending
10150                        the following command:
10151    </p>
10152    <p>
10153                            </p>
10154    <blockquote class="text">
10155    <p>GET AVAILABLE_EFFECTS
10156    </p>
10157    </blockquote><p>
10158                        
10159    </p>
10160    <p>Possible Answers:
10161    </p>
10162    <p>
10163                            </p>
10164    <blockquote class="text">
10165    <p>The sampler will answer by returning the current
10166                                number of effects available to the sampler.
10167    </p>
10168    </blockquote><p>
10169                        
10170    </p>
10171    <p>Examples:
10172    </p>
10173    <p>
10174                            </p>
10175    <blockquote class="text">
10176    <p>C: "GET AVAILABLE_EFFECTS"
10177    </p>
10178    <p>S: "129"
10179    </p>
10180    </blockquote><p>
10181                        
10182    </p>
10183    <a name="LIST AVAILABLE_EFFECTS"></a><br /><hr />
10184    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10185    <a name="rfc.section.6.11.2"></a><h3>6.11.2.&nbsp;
10186    Get list of available effects</h3>
10187    
10188    <p>The set of available internal effects can change at
10189                        runtime. The front-end can retrieve the list of internal
10190                        effects, available to the sampler by sending the following
10191                        command:
10192    </p>
10193    <p>
10194                            </p>
10195    <blockquote class="text">
10196    <p>LIST AVAILABLE_EFFECTS
10197    </p>
10198    </blockquote><p>
10199                        
10200    </p>
10201    <p>Possible Answers:
10202    </p>
10203    <p>
10204                            </p>
10205    <blockquote class="text">
10206    <p>The sampler will answer by returning a comma
10207                                separated list with numerical IDs of effects. Note:
10208                                the numercial ID of an effect is generated by the
10209                                sampler for the current moment. The numerical ID of
10210                                the same effect can change at runtime, e.g. when the
10211                                user requests a rescan of available effect plugins.
10212                                
10213    </p>
10214    </blockquote><p>
10215                        
10216    </p>
10217    <p>Example:
10218    </p>
10219    <p>
10220                            </p>
10221    <blockquote class="text">
10222    <p>C: "LIST AVAILABLE_EFFECTS"
10223    </p>
10224    <p>S: "5,6,7,120,121,122,123,124"
10225    </p>
10226    </blockquote><p>
10227                        
10228    </p>
10229    <a name="GET EFFECT INFO"></a><br /><hr />
10230    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10231    <a name="rfc.section.6.11.3"></a><h3>6.11.3.&nbsp;
10232    Retrieving general information about an effect</h3>
10233    
10234    <p>The front-end can ask for general informations about an
10235                        effect by sending the following command:
10236    </p>
10237    <p>
10238                            </p>
10239    <blockquote class="text">
10240    <p>GET EFFECT INFO &lt;effect-index&gt;
10241    </p>
10242    </blockquote><p>
10243                        
10244    </p>
10245    <p>Where &lt;effect-index&gt; is the numerical ID of an
10246                        effect as returned by the
10247                        <a class='info' href='#LIST AVAILABLE_EFFECTS'>"LIST AVAILABLE_EFFECTS"<span> (</span><span class='info'>Get list of available effects</span><span>)</span></a>
10248                        command.
10249    </p>
10250    <p>Possible Answers:
10251    </p>
10252    <p>
10253                            </p>
10254    <blockquote class="text">
10255    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10256                                Each answer line begins with the effect information
10257                                category name, followed by a colon and then a space
10258                                character &lt;SP&gt; and finally the info character
10259                                string to that effect information category. At the
10260                                moment the following categories are defined:
10261    </p>
10262    <p>
10263                                    </p>
10264    <blockquote class="text">
10265    <p>SYSTEM -
10266                                            </p>
10267    <blockquote class="text">
10268    <p>name of the effect plugin system
10269                                                the effect is based on
10270                                                (e.g. "LADSPA")
10271    </p>
10272    </blockquote>
10273                                        
10274    
10275    <p>MODULE -
10276                                            </p>
10277    <blockquote class="text">
10278    <p>module of the effect plugin
10279                                                system that contains this effect,
10280                                                the module is usually the
10281                                                dynamic-linked library (DLL)
10282                                                filename of the effect plugin,
10283                                                including full path (note that this
10284                                                filename may contain
10285                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10286    </p>
10287    </blockquote>
10288                                        
10289    
10290    <p>NAME -
10291                                            </p>
10292    <blockquote class="text">
10293    <p>character string defining the
10294                                                unique name of the effect within its
10295                                                module (note that the character
10296                                                string may contain
10297                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10298    </p>
10299    </blockquote>
10300                                        
10301    
10302    <p>DESCRIPTION -
10303                                            </p>
10304    <blockquote class="text">
10305    <p>human readable name of the
10306                                                effect, intended to be displayed in
10307                                                user interfaces (note that the
10308                                                character string may contain
10309                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10310    </p>
10311    </blockquote>
10312                                        
10313    
10314    </blockquote>
10315                                
10316    
10317    </blockquote><p>
10318                        
10319    </p>
10320    <p>The mentioned fields above don't have to be in particular order.
10321    </p>
10322    <p>Example:
10323    </p>
10324    <p>
10325                            </p>
10326    <blockquote class="text">
10327    <p>C: "GET EFFECT INFO 121"
10328    </p>
10329    <p>S: "SYSTEM: LADSPA"
10330    </p>
10331    <p>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/lowpass_iir_1891.so"
10332    </p>
10333    <p>&nbsp;&nbsp;&nbsp;"NAME: lowpass_iir"
10334    </p>
10335    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Glame Lowpass Filter"
10336    </p>
10337    <p>&nbsp;&nbsp;&nbsp;"."
10338    </p>
10339    </blockquote><p>
10340                        
10341    </p>
10342    <a name="CREATE EFFECT_INSTANCE"></a><br /><hr />
10343    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10344    <a name="rfc.section.6.11.4"></a><h3>6.11.4.&nbsp;
10345    Creating an instance of an effect by its portable ID</h3>
10346    
10347    <p>The front-end can spawn an instance of the desired
10348                        effect by sending the following command:
10349    </p>
10350    <p>
10351                            </p>
10352    <blockquote class="text">
10353    <p>CREATE EFFECT_INSTANCE &lt;effect-system&gt; &lt;module&gt; &lt;effect-name&gt;
10354    </p>
10355    </blockquote><p>
10356                        
10357    </p>
10358    <p>Where &lt;effect-system&gt; is the "SYSTEM" field,
10359                        &lt;module&gt; the "MODULE" field and &lt;effect-name&gt;
10360                        the "NAME" field as returned by the
10361                        <a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
10362                        command. The filename of argument &lt;module&gt; and the
10363                        character string of argument &lt;effect-name&gt; may contain
10364                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
10365    </p>
10366    <p>The sampler will try to load the requested effect and to
10367                        create an instance of it. To allow loading the same effect
10368                        on a different machine, probably even running a completely
10369                        different operating system (e.g. Linux vs. Windows), the
10370                        sampler tries to match &lt;module&gt; "softly". That means
10371                        it first tries to find an effect that exactly matches the
10372                        given &lt;module&gt; argument. If there is no exact match,
10373                        the sampler will try to lower the restrictions on matching
10374                        the &lt;module&gt; argument more and more, e.g. by ignoring
10375                        upper / lower case differences and by ignoring the path of
10376                        the DLL filename and file extension. If there is still no
10377                        match at the end, the sampler will try to ignore the
10378                        &lt;module&gt; argument completely and as a last resort
10379                        search for an effect that only matches the given
10380                        &lt;effect-system&gt; and &lt;effect-name&gt; arguments.
10381    </p>
10382    <p>Possible Answers:
10383    </p>
10384    <p>
10385                            </p>
10386    <blockquote class="text">
10387    <p>"OK[&lt;effect-instance&gt;]" -
10388                                    </p>
10389    <blockquote class="text">
10390    <p>in case the effect instance was
10391                                        successfully created, where
10392                                        &lt;effect-instance&gt; is the numerical ID
10393                                        of the new effect instance
10394    </p>
10395    </blockquote>
10396                                
10397    
10398    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
10399                                    </p>
10400    <blockquote class="text">
10401    <p>in case the effect instance was spawned
10402                                        successfully, but there are noteworthy
10403                                        issue(s) related, providing an appropriate
10404                                        warning code and warning message
10405    </p>
10406    </blockquote>
10407                                
10408    
10409    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10410                                    </p>
10411    <blockquote class="text">
10412    <p>if the effect could not be instantiated
10413    </p>
10414    </blockquote>
10415                                
10416    
10417    </blockquote><p>
10418                        
10419    </p>
10420    <p>Examples:
10421    </p>
10422    <p>
10423                            </p>
10424    <blockquote class="text">
10425    <p>C: "CREATE EFFECT_INSTANCE LADSPA '/usr/lib/ladspa/mod_delay_1419.so' 'modDelay'"
10426    </p>
10427    <p>S: "OK[0]"
10428    </p>
10429    </blockquote><p>
10430                        
10431    </p>
10432    <a name="CREATE EFFECT_INSTANCE (non-portable)"></a><br /><hr />
10433    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10434    <a name="rfc.section.6.11.5"></a><h3>6.11.5.&nbsp;
10435    Creating an instance of an effect by its numerical ID</h3>
10436    
10437    <p>The front-end can spawn an instance of the desired
10438                        effect by sending the following command:
10439    </p>
10440    <p>
10441                            </p>
10442    <blockquote class="text">
10443    <p>CREATE EFFECT_INSTANCE &lt;effect-index&gt;
10444    </p>
10445    </blockquote><p>
10446                        
10447    </p>
10448    <p>Where &lt;effect-index&gt; is the numerical ID of the
10449                        effect as returned by the
10450                        <a class='info' href='#LIST AVAILABLE_EFFECTS'>"LIST AVAILABLE_EFFECTS"<span> (</span><span class='info'>Get list of available effects</span><span>)</span></a>
10451                        command.
10452    </p>
10453    <p>The sampler will try to load the requested effect and to
10454                        create an instance of it.
10455    </p>
10456    <p>Note: Since the numerical ID of a certain effect can
10457                        change at any time, you should not use this command in
10458                        LSCP files to restore a certain effect at a later time! To
10459                        store a sampler session including all its effects, use the
10460                        <a class='info' href='#CREATE EFFECT_INSTANCE'>portable text-based
10461                        version of "CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> instead! This
10462                        allows to restore a sampler session with all its effects
10463                        also on other machines, possibly even running a completely
10464                        different operating system (e.g. Linux vs. Windows), with
10465                        different plugin directories or plugin DLL names.
10466    </p>
10467    <p>Possible Answers:
10468    </p>
10469    <p>
10470                            </p>
10471    <blockquote class="text">
10472    <p>"OK[&lt;effect-instance&gt;]" -
10473                                    </p>
10474    <blockquote class="text">
10475    <p>in case the effect instance was
10476                                        successfully created, where
10477                                        &lt;effect-instance&gt; is the numerical ID
10478                                        of the new effect instance
10479    </p>
10480    </blockquote>
10481                                
10482    
10483    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
10484                                    </p>
10485    <blockquote class="text">
10486    <p>in case the effect instance was spawned
10487                                        successfully, but there are noteworthy
10488                                        issue(s) related, providing an appropriate
10489                                        warning code and warning message
10490    </p>
10491    </blockquote>
10492                                
10493    
10494    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10495                                    </p>
10496    <blockquote class="text">
10497    <p>if the effect could not be instantiated
10498    </p>
10499    </blockquote>
10500                                
10501    
10502    </blockquote><p>
10503                        
10504    </p>
10505    <p>Examples:
10506    </p>
10507    <p>
10508                            </p>
10509    <blockquote class="text">
10510    <p>C: "CREATE EFFECT_INSTANCE 72"
10511    </p>
10512    <p>S: "OK[5]"
10513    </p>
10514    </blockquote><p>
10515                        
10516    </p>
10517    <a name="DESTROY EFFECT_INSTANCE"></a><br /><hr />
10518    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10519    <a name="rfc.section.6.11.6"></a><h3>6.11.6.&nbsp;
10520    Destroy an effect instance</h3>
10521    
10522    <p>The front-end can destroy an unusued effect instance and
10523                        thus freeing it from memory by sending the following command:
10524    </p>
10525    <p>
10526                            </p>
10527    <blockquote class="text">
10528    <p>DESTROY EFFECT_INSTANCE &lt;effect-instance&gt;
10529    </p>
10530    </blockquote><p>
10531                        
10532    </p>
10533    <p>Where &lt;effect-instance&gt; is the numerical ID of the
10534                        effect instance as returned by the
10535                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
10536                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10537                        command.
10538    </p>
10539    <p>The effect instance can only be destroyed if it's not
10540                        used in any part of the sampler's audio signal path anymore.
10541                        If the effect instance is still in use somewhere, trying to
10542                        destroy the effect instance will result in an error
10543                        message.
10544    </p>
10545    <p>Possible Answers:
10546    </p>
10547    <p>
10548                            </p>
10549    <blockquote class="text">
10550    <p>"OK" -
10551                                    </p>
10552    <blockquote class="text">
10553    <p>in case the effect instance was successfully destroyed
10554    </p>
10555    </blockquote>
10556                                
10557    
10558    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10559                                    </p>
10560    <blockquote class="text">
10561    <p>in case it failed, providing an appropriate error code and
10562                                        error message
10563    </p>
10564    </blockquote>
10565                                
10566    
10567    </blockquote><p>
10568                        
10569    </p>
10570    <p>Examples:
10571    </p>
10572    <p>
10573                            </p>
10574    <blockquote class="text">
10575    <p>C: "DESTROY EFFECT_INSTANCE 5"
10576    </p>
10577    <p>S: "OK"
10578    </p>
10579    </blockquote><p>
10580                        
10581    </p>
10582    <a name="GET EFFECT_INSTANCES"></a><br /><hr />
10583    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10584    <a name="rfc.section.6.11.7"></a><h3>6.11.7.&nbsp;
10585    Retrieve amount of effect instances</h3>
10586    
10587    <p>The front-end can retrieve the current amount of effect
10588                        instances by sending the following command:
10589    </p>
10590    <p>
10591                            </p>
10592    <blockquote class="text">
10593    <p>GET EFFECT_INSTANCES
10594    </p>
10595    </blockquote><p>
10596                        
10597    </p>
10598    <p>Possible Answers:
10599    </p>
10600    <p>
10601                            </p>
10602    <blockquote class="text">
10603    <p>The sampler will answer by returning the current
10604                                number of effect instances created and not yet
10605                                destroyed in the current sampler session.
10606    </p>
10607    </blockquote><p>
10608                        
10609    </p>
10610    <p>Examples:
10611    </p>
10612    <p>
10613                            </p>
10614    <blockquote class="text">
10615    <p>C: "GET EFFECT_INSTANCES"
10616    </p>
10617    <p>S: "14"
10618    </p>
10619    </blockquote><p>
10620                        
10621    </p>
10622    <a name="LIST EFFECT_INSTANCES"></a><br /><hr />
10623    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10624    <a name="rfc.section.6.11.8"></a><h3>6.11.8.&nbsp;
10625    Get list of effect instances</h3>
10626    
10627    <p>The front-end can retrieve the current list of effect
10628                        instances by sending the following command:
10629    </p>
10630    <p>
10631                            </p>
10632    <blockquote class="text">
10633    <p>LIST EFFECT_INSTANCES
10634    </p>
10635    </blockquote><p>
10636                        
10637    </p>
10638    <p>Possible Answers:
10639    </p>
10640    <p>
10641                            </p>
10642    <blockquote class="text">
10643    <p>The sampler will answer by returning a comma
10644                                separated list with numerical IDs of effects
10645                                instances.
10646                                
10647    </p>
10648    </blockquote><p>
10649                        
10650    </p>
10651    <p>Example:
10652    </p>
10653    <p>
10654                            </p>
10655    <blockquote class="text">
10656    <p>C: "LIST EFFECT_INSTANCES"
10657    </p>
10658    <p>S: "9,11,14,15,16,17,25"
10659    </p>
10660    </blockquote><p>
10661                        
10662    </p>
10663    <a name="GET EFFECT_INSTANCE INFO"></a><br /><hr />
10664    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10665    <a name="rfc.section.6.11.9"></a><h3>6.11.9.&nbsp;
10666    Retrieving current information about an effect instance</h3>
10667    
10668    <p>The front-end can ask for the current informations about
10669                        a particular effect instance by sending the following command:
10670    </p>
10671    <p>
10672                            </p>
10673    <blockquote class="text">
10674    <p>GET EFFECT_INSTANCE INFO &lt;effect-instance&gt;
10675    </p>
10676    </blockquote><p>
10677                        
10678    </p>
10679    <p>Where &lt;effect-instance&gt; is the numerical ID of an
10680                        effect instance as returned by the
10681                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
10682                        or
10683                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10684                        command.
10685    </p>
10686    <p>Possible Answers:
10687    </p>
10688    <p>
10689                            </p>
10690    <blockquote class="text">
10691    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10692                                Each answer line begins with the information
10693                                category name, followed by a colon and then a space
10694                                character &lt;SP&gt; and finally the info character
10695                                string to that information category. At the
10696                                moment the following categories are defined:
10697    </p>
10698    <p>
10699                                    </p>
10700    <blockquote class="text">
10701    <p>SYSTEM -
10702                                            </p>
10703    <blockquote class="text">
10704    <p>name of the effect plugin system
10705                                                the effect is based on
10706                                                (e.g. "LADSPA")
10707    </p>
10708    </blockquote>
10709                                        
10710    
10711    <p>MODULE -
10712                                            </p>
10713    <blockquote class="text">
10714    <p>module of the effect plugin
10715                                                system that contains this effect,
10716                                                the module is usually the
10717                                                dynamic-linked library (DLL)
10718                                                filename of the effect plugin,
10719                                                including full path (note that this
10720                                                filename may contain
10721                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10722    </p>
10723    </blockquote>
10724                                        
10725    
10726    <p>NAME -
10727                                            </p>
10728    <blockquote class="text">
10729    <p>character string defining the
10730                                                unique name of the effect within its
10731                                                module (note that the character
10732                                                string may contain
10733                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10734    </p>
10735    </blockquote>
10736                                        
10737    
10738    <p>DESCRIPTION -
10739                                            </p>
10740    <blockquote class="text">
10741    <p>human readable name of the
10742                                                effect, intended to be displayed in
10743                                                user interfaces (note that the
10744                                                character string may contain
10745                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10746    </p>
10747    </blockquote>
10748                                        
10749    
10750    <p>INPUT_CONTROLS -
10751                                            </p>
10752    <blockquote class="text">
10753    <p>amount of input controls the
10754                                                effect instance provides, to allow
10755                                                controlling the effect parameters in
10756                                                realtime
10757    </p>
10758    </blockquote>
10759                                        
10760    
10761    </blockquote>
10762                                
10763    
10764    </blockquote><p>
10765                        
10766    </p>
10767    <p>The mentioned fields above don't have to be in particular order.
10768    </p>
10769    <p>Example:
10770    </p>
10771    <p>
10772                            </p>
10773    <blockquote class="text">
10774    <p>C: "GET EFFECT_INSTANCE INFO 3"
10775    </p>
10776    <p>S: "SYSTEM: LADSPA"
10777    </p>
10778    <p>&nbsp;&nbsp;&nbsp;"MODULE: /usr/lib/ladspa/mod_delay_1419.so"
10779    </p>
10780    <p>&nbsp;&nbsp;&nbsp;"NAME: modDelay"
10781    </p>
10782    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Modulatable delay"
10783    </p>
10784    <p>&nbsp;&nbsp;&nbsp;"INPUT_CONTROLS: 1"
10785    </p>
10786    <p>&nbsp;&nbsp;&nbsp;"."
10787    </p>
10788    </blockquote><p>
10789                        
10790    </p>
10791    <a name="GET EFFECT_INSTANCE_INPUT_CONTROL INFO"></a><br /><hr />
10792    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10793    <a name="rfc.section.6.11.10"></a><h3>6.11.10.&nbsp;
10794    Retrieving information about an effect parameter</h3>
10795    
10796    <p>Effects typically provide a certain set of effect
10797                        parameters which can be altered by the user in realtime
10798                        (e.g. depth of a reverb effect, duration of a delay effect,
10799                        dry / wet signal ratio). Those controllable effect parameters
10800                        are called "input controls". The front-end can ask for the
10801                        current informations of an effect instance's input control
10802                        by sending the following command:
10803    </p>
10804    <p>
10805                            </p>
10806    <blockquote class="text">
10807    <p>GET EFFECT_INSTANCE_INPUT_CONTROL INFO &lt;effect-instance&gt; &lt;input-control&gt;
10808    </p>
10809    </blockquote><p>
10810                        
10811    </p>
10812    <p>Where &lt;effect-instance&gt; is the numerical ID of an
10813                        effect instance as returned by the
10814                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
10815                        or
10816                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10817                        command and &lt;input-control&gt; is the index of the input
10818                        control within the numerical bounds as returned by the
10819                        "INPUT_CONTROLS" field of the
10820                        <a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
10821                        command.
10822    </p>
10823    <p>Possible Answers:
10824    </p>
10825    <p>
10826                            </p>
10827    <blockquote class="text">
10828    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
10829                                Each answer line begins with the information
10830                                category name, followed by a colon and then a space
10831                                character &lt;SP&gt; and finally the info character
10832                                string to that information category. There are
10833                                information categories which are always returned,
10834                                independent of the respective effect parameter and
10835                                there are optional information categories
10836                                which are only shown for certain effect parameters.
10837                                At the moment the following categories are defined:
10838    </p>
10839    <p>
10840                                    </p>
10841    <blockquote class="text">
10842    <p>DESCRIPTION -
10843                                            </p>
10844    <blockquote class="text">
10845    <p>(always returned)
10846                                                human readable name of the
10847                                                effect parameter, intended to be
10848                                                displayed in user interfaces (note
10849                                                that the character string may
10850                                                contain <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
10851    </p>
10852    </blockquote>
10853                                        
10854    
10855    <p>VALUE -
10856                                            </p>
10857    <blockquote class="text">
10858    <p>
10859                                                (always returned)
10860                                                current (optional dotted)
10861                                                floating point value of this effect
10862                                                parameter
10863    </p>
10864    </blockquote>
10865                                        
10866    
10867    <p>RANGE_MIN -
10868                                            </p>
10869    <blockquote class="text">
10870    <p>
10871                                                (optionally returned)
10872                                                minimum allowed value for this
10873                                                effect parameter
10874    </p>
10875    </blockquote>
10876                                        
10877    
10878    <p>RANGE_MAX -
10879                                            </p>
10880    <blockquote class="text">
10881    <p>
10882                                                (optionally returned)
10883                                                maximum allowed value for this
10884                                                effect parameter
10885    </p>
10886    </blockquote>
10887                                        
10888    
10889    <p>POSSIBILITIES -
10890                                            </p>
10891    <blockquote class="text">
10892    <p>
10893                                                (optionally returned)
10894                                                comma separated list of
10895                                                (optional dotted) floating point
10896                                                numbers, reflecting the exact set of
10897                                                possible values for this effect
10898                                                parameter
10899    </p>
10900    </blockquote>
10901                                        
10902    
10903    <p>DEFAULT -
10904                                            </p>
10905    <blockquote class="text">
10906    <p>
10907                                                (optionally returned)
10908                                                default value of this effect
10909                                                parameter
10910    </p>
10911    </blockquote>
10912                                        
10913    
10914    </blockquote>
10915                                
10916    
10917    </blockquote><p>
10918                        
10919    </p>
10920    <p>The mentioned fields above don't have to be in particular order.
10921    </p>
10922    <p>Example:
10923    </p>
10924    <p>
10925                            </p>
10926    <blockquote class="text">
10927    <p>C: "GET EFFECT_INSTANCE_INPUT_CONTROL INFO 1 0"
10928    </p>
10929    <p>S: "DESCRIPTION: Base delay (s)"
10930    </p>
10931    <p>&nbsp;&nbsp;&nbsp;"VALUE: 0.500"
10932    </p>
10933    <p>&nbsp;&nbsp;&nbsp;"RANGE_MIN: 0.000"
10934    </p>
10935    <p>&nbsp;&nbsp;&nbsp;"."
10936    </p>
10937    </blockquote><p>
10938                        
10939    </p>
10940    <a name="SET EFFECT_INSTANCE_INPUT_CONTROL VALUE"></a><br /><hr />
10941    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10942    <a name="rfc.section.6.11.11"></a><h3>6.11.11.&nbsp;
10943    Altering an effect parameter</h3>
10944    
10945    <p>The front-end can alter the current value of an effect
10946                        parameter by sending the following command:
10947    </p>
10948    <p>
10949                            </p>
10950    <blockquote class="text">
10951    <p>SET EFFECT_INSTANCE_INPUT_CONTROL VALUE &lt;effect-instance&gt; &lt;input-control&gt; &lt;value&gt;
10952    </p>
10953    </blockquote><p>
10954                        
10955    </p>
10956    <p>Where &lt;effect-instance&gt; is the numerical ID of the
10957                        effect instance as returned by the
10958                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
10959                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10960                        command, &lt;input-control&gt; is the index of the input
10961                        control within the numerical bounds as returned by the
10962                        "INPUT_CONTROLS" field of the
10963                        <a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
10964                        command and &lt;value&gt; is the new (optional dotted)
10965                        floating point value for this effect parameter.
10966    </p>
10967    <p>Possible Answers:
10968    </p>
10969    <p>
10970                            </p>
10971    <blockquote class="text">
10972    <p>"OK" -
10973                                    </p>
10974    <blockquote class="text">
10975    <p>in case the effect was altered successfully
10976    </p>
10977    </blockquote>
10978                                
10979    
10980    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10981                                    </p>
10982    <blockquote class="text">
10983    <p>in case it failed, providing an appropriate error code and
10984                                        error message
10985    </p>
10986    </blockquote>
10987                                
10988    
10989    </blockquote><p>
10990                        
10991    </p>
10992    <p>Examples:
10993    </p>
10994    <p>
10995                            </p>
10996    <blockquote class="text">
10997    <p>C: "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE 0 1 0.5"
10998    </p>
10999    <p>S: "OK"
11000    </p>
11001    </blockquote><p>
11002                        
11003    </p>
11004    <a name="GET SEND_EFFECT_CHAINS"></a><br /><hr />
11005    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11006    <a name="rfc.section.6.11.12"></a><h3>6.11.12.&nbsp;
11007    Retrieve amount of send effect chains</h3>
11008    
11009    <p>The front-end can retrieve the current amount of send
11010                        effect chains of an audio output device by sending the
11011                        following command:
11012    </p>
11013    <p>
11014                            </p>
11015    <blockquote class="text">
11016    <p>GET SEND_EFFECT_CHAINS &lt;audio-device&gt;
11017    </p>
11018    </blockquote><p>
11019                        
11020    </p>
11021    <p>Where &lt;audio-device&gt; should be replaced by the
11022                        numerical ID of the audio output device as given by the
11023                        <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>
11024                        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>
11025                        command.
11026    </p>
11027    <p>Possible Answers:
11028    </p>
11029    <p>
11030                            </p>
11031    <blockquote class="text">
11032    <p>The sampler will answer by returning the current
11033                                number of send effect chains of the supplied audio
11034                                output device.
11035    </p>
11036    </blockquote><p>
11037                        
11038    </p>
11039    <p>Examples:
11040    </p>
11041    <p>
11042                            </p>
11043    <blockquote class="text">
11044    <p>C: "GET SEND_EFFECT_CHAINS 0"
11045    </p>
11046    <p>S: "4"
11047    </p>
11048    </blockquote><p>
11049                        
11050    </p>
11051    <a name="LIST SEND_EFFECT_CHAINS"></a><br /><hr />
11052    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11053    <a name="rfc.section.6.11.13"></a><h3>6.11.13.&nbsp;
11054    Retrieve list of send effect chains</h3>
11055    
11056    <p>The front-end can retrieve the current list of send
11057                        effect chains of an audio output device by sending the
11058                        following command:
11059    </p>
11060    <p>
11061                            </p>
11062    <blockquote class="text">
11063    <p>LIST SEND_EFFECT_CHAINS &lt;audio-device&gt;
11064    </p>
11065    </blockquote><p>
11066                        
11067    </p>
11068    <p>Where &lt;audio-device&gt; should be replaced by the
11069                        numerical ID of the audio output device as given by the
11070                        <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>
11071                        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>
11072                        command.
11073    </p>
11074    <p>Possible Answers:
11075    </p>
11076    <p>
11077                            </p>
11078    <blockquote class="text">
11079    <p>The sampler will answer by returning a comma
11080                                separated list with numerical IDs of send effect
11081                                chains of the supplied audio output device.
11082                                
11083    </p>
11084    </blockquote><p>
11085                        
11086    </p>
11087    <p>Examples:
11088    </p>
11089    <p>
11090                            </p>
11091    <blockquote class="text">
11092    <p>C: "LIST SEND_EFFECT_CHAINS 0"
11093    </p>
11094    <p>S: "3,4,7"
11095    </p>
11096    </blockquote><p>
11097                        
11098    </p>
11099    <a name="ADD SEND_EFFECT_CHAIN"></a><br /><hr />
11100    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11101    <a name="rfc.section.6.11.14"></a><h3>6.11.14.&nbsp;
11102    Add send effect chain</h3>
11103    
11104    <p>The front-end can add a send effect chain by sending the
11105                        following command:
11106    </p>
11107    <p>
11108                            </p>
11109    <blockquote class="text">
11110    <p>ADD SEND_EFFECT_CHAIN &lt;audio-device&gt;
11111    </p>
11112    </blockquote><p>
11113                        
11114    </p>
11115    <p>Where &lt;audio-device&gt; should be replaced by the
11116                        numerical ID of the audio output device as given by the
11117                        <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>
11118                        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>
11119                        command.
11120    </p>
11121    <p>Possible Answers:
11122    </p>
11123    <p>
11124                            </p>
11125    <blockquote class="text">
11126    <p>"OK[&lt;effect-chain&gt;]" -
11127                                    </p>
11128    <blockquote class="text">
11129    <p>in case the send effect chain was
11130                                        added successfully, where
11131                                        &lt;effect-chain&gt; is the numerical ID
11132                                        of the new send effect chain
11133    </p>
11134    </blockquote>
11135                                
11136    
11137    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11138                                    </p>
11139    <blockquote class="text">
11140    <p>if the send effect chain could not be added
11141    </p>
11142    </blockquote>
11143                                
11144    
11145    </blockquote><p>
11146                        
11147    </p>
11148    <p>Examples:
11149    </p>
11150    <p>
11151                            </p>
11152    <blockquote class="text">
11153    <p>C: "ADD SEND_EFFECT_CHAIN 0"
11154    </p>
11155    <p>S: "OK[2]"
11156    </p>
11157    </blockquote><p>
11158                        
11159    </p>
11160    <a name="REMOVE SEND_EFFECT_CHAIN"></a><br /><hr />
11161    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11162    <a name="rfc.section.6.11.15"></a><h3>6.11.15.&nbsp;
11163    Remove send effect chain</h3>
11164    
11165    <p>The front-end can remove a send effect chain by sending
11166                        the following command:
11167    </p>
11168    <p>
11169                            </p>
11170    <blockquote class="text">
11171    <p>REMOVE SEND_EFFECT_CHAIN &lt;audio-device&gt; &lt;effect-chain&gt;
11172    </p>
11173    </blockquote><p>
11174                        
11175    </p>
11176    <p>Where &lt;audio-device&gt; should be replaced by the
11177                        numerical ID of the audio output device as given by the
11178                        <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>
11179                        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>
11180                        command and &lt;effect-chain&gt; by the numerical ID as
11181                        returned by the
11182                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11183                        or
11184                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11185                        command.
11186    </p>
11187    <p>Possible Answers:
11188    </p>
11189    <p>
11190                            </p>
11191    <blockquote class="text">
11192    <p>"OK" -
11193                                    </p>
11194    <blockquote class="text">
11195    <p>in case the send effect chain was
11196                                        removed successfully
11197    </p>
11198    </blockquote>
11199                                
11200    
11201    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11202                                    </p>
11203    <blockquote class="text">
11204    <p>if the send effect chain could not be removed
11205    </p>
11206    </blockquote>
11207                                
11208    
11209    </blockquote><p>
11210                        
11211    </p>
11212    <p>Examples:
11213    </p>
11214    <p>
11215                            </p>
11216    <blockquote class="text">
11217    <p>C: "REMOVE SEND_EFFECT_CHAIN 0 2"
11218    </p>
11219    <p>S: "OK"
11220    </p>
11221    </blockquote><p>
11222                        
11223    </p>
11224    <a name="GET SEND_EFFECT_CHAIN INFO"></a><br /><hr />
11225    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11226    <a name="rfc.section.6.11.16"></a><h3>6.11.16.&nbsp;
11227    Retrieving information about a send effect chain</h3>
11228    
11229    <p>The front-end can ask for informations of a send effect
11230                        chain by sending the following command:
11231    </p>
11232    <p>
11233                            </p>
11234    <blockquote class="text">
11235    <p>GET SEND_EFFECT_CHAIN INFO &lt;audio-device&gt; &lt;effect-chain&gt;
11236    </p>
11237    </blockquote><p>
11238                        
11239    </p>
11240    <p>Where &lt;audio-device&gt; should be replaced by the
11241                        numerical ID of the audio output device as given by the
11242                        <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>
11243                        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>
11244                        command and &lt;effect-chain&gt; by the numerical ID as
11245                        returned by the
11246                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11247                        or
11248                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11249                        command.
11250    </p>
11251    <p>Possible Answers:
11252    </p>
11253    <p>
11254                            </p>
11255    <blockquote class="text">
11256    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
11257                                Each answer line begins with the information
11258                                category name, followed by a colon and then a space
11259                                character &lt;SP&gt; and finally the info character
11260                                string to that information category.
11261                                At the moment the following categories are defined:
11262    </p>
11263    <p>
11264                                    </p>
11265    <blockquote class="text">
11266    <p>EFFECT_COUNT -
11267                                            </p>
11268    <blockquote class="text">
11269    <p>amount of effects in this send
11270                                                effect chain
11271    </p>
11272    </blockquote>
11273                                        
11274    
11275    <p>EFFECT_SEQUENCE -
11276                                            </p>
11277    <blockquote class="text">
11278    <p>comma separated list of the
11279                                                numerical IDs of the effect
11280                                                instances in this send effect chain,
11281                                                in the order as they are procssed in
11282                                                the effect chain
11283    </p>
11284    </blockquote>
11285                                        
11286    
11287    </blockquote>
11288                                
11289    
11290    </blockquote><p>
11291                        
11292    </p>
11293    <p>The mentioned fields above don't have to be in particular order.
11294    </p>
11295    <p>Example:
11296    </p>
11297    <p>
11298                            </p>
11299    <blockquote class="text">
11300    <p>C: "GET SEND_EFFECT_CHAIN INFO 0 2"
11301    </p>
11302    <p>S: "EFFECT_COUNT: 3"
11303    </p>
11304    <p>&nbsp;&nbsp;&nbsp;"EFFECT_SEQUENCE: 31,4,7"
11305    </p>
11306    <p>&nbsp;&nbsp;&nbsp;"."
11307    </p>
11308    </blockquote><p>
11309                        
11310    </p>
11311    <a name="APPEND SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11312    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11313    <a name="rfc.section.6.11.17"></a><h3>6.11.17.&nbsp;
11314    Append effect instance to a send effect chain</h3>
11315    
11316    <p>The front-end can add an unused effect instance to the
11317                        end of a send effect chain by sending the following command:
11318    </p>
11319    <p>
11320                            </p>
11321    <blockquote class="text">
11322    <p>APPEND SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;effect-instance&gt;
11323    </p>
11324    </blockquote><p>
11325                        
11326    </p>
11327    <p>Where &lt;audio-device&gt; should be replaced by the
11328                        numerical ID of the audio output device as given by the
11329                        <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>
11330                        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>
11331                        command and &lt;effect-chain&gt; by the numerical ID as
11332                        returned by the
11333                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11334                        or
11335                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11336                        command and &lt;effect-instance&gt; as returned by the
11337                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
11338                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11339                        command.
11340    </p>
11341    <p>Only unused effect instances can be added to the effect
11342                        chain. Trying to add an effect instance which is already in
11343                        use somewhere in the audio signal path of the sampler will
11344                        result in an error.
11345    </p>
11346    <p>Possible Answers:
11347    </p>
11348    <p>
11349                            </p>
11350    <blockquote class="text">
11351    <p>"OK" -
11352                                    </p>
11353    <blockquote class="text">
11354    <p>in case the effect instance was
11355                                        added successfully to the chain
11356    </p>
11357    </blockquote>
11358                                
11359    
11360    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11361                                    </p>
11362    <blockquote class="text">
11363    <p>if the effect instance could not be added
11364    </p>
11365    </blockquote>
11366                                
11367    
11368    </blockquote><p>
11369                        
11370    </p>
11371    <p>Examples:
11372    </p>
11373    <p>
11374                            </p>
11375    <blockquote class="text">
11376    <p>C: "APPEND SEND_EFFECT_CHAIN EFFECT 0 2 38"
11377    </p>
11378    <p>S: "OK"
11379    </p>
11380    </blockquote><p>
11381                        
11382    </p>
11383    <a name="INSERT SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11384    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11385    <a name="rfc.section.6.11.18"></a><h3>6.11.18.&nbsp;
11386    Insert effect instance to a send effect chain</h3>
11387    
11388    <p>The front-end can add an unused effect instance to a
11389                        certain position of a send effect chain by sending the
11390                        following command:
11391    </p>
11392    <p>
11393                            </p>
11394    <blockquote class="text">
11395    <p>INSERT SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt; &lt;effect-instance&gt;
11396    </p>
11397    </blockquote><p>
11398                        
11399    </p>
11400    <p>Where &lt;audio-device&gt; should be replaced by the
11401                        numerical ID of the audio output device as given by the
11402                        <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>
11403                        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>
11404                        command, &lt;effect-chain&gt; by the numerical ID as
11405                        returned by the
11406                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11407                        or
11408                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11409                        command, &lt;effect-instance&gt; as returned by the
11410                        <a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a> or
11411                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11412                        command and &lt;chain-pos&gt; the exact position of the
11413                        effect chain where the supplied effect shall be inserted
11414                        to.
11415    </p>
11416    <p>Only unused effect instances can be added to the effect
11417                        chain. Trying to add an effect instance which is already in
11418                        use somewhere in the audio signal path of the sampler will
11419                        result in an error.
11420    </p>
11421    <p>Possible Answers:
11422    </p>
11423    <p>
11424                            </p>
11425    <blockquote class="text">
11426    <p>"OK" -
11427                                    </p>
11428    <blockquote class="text">
11429    <p>in case the effect instance was
11430                                        added successfully to the chain
11431    </p>
11432    </blockquote>
11433                                
11434    
11435    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11436                                    </p>
11437    <blockquote class="text">
11438    <p>if the effect instance could not be added
11439    </p>
11440    </blockquote>
11441                                
11442    
11443    </blockquote><p>
11444                        
11445    </p>
11446    <p>Examples:
11447    </p>
11448    <p>
11449                            </p>
11450    <blockquote class="text">
11451    <p>C: "INSERT SEND_EFFECT_CHAIN EFFECT 0 2 4 38"
11452    </p>
11453    <p>S: "OK"
11454    </p>
11455    </blockquote><p>
11456                        
11457    </p>
11458    <a name="REMOVE SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11459    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11460    <a name="rfc.section.6.11.19"></a><h3>6.11.19.&nbsp;
11461    Remove effect instance from send effect chain</h3>
11462    
11463    <p>The front-end can remove an effect instance from a
11464                        certain position of a send effect chain by sending the
11465                        following command:
11466    </p>
11467    <p>
11468                            </p>
11469    <blockquote class="text">
11470    <p>REMOVE SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;
11471    </p>
11472    </blockquote><p>
11473                        
11474    </p>
11475    <p>Where &lt;audio-device&gt; should be replaced by the
11476                        numerical ID of the audio output device as given by the
11477                        <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>
11478                        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>
11479                        command, &lt;effect-chain&gt; by the numerical ID as
11480                        returned by the
11481                        <a class='info' href='#ADD SEND_EFFECT_CHAIN'>"ADD SEND_EFFECT_CHAIN"<span> (</span><span class='info'>Add send effect chain</span><span>)</span></a>
11482                        or
11483                        <a class='info' href='#LIST SEND_EFFECT_CHAINS'>"LIST SEND_EFFECT_CHAINS"<span> (</span><span class='info'>Retrieve list of send effect chains</span><span>)</span></a>
11484                        command and &lt;chain-pos&gt; the exact position of the
11485                        effect instance to be removed from the effect chain.
11486    </p>
11487    <p>Possible Answers:
11488    </p>
11489    <p>
11490                            </p>
11491    <blockquote class="text">
11492    <p>"OK" -
11493                                    </p>
11494    <blockquote class="text">
11495    <p>in case the effect instance was
11496                                        removed successfully
11497    </p>
11498    </blockquote>
11499                                
11500    
11501    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11502                                    </p>
11503    <blockquote class="text">
11504    <p>if the effect instance could not be removed
11505    </p>
11506    </blockquote>
11507                                
11508    
11509    </blockquote><p>
11510                        
11511    </p>
11512    <p>Examples:
11513    </p>
11514    <p>
11515                            </p>
11516    <blockquote class="text">
11517    <p>C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"
11518    </p>
11519    <p>S: "OK"
11520    </p>
11521    </blockquote><p>
11522                        
11523    </p>
11524  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
11525  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11526  <a name="rfc.section.7"></a><h3>7.&nbsp;  <a name="rfc.section.7"></a><h3>7.&nbsp;
# Line 7180  Command Syntax</h3> Line 11621  Command Syntax</h3>
11621  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
11622                                    
11623  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
11624  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
11625                                    
11626  </p>  </p>
11627  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
11628                                    
11629  </p>  </p>
11630    <p>/ FIND SP find_instruction
11631                    
11632    </p>
11633    <p>/ MOVE SP move_instruction
11634                    
11635    </p>
11636    <p>/ COPY SP copy_instruction
11637                    
11638    </p>
11639    <p>/ EDIT SP edit_instruction
11640                    
11641    </p>
11642    <p>/ FORMAT SP format_instruction
11643                    
11644    </p>
11645    <p>/ SEND SP send_instruction
11646                    
11647    </p>
11648    <p>/ APPEND SP append_instruction
11649                    
11650    </p>
11651    <p>/ INSERT SP insert_instruction
11652                    
11653    </p>
11654  <p>/ RESET  <p>/ RESET
11655                                    
11656  </p>  </p>
# Line 7204  Command Syntax</h3> Line 11666  Command Syntax</h3>
11666  <p>CHANNEL  <p>CHANNEL
11667                                    
11668  </p>  </p>
11669    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11670                    
11671    </p>
11672    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
11673                    
11674    </p>
11675    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11676                    
11677    </p>
11678    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
11679                    
11680    </p>
11681    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11682                    
11683    </p>
11684    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
11685                    
11686    </p>
11687    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
11688                    
11689    </p>
11690    <p>/ DB_INSTRUMENTS SP db_path SP filename
11691                    
11692    </p>
11693    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
11694                    
11695    </p>
11696  <p>/ MIDI_INSTRUMENT_MAP  <p>/ MIDI_INSTRUMENT_MAP
11697                                    
11698  </p>  </p>
11699  <p>/ MIDI_INSTRUMENT_MAP SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP map_name
11700                                    
11701  </p>  </p>
11702    <p>/ SEND_EFFECT_CHAIN SP device_index
11703                    
11704    </p>
11705  </blockquote><p>  </blockquote><p>
11706    
11707  </p>  </p>
# Line 7231  Command Syntax</h3> Line 11723  Command Syntax</h3>
11723  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
11724                                    
11725  </p>  </p>
11726    <p>/ CHANNEL_MIDI
11727                    
11728    </p>
11729    <p>/ DEVICE_MIDI
11730                    
11731    </p>
11732  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
11733                                    
11734  </p>  </p>
# Line 7243  Command Syntax</h3> Line 11741  Command Syntax</h3>
11741  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11742                                    
11743  </p>  </p>
11744    <p>/ FX_SEND_COUNT
11745                    
11746    </p>
11747    <p>/ FX_SEND_INFO
11748                    
11749    </p>
11750  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
11751                                    
11752  </p>  </p>
# Line 7255  Command Syntax</h3> Line 11759  Command Syntax</h3>
11759  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
11760                                    
11761  </p>  </p>
11762    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11763                    
11764    </p>
11765    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11766                    
11767    </p>
11768    <p>/ DB_INSTRUMENT_COUNT
11769                    
11770    </p>
11771    <p>/ DB_INSTRUMENT_INFO
11772                    
11773    </p>
11774    <p>/ DB_INSTRUMENTS_JOB_INFO
11775                    
11776    </p>
11777  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11778                                    
11779  </p>  </p>
11780    <p>/ TOTAL_STREAM_COUNT
11781                    
11782    </p>
11783  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
11784                                    
11785  </p>  </p>
11786    <p>/ GLOBAL_INFO
11787                    
11788    </p>
11789  </blockquote><p>  </blockquote><p>
11790    
11791  </p>  </p>
# Line 7282  Command Syntax</h3> Line 11807  Command Syntax</h3>
11807  <p>/ CHANNEL_COUNT  <p>/ CHANNEL_COUNT
11808                                    
11809  </p>  </p>
11810    <p>/ CHANNEL_MIDI
11811                    
11812    </p>
11813    <p>/ DEVICE_MIDI
11814                    
11815    </p>
11816  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
11817                                    
11818  </p>  </p>
# Line 7294  Command Syntax</h3> Line 11825  Command Syntax</h3>
11825  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11826                                    
11827  </p>  </p>
11828    <p>/ FX_SEND_COUNT
11829                    
11830    </p>
11831    <p>/ FX_SEND_INFO
11832                    
11833    </p>
11834  <p>/ MIDI_INSTRUMENT_MAP_COUNT  <p>/ MIDI_INSTRUMENT_MAP_COUNT
11835                                    
11836  </p>  </p>
# Line 7306  Command Syntax</h3> Line 11843  Command Syntax</h3>
11843  <p>/ MIDI_INSTRUMENT_INFO  <p>/ MIDI_INSTRUMENT_INFO
11844                                    
11845  </p>  </p>
11846    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11847                    
11848    </p>
11849    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11850                    
11851    </p>
11852    <p>/ DB_INSTRUMENT_COUNT
11853                    
11854    </p>
11855    <p>/ DB_INSTRUMENT_INFO
11856                    
11857    </p>
11858    <p>/ DB_INSTRUMENTS_JOB_INFO
11859                    
11860    </p>
11861  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11862                                    
11863  </p>  </p>
11864    <p>/ TOTAL_STREAM_COUNT
11865                    
11866    </p>
11867  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
11868                                    
11869  </p>  </p>
11870    <p>/ GLOBAL_INFO
11871                    
11872    </p>
11873  </blockquote><p>  </blockquote><p>
11874    
11875  </p>  </p>
11876  <p>map_instruction =  <p>map_instruction =
11877          </p>          </p>
11878  <blockquote class="text">  <blockquote class="text">
11879  <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value  <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
11880                                    
11881  </p>  </p>
11882  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode  <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
11883                                    
11884  </p>  </p>
11885  <p>/ MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name  <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
11886                                    
11887  </p>  </p>
11888  <p>/ MIDI_INSTRUMENT SP 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  <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
11889                                    
11890  </p>  </p>
11891  </blockquote><p>  </blockquote><p>
# Line 7354  Command Syntax</h3> Line 11912  Command Syntax</h3>
11912  <p>/ MIDI_INSTRUMENT_MAP SP ALL  <p>/ MIDI_INSTRUMENT_MAP SP ALL
11913                                    
11914  </p>  </p>
11915    <p>/ SEND_EFFECT_CHAIN SP device_index SP effect_chain
11916                    
11917    </p>
11918    <p>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos
11919                    
11920    </p>
11921    <p>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id
11922                    
11923    </p>
11924    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
11925                    
11926    </p>
11927    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11928                    
11929    </p>
11930    <p>/ DB_INSTRUMENT SP db_path
11931                    
11932    </p>
11933  </blockquote><p>  </blockquote><p>
11934    
11935  </p>  </p>
# Line 7363  Command Syntax</h3> Line 11939  Command Syntax</h3>
11939  <p>AVAILABLE_ENGINES  <p>AVAILABLE_ENGINES
11940                                    
11941  </p>  </p>
11942    <p>/ AVAILABLE_EFFECTS
11943                    
11944    </p>
11945    <p>/ EFFECT_INSTANCES
11946                    
11947    </p>
11948    <p>/ EFFECT SP INFO SP effect_index
11949                    
11950    </p>
11951    <p>/ EFFECT_INSTANCE SP INFO SP effect_instance
11952                    
11953    </p>
11954    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP INFO SP effect_instance SP input_control
11955                    
11956    </p>
11957    <p>/ SEND_EFFECT_CHAINS SP device_index
11958                    
11959    </p>
11960    <p>/ SEND_EFFECT_CHAIN SP INFO SP device_index SP effect_chain
11961                    
11962    </p>
11963  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
11964                                    
11965  </p>  </p>
# Line 7432  Command Syntax</h3> Line 12029  Command Syntax</h3>
12029  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
12030                                    
12031  </p>  </p>
12032    <p>/ TOTAL_STREAM_COUNT
12033                    
12034    </p>
12035  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
12036                                    
12037  </p>  </p>
# Line 7459  Command Syntax</h3> Line 12059  Command Syntax</h3>
12059  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
12060                                    
12061  </p>  </p>
12062    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12063                    
12064    </p>
12065    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12066                    
12067    </p>
12068    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
12069                    
12070    </p>
12071    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12072                    
12073    </p>
12074    <p>/ DB_INSTRUMENTS SP db_path
12075                    
12076    </p>
12077    <p>/ DB_INSTRUMENT SP INFO SP db_path
12078                    
12079    </p>
12080    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
12081                    
12082    </p>
12083  <p>/ VOLUME  <p>/ VOLUME
12084                                    
12085  </p>  </p>
12086    <p>/ VOICES
12087                    
12088    </p>
12089    <p>/ STREAMS
12090                    
12091    </p>
12092    <p>/ FILE SP INSTRUMENTS SP filename
12093                    
12094    </p>
12095    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
12096                    
12097    </p>
12098  </blockquote><p>  </blockquote><p>
12099    
12100  </p>  </p>
# Line 7477  Command Syntax</h3> Line 12110  Command Syntax</h3>
12110  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
12111                                    
12112  </p>  </p>
12113    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
12114                    
12115    </p>
12116  <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
12117                                    
12118  </p>  </p>
12119    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP input_control SP control_value
12120                    
12121    </p>
12122  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
12123                                    
12124  </p>  </p>
12125  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name  <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
12126                                    
12127  </p>  </p>
12128    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
12129                    
12130    </p>
12131  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index  <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
12132                                    
12133  </p>  </p>
# Line 7495  Command Syntax</h3> Line 12137  Command Syntax</h3>
12137  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value  <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
12138                                    
12139  </p>  </p>
12140    <p>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos
12141                    
12142    </p>
12143    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
12144                    
12145    </p>
12146    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
12147                    
12148    </p>
12149    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
12150                    
12151    </p>
12152    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
12153                    
12154    </p>
12155    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
12156                    
12157    </p>
12158  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
12159                                    
12160  </p>  </p>
12161  <p>/ VOLUME SP volume_value  <p>/ VOLUME SP volume_value
12162                                    
12163  </p>  </p>
12164    <p>/ VOICES SP number
12165                    
12166    </p>
12167    <p>/ STREAMS SP number
12168                    
12169    </p>
12170  </blockquote><p>  </blockquote><p>
12171    
12172  </p>  </p>
# Line 7525  Command Syntax</h3> Line 12191  Command Syntax</h3>
12191  <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name  <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
12192                                    
12193  </p>  </p>
12194    <p>/ EFFECT_INSTANCE SP effect_index
12195                    
12196    </p>
12197    <p>/ EFFECT_INSTANCE SP effect_system SP module SP effect_name
12198                    
12199    </p>
12200  </blockquote><p>  </blockquote><p>
12201    
12202  </p>  </p>
# Line 7549  Command Syntax</h3> Line 12221  Command Syntax</h3>
12221  </blockquote><p>  </blockquote><p>
12222    
12223  </p>  </p>
12224    <p>find_instruction =
12225            </p>
12226    <blockquote class="text">
12227    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
12228                    
12229    </p>
12230    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
12231                    
12232    </p>
12233    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
12234                    
12235    </p>
12236    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
12237                    
12238    </p>
12239    <p>/ LOST SP DB_INSTRUMENT_FILES
12240                    
12241    </p>
12242    </blockquote><p>
12243    
12244    </p>
12245    <p>move_instruction =
12246            </p>
12247    <blockquote class="text">
12248    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12249                    
12250    </p>
12251    <p>/ DB_INSTRUMENT SP db_path SP db_path
12252                    
12253    </p>
12254    </blockquote><p>
12255    
12256    </p>
12257    <p>copy_instruction =
12258            </p>
12259    <blockquote class="text">
12260    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12261                    
12262    </p>
12263    <p>/ DB_INSTRUMENT SP db_path SP db_path
12264                    
12265    </p>
12266    </blockquote><p>
12267    
12268    </p>
12269  <p>destroy_instruction =  <p>destroy_instruction =
12270          </p>          </p>
12271  <blockquote class="text">  <blockquote class="text">
# Line 7561  Command Syntax</h3> Line 12278  Command Syntax</h3>
12278  <p>/ FX_SEND SP sampler_channel SP fx_send_id  <p>/ FX_SEND SP sampler_channel SP fx_send_id
12279                                    
12280  </p>  </p>
12281    <p>/ EFFECT_INSTANCE SP number
12282                    
12283    </p>
12284  </blockquote><p>  </blockquote><p>
12285    
12286  </p>  </p>
# Line 7576  Command Syntax</h3> Line 12296  Command Syntax</h3>
12296  </blockquote><p>  </blockquote><p>
12297    
12298  </p>  </p>
12299    <p>append_instruction =
12300            </p>
12301    <blockquote class="text">
12302    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP effect_instance
12303                    
12304    </p>
12305    </blockquote><p>
12306    
12307    </p>
12308    <p>insert_instruction =
12309            </p>
12310    <blockquote class="text">
12311    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos SP effect_instance
12312                    
12313    </p>
12314    </blockquote><p>
12315    
12316    </p>
12317  <p>set_chan_instruction =  <p>set_chan_instruction =
12318          </p>          </p>
12319  <blockquote class="text">  <blockquote class="text">
# Line 7624  Command Syntax</h3> Line 12362  Command Syntax</h3>
12362  </blockquote><p>  </blockquote><p>
12363    
12364  </p>  </p>
12365    <p>edit_instruction =
12366            </p>
12367    <blockquote class="text">
12368    <p>CHANNEL SP INSTRUMENT SP sampler_channel
12369                    
12370    </p>
12371    </blockquote><p>
12372    
12373    </p>
12374    <p>format_instruction =
12375            </p>
12376    <blockquote class="text">
12377    <p>INSTRUMENTS_DB
12378                    
12379    </p>
12380    </blockquote><p>
12381    
12382    </p>
12383    <p>modal_arg =
12384            </p>
12385    <blockquote class="text">
12386    <p>/* epsilon (empty argument) */
12387                    
12388    </p>
12389    <p>/ NON_MODAL SP
12390                    
12391    </p>
12392    </blockquote><p>
12393    
12394    </p>
12395  <p>key_val_list =  <p>key_val_list =
12396          </p>          </p>
12397  <blockquote class="text">  <blockquote class="text">
# Line 7663  Command Syntax</h3> Line 12431  Command Syntax</h3>
12431  <p>/ AVAILABLE_ENGINES  <p>/ AVAILABLE_ENGINES
12432                                    
12433  </p>  </p>
12434    <p>/ AVAILABLE_EFFECTS
12435                    
12436    </p>
12437    <p>/ EFFECT_INSTANCES
12438                    
12439    </p>
12440    <p>/ SEND_EFFECT_CHAINS SP number
12441                    
12442    </p>
12443  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
12444                                    
12445  </p>  </p>
# Line 7681  Command Syntax</h3> Line 12458  Command Syntax</h3>
12458  <p>/ FX_SENDS SP sampler_channel  <p>/ FX_SENDS SP sampler_channel
12459                                    
12460  </p>  </p>
12461    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12462                    
12463    </p>
12464    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12465                    
12466    </p>
12467    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12468                    
12469    </p>
12470    <p>/ DB_INSTRUMENTS SP db_path
12471                    
12472    </p>
12473    <p>/ FILE SP INSTRUMENTS SP filename
12474                    
12475    </p>
12476    </blockquote><p>
12477    
12478    </p>
12479    <p>send_instruction =
12480            </p>
12481    <blockquote class="text">
12482    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
12483                    
12484    </p>
12485  </blockquote><p>  </blockquote><p>
12486    
12487  </p>  </p>
# Line 7720  Command Syntax</h3> Line 12521  Command Syntax</h3>
12521  </blockquote><p>  </blockquote><p>
12522    
12523  </p>  </p>
12524    <p>effect_instance =
12525            </p>
12526    <blockquote class="text">
12527    <p>number
12528                    
12529    </p>
12530    </blockquote><p>
12531    
12532    </p>
12533  <p>device_index =  <p>device_index =
12534          </p>          </p>
12535  <blockquote class="text">  <blockquote class="text">
# Line 7825  Command Syntax</h3> Line 12635  Command Syntax</h3>
12635  </blockquote><p>  </blockquote><p>
12636    
12637  </p>  </p>
12638    <p>control_value =
12639            </p>
12640    <blockquote class="text">
12641    <p>real
12642                    
12643    </p>
12644    </blockquote><p>
12645    
12646    </p>
12647  <p>sampler_channel =  <p>sampler_channel =
12648          </p>          </p>
12649  <blockquote class="text">  <blockquote class="text">
# Line 7864  Command Syntax</h3> Line 12683  Command Syntax</h3>
12683  <p>filename =  <p>filename =
12684          </p>          </p>
12685  <blockquote class="text">  <blockquote class="text">
12686  <p>stringval  <p>path
12687                    
12688    </p>
12689    </blockquote><p>
12690    
12691    </p>
12692    <p>db_path =
12693            </p>
12694    <blockquote class="text">
12695    <p>path
12696                                    
12697  </p>  </p>
12698  </blockquote><p>  </blockquote><p>
# Line 7873  Command Syntax</h3> Line 12701  Command Syntax</h3>
12701  <p>map_name =  <p>map_name =
12702          </p>          </p>
12703  <blockquote class="text">  <blockquote class="text">
12704  <p>stringval  <p>stringval_escaped
12705                                    
12706  </p>  </p>
12707  </blockquote><p>  </blockquote><p>
# Line 7882  Command Syntax</h3> Line 12710  Command Syntax</h3>
12710  <p>entry_name =  <p>entry_name =
12711          </p>          </p>
12712  <blockquote class="text">  <blockquote class="text">
12713  <p>stringval  <p>stringval_escaped
12714                                    
12715  </p>  </p>
12716  </blockquote><p>  </blockquote><p>
# Line 7891  Command Syntax</h3> Line 12719  Command Syntax</h3>
12719  <p>fx_send_name =  <p>fx_send_name =
12720          </p>          </p>
12721  <blockquote class="text">  <blockquote class="text">
12722  <p>stringval  <p>stringval_escaped
12723                    
12724    </p>
12725    </blockquote><p>
12726    
12727    </p>
12728    <p>effect_name =
12729            </p>
12730    <blockquote class="text">
12731    <p>stringval_escaped
12732                    
12733    </p>
12734    </blockquote><p>
12735    
12736    </p>
12737    <p>effect_index =
12738            </p>
12739    <blockquote class="text">
12740    <p>number
12741                    
12742    </p>
12743    </blockquote><p>
12744    
12745    </p>
12746    <p>effect_chain =
12747            </p>
12748    <blockquote class="text">
12749    <p>number
12750                    
12751    </p>
12752    </blockquote><p>
12753    
12754    </p>
12755    <p>chain_pos =
12756            </p>
12757    <blockquote class="text">
12758    <p>number
12759                    
12760    </p>
12761    </blockquote><p>
12762    
12763    </p>
12764    <p>input_control =
12765            </p>
12766    <blockquote class="text">
12767    <p>number
12768                                    
12769  </p>  </p>
12770  </blockquote><p>  </blockquote><p>
# Line 7927  Command Syntax</h3> Line 12800  Command Syntax</h3>
12800  </blockquote><p>  </blockquote><p>
12801    
12802  </p>  </p>
12803    <p>query_val_list =
12804            </p>
12805    <blockquote class="text">
12806    <p>string '=' query_val
12807                    
12808    </p>
12809    <p>/ query_val_list SP string '=' query_val
12810                    
12811    </p>
12812    </blockquote><p>
12813    
12814    </p>
12815    <p>query_val =
12816            </p>
12817    <blockquote class="text">
12818    <p>text_escaped
12819                    
12820    </p>
12821    <p>/ stringval_escaped
12822                    
12823    </p>
12824    </blockquote><p>
12825    
12826    </p>
12827    <p>scan_mode =
12828            </p>
12829    <blockquote class="text">
12830    <p>RECURSIVE
12831                    
12832    </p>
12833    <p>/ NON_RECURSIVE
12834                    
12835    </p>
12836    <p>/ FLAT
12837                    
12838    </p>
12839    </blockquote><p>
12840    
12841    </p>
12842    <p>effect_system =
12843            </p>
12844    <blockquote class="text">
12845    <p>string
12846                    
12847    </p>
12848    </blockquote><p>
12849    
12850    </p>
12851    <p>module =
12852            </p>
12853    <blockquote class="text">
12854    <p>filename
12855                    
12856    </p>
12857    </blockquote><p>
12858    
12859    </p>
12860    <a name="character_set"></a><br /><hr />
12861    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12862    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
12863    Character Set and Escape Sequences</h3>
12864    
12865    <p>Older versions of this protocol up to and including v1.1 only
12866                    supported the standard ASCII character set (ASCII code 0 - 127)
12867                    <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
12868                    however support the Extended ASCII character set (ASCII code
12869                    0 - 255). The same group of younger protocols also support
12870                    escape sequences, but only for certain, explicitly declared
12871                    parts of the protocol. The supported escape sequences are
12872                    defined as follows:
12873    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
12874    <col align="left"><col align="left">
12875    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
12876    <tr>
12877    <td align="left">\n</td>
12878    <td align="left">new line</td>
12879    </tr>
12880    <tr>
12881    <td align="left">\r</td>
12882    <td align="left">carriage return</td>
12883    </tr>
12884    <tr>
12885    <td align="left">\f</td>
12886    <td align="left">form feed</td>
12887    </tr>
12888    <tr>
12889    <td align="left">\t</td>
12890    <td align="left">horizontal tab</td>
12891    </tr>
12892    <tr>
12893    <td align="left">\v</td>
12894    <td align="left">vertical tab</td>
12895    </tr>
12896    <tr>
12897    <td align="left">\'</td>
12898    <td align="left">apostrophe</td>
12899    </tr>
12900    <tr>
12901    <td align="left">\"</td>
12902    <td align="left">quotation mark</td>
12903    </tr>
12904    <tr>
12905    <td align="left">\\</td>
12906    <td align="left">backslash</td>
12907    </tr>
12908    <tr>
12909    <td align="left">\OOO</td>
12910    <td align="left">three digit octal ASCII code of the character</td>
12911    </tr>
12912    <tr>
12913    <td align="left">\xHH</td>
12914    <td align="left">two digit hex ASCII code of the character</td>
12915    </tr>
12916    </table>
12917    <br clear="all" />
12918    
12919    <p>Notice: due to the transition of certain parts of the
12920                    protocol which now support escape sequences, a slight backward
12921                    incompatibility to protocols version v1.1 and younger has been
12922                    introduced. The only difference is that in parts of the protocol
12923                    where escape characters are now supported, a backslash characters
12924                    MUST be escaped as well (that is as double backslash), whereas
12925                    in the old versions a single backslash was sufficient.
12926    </p>
12927    <p>The following LSCP commands support escape sequences as part
12928                    of their filename / path based arguments and / or may contain
12929                    a filename / path with escape sequences in their response:
12930                    </p>
12931    <blockquote class="text">
12932    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
12933    </p>
12934    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
12935    </p>
12936    <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>
12937    </p>
12938    <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>
12939    </p>
12940    <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>
12941    </p>
12942    <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>
12943    </p>
12944    <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>
12945    </p>
12946    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
12947    </p>
12948    <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>
12949    </p>
12950    <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>
12951    </p>
12952    <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>
12953    </p>
12954    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
12955    </p>
12956    <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>
12957    </p>
12958    <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>
12959    </p>
12960    <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>
12961    </p>
12962    <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>
12963    </p>
12964    <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>
12965    </p>
12966    <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>
12967    </p>
12968    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
12969    </p>
12970    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
12971    </p>
12972    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
12973    </p>
12974    <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>
12975    </p>
12976    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
12977    </p>
12978    <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>
12979    </p>
12980    <p><a class='info' href='#FIND LOST DB_INSTRUMENT_FILES'>"FIND LOST DB_INSTRUMENT_FILES"<span> (</span><span class='info'>Checking for lost instrument files</span><span>)</span></a>
12981    </p>
12982    <p><a class='info' href='#SET DB_INSTRUMENT FILE_PATH'>"SET DB_INSTRUMENT FILE_PATH"<span> (</span><span class='info'>Replacing an instrument file</span><span>)</span></a>
12983    </p>
12984    <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>
12985    </p>
12986    <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>
12987    </p>
12988    <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>
12989    </p>
12990    <p><a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
12991    </p>
12992    <p><a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
12993    </p>
12994    <p><a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
12995    </p>
12996    </blockquote><p>
12997                    Note that the forward slash character ('/') has a special meaning in
12998                    filename / path based arguments: it acts as separator of the nodes in
12999                    the path, thus if a directory- or filename includes a forward slash
13000                    (not intended as path node separator), you MUST escape that slash
13001                    either with the respective hex escape sequence ("\x2f") or with the
13002                    respective octal escape sequence ("\057").
13003                    
13004    </p>
13005    <p>
13006                    Note for Windows: file path arguments in LSCP are expected
13007                    to use forward slashes as directory node separator similar
13008                    to Unix based operating systems. In contrast to Unix however
13009                    a Windows typical drive character is expected to be
13010                    prefixed to the path. That is an original Windows file path
13011                    like "D:\Sounds\My.gig" would become in LSCP:
13012                    "D:/Sounds/My.gig".
13013                    
13014    </p>
13015    <p>
13016                    The following LSCP commands even support escape sequences as
13017                    part of at least one of their text-based arguments (i.e. entity name,
13018                    description) and / or may contain escape sequences in at least one of
13019                    their text-based fields in their response:
13020                    </p>
13021    <blockquote class="text">
13022    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
13023    </p>
13024    <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>
13025    </p>
13026    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
13027    </p>
13028    <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>
13029    </p>
13030    <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>
13031    </p>
13032    <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>
13033    </p>
13034    <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>
13035    </p>
13036    <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>
13037    </p>
13038    <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>
13039    </p>
13040    <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>
13041    </p>
13042    <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>
13043    </p>
13044    <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>
13045    </p>
13046    <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>
13047    </p>
13048    <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>
13049    </p>
13050    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
13051    </p>
13052    <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>
13053    </p>
13054    <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>
13055    </p>
13056    <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>
13057    </p>
13058    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
13059    </p>
13060    <p><a class='info' href='#GET EFFECT INFO'>"GET EFFECT INFO"<span> (</span><span class='info'>Retrieving general information about an effect</span><span>)</span></a>
13061    </p>
13062    <p><a class='info' href='#GET EFFECT_INSTANCE INFO'>"GET EFFECT_INSTANCE INFO"<span> (</span><span class='info'>Retrieving current information about an effect instance</span><span>)</span></a>
13063    </p>
13064    <p><a class='info' href='#CREATE EFFECT_INSTANCE'>"CREATE EFFECT_INSTANCE"<span> (</span><span class='info'>Creating an instance of an effect by its portable ID</span><span>)</span></a>
13065    </p>
13066    </blockquote><p>
13067                    Please note that these lists are manually maintained. If you
13068                    find a command that also supports escape sequences we forgot to
13069                    mention here, please report it!
13070                    
13071    </p>
13072  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
13073  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13074  <a name="rfc.section.8"></a><h3>8.&nbsp;  <a name="rfc.section.8"></a><h3>8.&nbsp;
# Line 8087  Number of sampler channels changed</h3> Line 13229  Number of sampler channels changed</h3>
13229  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
13230                  of sampler channels.                  of sampler channels.
13231  </p>  </p>
13232  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
13233  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13234  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
13235    MIDI data on a sampler channel arrived</h3>
13236    
13237    <p>Client may want to be notified when MIDI data arrive on sampler channels on
13238                    back-end side, by issuing the following command:
13239    </p>
13240    <p>
13241                        </p>
13242    <blockquote class="text">
13243    <p>SUBSCRIBE CHANNEL_MIDI
13244    </p>
13245    </blockquote><p>
13246                    
13247    </p>
13248    <p>Server will start sending one of the the following notification messages:
13249    </p>
13250    <p>
13251                        </p>
13252    <blockquote class="text">
13253    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
13254    </p>
13255    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13256    </p>
13257    </blockquote><p>
13258                    
13259    </p>
13260    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
13261                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13262                    0 .. 127, reflecting the analog meaning of the MIDI specification.
13263                    
13264    </p>
13265    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13266                    delivered by this mechanism! With other words: events could be lost at any time!
13267                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13268                    thread unaffected by this feature.
13269    </p>
13270    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
13271    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13272    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
13273    MIDI data on a MIDI input device arrived</h3>
13274    
13275    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
13276    </p>
13277    <p>
13278                                </p>
13279    <blockquote class="text">
13280    <p>SUBSCRIBE DEVICE_MIDI
13281    </p>
13282    </blockquote><p>
13283                        
13284    </p>
13285    <p>Server will start sending one of the the following notification messages:
13286    </p>
13287    <p>
13288                                </p>
13289    <blockquote class="text">
13290    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
13291    </p>
13292    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13293    </p>
13294    </blockquote><p>
13295                        
13296    </p>
13297    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
13298                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
13299                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13300                           0 .. 127, reflecting the analog meaning of the MIDI specification.
13301                        
13302    </p>
13303    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13304                           delivered by this mechanism! With other words: events could be lost at any time!
13305                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13306                           thread unaffected by this feature.
13307    </p>
13308    <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
13309    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13310    <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
13311  Number of active voices changed</h3>  Number of active voices changed</h3>
13312    
13313  <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
# Line 8108  Number of active voices changed</h3> Line 13326  Number of active voices changed</h3>
13326  <p>  <p>
13327                      </p>                      </p>
13328  <blockquote class="text">  <blockquote class="text">
13329  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
13330  </p>  </p>
13331  </blockquote><p>  </blockquote><p>
13332                                    
# Line 8119  Number of active voices changed</h3> Line 13337  Number of active voices changed</h3>
13337  </p>  </p>
13338  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
13339  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13340  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
13341  Number of active disk streams changed</h3>  Number of active disk streams changed</h3>
13342    
13343  <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
# Line 8149  Number of active disk streams changed</h Line 13367  Number of active disk streams changed</h
13367  </p>  </p>
13368  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
13369  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13370  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
13371  Disk stream buffer fill state changed</h3>  Disk stream buffer fill state changed</h3>
13372    
13373  <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
# Line 8180  Disk stream buffer fill state changed</h Line 13398  Disk stream buffer fill state changed</h
13398  </p>  </p>
13399  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
13400  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13401  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
13402  Channel information changed</h3>  Channel information changed</h3>
13403    
13404  <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
# Line 8211  Channel information changed</h3> Line 13429  Channel information changed</h3>
13429                  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
13430                  message is sufficient here.                  message is sufficient here.
13431  </p>  </p>
13432    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
13433    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13434    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
13435    Number of effect sends changed</h3>
13436    
13437    <p>Client may want to be notified when the number of effect sends on
13438                    a particular sampler channel is changed by issuing the following command:
13439    </p>
13440    <p>
13441                        </p>
13442    <blockquote class="text">
13443    <p>SUBSCRIBE FX_SEND_COUNT
13444    </p>
13445    </blockquote><p>
13446                    
13447    </p>
13448    <p>Server will start sending the following notification messages:
13449    </p>
13450    <p>
13451                        </p>
13452    <blockquote class="text">
13453    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
13454    </p>
13455    </blockquote><p>
13456                    
13457    </p>
13458    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13459                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
13460                    be replaced by the new number of effect sends on that channel.
13461    </p>
13462    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
13463    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13464    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
13465    Effect send information changed</h3>
13466    
13467    <p>Client may want to be notified when changes were made to effect sends on a
13468                    a particular sampler channel by issuing the following command:
13469    </p>
13470    <p>
13471                        </p>
13472    <blockquote class="text">
13473    <p>SUBSCRIBE FX_SEND_INFO
13474    </p>
13475    </blockquote><p>
13476                    
13477    </p>
13478    <p>Server will start sending the following notification messages:
13479    </p>
13480    <p>
13481                        </p>
13482    <blockquote class="text">
13483    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
13484    </p>
13485    </blockquote><p>
13486                    
13487    </p>
13488    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13489                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
13490                    be replaced by the numerical ID of the changed effect send.
13491    </p>
13492  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
13493  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13494  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
13495  Total number of active voices changed</h3>  Total number of active voices changed</h3>
13496    
13497  <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
# Line 8232  Total number of active voices changed</h Line 13510  Total number of active voices changed</h
13510  <p>  <p>
13511                      </p>                      </p>
13512  <blockquote class="text">  <blockquote class="text">
13513  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
13514  </p>  </p>
13515  </blockquote><p>  </blockquote><p>
13516                                    
# Line 8240  Total number of active voices changed</h Line 13518  Total number of active voices changed</h
13518  <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
13519                  all currently active voices.                  all currently active voices.
13520  </p>  </p>
13521    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
13522    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13523    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
13524    Total number of active disk streams changed</h3>
13525    
13526    <p>Client may want to be notified when the total number of disk streams on the
13527                    back-end changes by issuing the following command:
13528    </p>
13529    <p>
13530                        </p>
13531    <blockquote class="text">
13532    <p>SUBSCRIBE TOTAL_STREAM_COUNT
13533    </p>
13534    </blockquote><p>
13535                    
13536    </p>
13537    <p>Server will start sending the following notification messages:
13538    </p>
13539    <p>
13540                        </p>
13541    <blockquote class="text">
13542    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
13543    </p>
13544    </blockquote><p>
13545                    
13546    </p>
13547    <p>where &lt;streams&gt; will be replaced by the new number of
13548                    all currently active disk streams.
13549    </p>
13550  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
13551  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13552  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;  <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
13553  Number of MIDI instrument maps changed</h3>  Number of MIDI instrument maps changed</h3>
13554    
13555  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 8271  Number of MIDI instrument maps changed</ Line 13578  Number of MIDI instrument maps changed</
13578  </p>  </p>
13579  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
13580  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13581  <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;  <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
13582  MIDI instrument map information changed</h3>  MIDI instrument map information changed</h3>
13583    
13584  <p>Client may want to be notified when changes were made to MIDI instrument maps on the  <p>Client may want to be notified when changes were made to MIDI instrument maps on the
# Line 8304  MIDI instrument map information changed< Line 13611  MIDI instrument map information changed<
13611  </p>  </p>
13612  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
13613  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13614  <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;  <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
13615  Number of MIDI instruments changed</h3>  Number of MIDI instruments changed</h3>
13616    
13617  <p>Client may want to be notified when the number of MIDI instrument maps on the  <p>Client may want to be notified when the number of MIDI instrument maps on the
# Line 8334  Number of MIDI instruments changed</h3> Line 13641  Number of MIDI instruments changed</h3>
13641  </p>  </p>
13642  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />  <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
13643  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13644  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;  <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
13645  MIDI instrument information changed</h3>  MIDI instrument information changed</h3>
13646    
13647  <p>Client may want to be notified when changes were made to MIDI instruments on the  <p>Client may want to be notified when changes were made to MIDI instruments on the
# Line 8366  MIDI instrument information changed</h3> Line 13673  MIDI instrument information changed</h3>
13673                  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
13674                  message is sufficient here.                  message is sufficient here.
13675  </p>  </p>
13676    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
13677    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13678    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
13679    Global settings changed</h3>
13680    
13681    <p>Client may want to be notified when changes to the global settings
13682                    of the sampler were made by issuing the following command:
13683    </p>
13684    <p>
13685                        </p>
13686    <blockquote class="text">
13687    <p>SUBSCRIBE GLOBAL_INFO
13688    </p>
13689    </blockquote><p>
13690                    
13691    </p>
13692    <p>Server will start sending the following types of notification messages:
13693    </p>
13694    <p>
13695                        </p>
13696    <blockquote class="text">
13697    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
13698                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
13699                            replaced by the optional dotted floating point value, reflecting the
13700                            new global volume parameter.
13701    </p>
13702    </blockquote><p>
13703                        </p>
13704    <blockquote class="text">
13705    <p>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
13706                            golbal limit of the sampler for maximum voices is changed, where
13707                            &lt;max-voices&gt; will be an integer value, reflecting the
13708                            new global voice limit parameter.
13709    </p>
13710    </blockquote><p>
13711                        </p>
13712    <blockquote class="text">
13713    <p>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
13714                            golbal limit of the sampler for maximum disk streams is changed, where
13715                            &lt;max-streams&gt; will be an integer value, reflecting the
13716                            new global disk streams limit parameter.
13717    </p>
13718    </blockquote><p>
13719                    
13720    </p>
13721    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
13722    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13723    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
13724    Number of database instrument directories changed</h3>
13725    
13726    <p>Client may want to be notified when the number of instrument
13727                    directories in a particular directory in the instruments database
13728                    is changed by issuing the following command:
13729    </p>
13730    <p>
13731                        </p>
13732    <blockquote class="text">
13733    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
13734    </p>
13735    </blockquote><p>
13736                    
13737    </p>
13738    <p>Server will start sending the following notification messages:
13739    </p>
13740    <p>
13741                        </p>
13742    <blockquote class="text">
13743    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
13744    </p>
13745    </blockquote><p>
13746                    
13747    </p>
13748    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13749                    name of the directory in the instruments database,
13750                    in which the number of directories is changed.
13751    </p>
13752    <p>Note that when a non-empty directory is removed, this event
13753                    is not sent for the subdirectories in that directory.
13754    </p>
13755    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
13756    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13757    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
13758    Database instrument directory information changed</h3>
13759    
13760    <p>Client may want to be notified when changes were made to directories
13761                    in the instruments database by issuing the following command:
13762    </p>
13763    <p>
13764                        </p>
13765    <blockquote class="text">
13766    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
13767    </p>
13768    </blockquote><p>
13769                    
13770    </p>
13771    <p>Server will start sending the following notification messages:
13772    </p>
13773    <p>
13774                        </p>
13775    <blockquote class="text">
13776    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
13777    </p>
13778    </blockquote><p>
13779                    
13780    </p>
13781    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
13782                    of the directory, for which information changes occurred. The front-end will have to send
13783                    the respective command to actually get the updated directory info. Because these messages
13784                    will be triggered by LSCP commands issued by other clients rather than real
13785                    time events happening on the server, it is believed that an empty notification
13786                    message is sufficient here.
13787    </p>
13788    <p>
13789                        </p>
13790    <blockquote class="text">
13791    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
13792    </p>
13793    </blockquote><p>
13794                    
13795    </p>
13796    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
13797                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13798                    the new name of the directory, encapsulated into apostrophes.
13799    </p>
13800    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
13801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13802    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
13803    Number of database instruments changed</h3>
13804    
13805    <p>Client may want to be notified when the number of instruments
13806                    in a particular directory in the instruments database
13807                    is changed by issuing the following command:
13808    </p>
13809    <p>
13810                        </p>
13811    <blockquote class="text">
13812    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
13813    </p>
13814    </blockquote><p>
13815                    
13816    </p>
13817    <p>Server will start sending the following notification messages:
13818    </p>
13819    <p>
13820                        </p>
13821    <blockquote class="text">
13822    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
13823    </p>
13824    </blockquote><p>
13825                    
13826    </p>
13827    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13828                    name of the directory in the instruments database,
13829                    in which the number of instruments is changed.
13830    </p>
13831    <p>Note that when a non-empty directory is removed, this event
13832                    is not sent for the instruments in that directory.
13833    </p>
13834    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
13835    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13836    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
13837    Database instrument information changed</h3>
13838    
13839    <p>Client may want to be notified when changes were made to instruments
13840                    in the instruments database by issuing the following command:
13841    </p>
13842    <p>
13843                        </p>
13844    <blockquote class="text">
13845    <p>SUBSCRIBE DB_INSTRUMENT_INFO
13846    </p>
13847    </blockquote><p>
13848                    
13849    </p>
13850    <p>Server will start sending the following notification messages:
13851    </p>
13852    <p>
13853                        </p>
13854    <blockquote class="text">
13855    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
13856    </p>
13857    </blockquote><p>
13858                    
13859    </p>
13860    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
13861                    of the instrument, which settings are changed. The front-end will have to send
13862                    the respective command to actually get the updated directory info. Because these messages
13863                    will be triggered by LSCP commands issued by other clients rather than real
13864                    time events happening on the server, it is believed that an empty notification
13865                    message is sufficient here.
13866    </p>
13867    <p>
13868                        </p>
13869    <blockquote class="text">
13870    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
13871    </p>
13872    </blockquote><p>
13873                    
13874    </p>
13875    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
13876                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13877                    the new name of the instrument, encapsulated into apostrophes.
13878    </p>
13879    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
13880    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13881    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
13882    Database job status information changed</h3>
13883    
13884    <p>Client may want to be notified when the status of particular database
13885                    instruments job is changed by issuing the following command:
13886    </p>
13887    <p>
13888                        </p>
13889    <blockquote class="text">
13890    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
13891    </p>
13892    </blockquote><p>
13893                    
13894    </p>
13895    <p>Server will start sending the following notification messages:
13896    </p>
13897    <p>
13898                        </p>
13899    <blockquote class="text">
13900    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
13901    </p>
13902    </blockquote><p>
13903                    
13904    </p>
13905    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
13906                    which status is changed. The front-end will have to send the respective
13907                    command to actually get the status info. Because these messages
13908                    will be triggered by LSCP commands issued by other clients rather than real
13909                    time events happening on the server, it is believed that an empty notification
13910                    message is sufficient here.
13911    </p>
13912  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
13913  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13914  <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;  <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
13915  Miscellaneous and debugging events</h3>  Miscellaneous and debugging events</h3>
13916    
13917  <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
# Line 8433  Acknowledgments</h3> Line 13976  Acknowledgments</h3>
13976  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13977  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
13978  <table width="99%" border="0">  <table width="99%" border="0">
13979    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
13980    <td class="author-text">UCLA, &ldquo;<a href="http://tools.ietf.org/html/rfc20">ASCII format for Network Interchange</a>,&rdquo; RFC&nbsp;20, 1969.</td></tr>
13981  <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>
13982  <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="http://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a>,&rdquo; RFC&nbsp;2119, 1997.</td></tr>
13983  <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>
13984  <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc2234.txt">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>  <td class="author-text">Crocker, D. and P. Overell, &ldquo;<a href="http://tools.ietf.org/html/rfc2234">Augmented BNF for Syntax Specifications</a>,&rdquo; RFC&nbsp;2234, 1997.</td></tr>
13985  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>  <tr><td class="author-text" valign="top"><a name="RFC793">[RFC793]</a></td>
13986  <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="ftp://ftp.isi.edu/in-notes/rfc793.txt">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>  <td class="author-text">Defense Advanced Research Projects Agency, &ldquo;<a href="http://tools.ietf.org/html/rfc793">TRANSMISSION CONTROL PROTOCOL</a>,&rdquo; RFC&nbsp;793, 1981.</td></tr>
13987  </table>  </table>
13988    
13989  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
# Line 8463  Schoenebeck</td></tr> Line 14008  Schoenebeck</td></tr>
14008  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
14009  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
14010  <p class='copyright'>  <p class='copyright'>
14011  Copyright &copy; The Internet Society (2007).</p>  Copyright &copy; The IETF Trust (2010).</p>
14012  <p class='copyright'>  <p class='copyright'>
14013  This document is subject to the rights,  This document is subject to the rights,
14014  licenses and restrictions contained in BCP&nbsp;78,  licenses and restrictions contained in BCP&nbsp;78,
# Line 8472  the authors retain all their rights.</p> Line 14017  the authors retain all their rights.</p>
14017  <p class='copyright'>  <p class='copyright'>
14018  This document and the information contained herein are provided  This document and the information contained herein are provided
14019  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
14020  THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY),  THE ORGANIZATION HE/SHE REPRESENTS
14021  THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM  OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
14022  ALL WARRANTIES,  AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
14023  EXPRESS OR IMPLIED,  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
14024  INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE  THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
14025  INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED  IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
14026  WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  PURPOSE.</p>
14027  <h3>Intellectual Property</h3>  <h3>Intellectual Property</h3>
14028  <p class='copyright'>  <p class='copyright'>
14029  The IETF takes no position regarding the validity or scope of any  The IETF takes no position regarding the validity or scope of any
# Line 8505  or other Line 14050  or other
14050  proprietary rights that may cover technology that may be required  proprietary rights that may cover technology that may be required
14051  to implement this standard.  to implement this standard.
14052  Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>  Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
 <h3>Acknowledgment</h3>  
 <p class='copyright'>  
 Funding for the RFC Editor function is provided by  
 the IETF Administrative Support Activity (IASA).</p>  
14053  </body></html>  </body></html>

Legend:
Removed from v.1028  
changed lines
  Added in v.2143

  ViewVC Help
Powered by ViewVC