/[svn]/web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html
ViewVC logotype

Diff of /web/trunk/www.linuxsampler.org/api/draft-linuxsampler-protocol.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 940 by schoenebeck, Sat Nov 25 17:18:12 2006 UTC revision 2141 by schoenebeck, Tue Oct 5 10:36:00 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.30 (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 {
9      body {                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10          font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-size: small; color: #000; background-color: #FFF;
11          margin: 2em;                  margin: 2em;
12          font-size: small ; color: #000000 ; background-color: #ffffff ; }          }
13      .title { color: #990000; font-size: x-large ;          h1, h2, h3, h4, h5, h6 {
14          font-weight: bold; text-align: right;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15          font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-weight: bold; font-style: normal;
16          background-color: transparent; }          }
17      .filename { color: #666666; font-size: 18px; line-height: 28px;          h1 { color: #900; background-color: transparent; text-align: right; }
18          font-weight: bold; text-align: right;          h3 { color: #333; background-color: transparent; }
19          font-family: helvetica, arial, sans-serif;  
20          background-color: transparent; }          td.RFCbug {
21      td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;                  font-size: x-small; text-decoration: none;
22          text-align: justify; vertical-align: middle ; padding-top: 2px ; }                  width: 30px; height: 30px; padding-top: 2px;
23      td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;                  text-align: justify; vertical-align: middle;
24          background-color: #000000 ;                  background-color: #000;
25          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
26          font-size: x-small ; }          td.RFCbug span.RFC {
27      td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28          text-align: center ;                  font-weight: bold; color: #666;
29          font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
30          font-size: x-small ; background-color: #000000; }          td.RFCbug span.hotText {
31      /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32      div#counter{margin-top: 100px}                  font-weight: normal; text-align: center; color: #FFF;
   
     a.info{  
         position:relative; /*this is the key*/  
         z-index:24;  
         text-decoration:none}  
   
     a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}  
   
     a.info span{display: none}  
   
     a.info:hover span.info{ /*the span will display just on :hover state*/  
         display:block;  
         position:absolute;  
         font-size: smaller ;  
         top:2em; left:2em; width:15em;  
         padding: 2px ;  
         border:1px solid #333333;  
         background-color:#eeeeee; color:#990000;  
         text-align: left ;}  
   
      A { font-weight: bold; }  
      A:link { color: #990000; background-color: transparent ; }  
      A:visited { color: #333333; background-color: transparent ; }  
      A:active { color: #333333; background-color: transparent ; }  
   
     p { margin-left: 2em; margin-right: 2em; }  
     p.copyright { font-size: x-small ; }  
     p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}  
     table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }  
     td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }  
   
     span.emph { font-style: italic; }  
     span.strong { font-weight: bold; }  
     span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }  
   
     span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }  
     span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }  
     span.vdeluxe { font-weight: bold; font-style: italic; font-family: "Courier New", Courier, monospace ; }  
   
     ol.text { margin-left: 2em; margin-right: 2em; }  
     ul.text { margin-left: 2em; margin-right: 2em; }  
     li { margin-left: 3em;  }  
   
     pre { margin-left: 3em; color: #333333;  background-color: transparent;  
         font-family: "Courier New", Courier, monospace ; font-size: small ;  
         text-align: left;  
33          }          }
34    
35      h3 { color: #333333; font-size: medium ;          table.TOCbug { width: 30px; height: 15px; }
36          font-family: helvetica, arial, sans-serif ;          td.TOCbug {
37          background-color: transparent; }                  text-align: center; width: 30px; height: 15px;
38      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }                  color: #FFF; background-color: #900;
39            }
40      table.bug { width: 30px ; height: 15px ; }          td.TOCbug a {
41      td.bug { color: #ffffff ; background-color: #990000 ;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42          text-align: center ; width: 30px ; height: 15px ;                  font-weight: bold; font-size: x-small; text-decoration: none;
43           }                  color: #FFF; background-color: transparent;
44      td.bug A.link2 { color: #ffffff ; font-weight: bold;          }
45          text-decoration: none;  
46          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;          td.header {
47          font-size: x-small ; background-color: transparent }                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48                    vertical-align: top; width: 33%;
49      td.header { color: #ffffff; font-size: x-small ;                  color: #FFF; background-color: #666;
50          font-family: arial, helvetica, sans-serif; vertical-align: top;          }
51          background-color: #666666 ; width: 33% ; }          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }          td.author-text { font-size: x-small; }
53      td.author-text { font-size: x-small; }  
54      table.full { vertical-align: top ; border-collapse: collapse ;          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55          border-style: solid solid solid solid ;          a.info {
56          border-color: black black black black ;                  /* This is the key. */
57          font-size: small ; text-align: center ; }                  position: relative;
58      table.headers, table.none { vertical-align: top ; border-collapse: collapse ;                  z-index: 24;
59          border-style: none;                  text-decoration: none;
60          font-size: small ; text-align: center ; }          }
61      table.full th { font-weight: bold ;          a.info:hover {
62          border-style: solid ;                  z-index: 25;
63          border-color: black black black black ; }                  color: #FFF; background-color: #900;
64      table.headers th { font-weight: bold ;          }
65          border-style: none none solid none;          a.info span { display: none; }
66          border-color: black black black black ; }          a.info:hover span.info {
67      table.none th { font-weight: bold ;                  /* The span will display just on :hover state. */
68          border-style: none; }                  display: block;
69      table.full td {                  position: absolute;
70          border-style: solid solid solid solid ;                  font-size: smaller;
71          border-color: #333333 #333333 #333333 #333333 ; }                  top: 2em; left: -5em; width: 15em;
72      table.headers td, table.none td { border-style: none; }                  padding: 2px; border: 1px solid #333;
73                    color: #900; background-color: #EEE;
74      hr { height: 1px }                  text-align: left;
75  -->          }
76  </style>  
77            a { font-weight: bold; }
78            a:link    { color: #900; background-color: transparent; }
79            a:visited { color: #633; background-color: transparent; }
80            a:active  { color: #633; background-color: transparent; }
81    
82            p { margin-left: 2em; margin-right: 2em; }
83            p.copyright { font-size: x-small; }
84            p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85            table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86            td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87    
88            ol.text { margin-left: 2em; margin-right: 2em; }
89            ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91    
92            /* RFC-2629 <spanx>s and <artwork>s. */
93            em     { font-style: italic; }
94            strong { font-weight: bold; }
95            dfn    { font-weight: bold; font-style: normal; }
96            cite   { font-weight: normal; font-style: normal; }
97            tt     { color: #036; }
98            tt, pre, pre dfn, pre em, pre cite, pre span {
99                    font-family: "Courier New", Courier, monospace; font-size: small;
100            }
101            pre {
102                    text-align: left; padding: 4px;
103                    color: #000; background-color: #CCC;
104            }
105            pre dfn  { color: #900; }
106            pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107            pre .key { color: #33C; font-weight: bold; }
108            pre .id  { color: #900; }
109            pre .str { color: #000; background-color: #CFF; }
110            pre .val { color: #066; }
111            pre .rep { color: #909; }
112            pre .oth { color: #000; background-color: #FCF; }
113            pre .err { background-color: #FCC; }
114    
115            /* RFC-2629 <texttable>s. */
116            table.all, table.full, table.headers, table.none {
117                    font-size: small; text-align: center; border-width: 2px;
118                    vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></style>
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: May 29, 2007</td><td class="header">Engineering e. V.</td></tr>  <tr><td class="header">Intended status: Standards Track</td><td class="header">Engineering e. V.</td></tr>
148  <tr><td class="header">&nbsp;</td><td class="header">November 25, 2006</td></tr>  <tr><td class="header">Expires: April 8, 2011</td><td class="header">October 5, 2010</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.5</h1>
 <div align="right"><span class="title"><br />LSCP 1.1</span></div>  
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  This document is an Internet-Draft and is  By submitting this Internet-Draft,
164  in full conformance with all provisions of Section&nbsp;10 of RFC&nbsp;2026.</p>  each author represents that any applicable patent or other IPR claims of which
165    he or she is aware have been or will be disclosed,
166    and any of which he or she becomes aware will be disclosed,
167    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 May 29, 2007.</p>  
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The Internet Society (2006). All Rights Reserved.</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 278  Current number of active disk streams<br Line 288  Current number of active disk streams<br
288  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
289  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_DEVICE">6.4.14.</a>&nbsp;
290  Setting audio output device<br />  Setting audio output device<br />
291  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYP">6.4.15.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_TYPE">6.4.15.</a>&nbsp;
292  Setting audio output type<br />  Setting audio output type<br />
293  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL AUDIO_OUTPUT_CHANNEL">6.4.16.</a>&nbsp;
294  Setting audio output channel<br />  Setting audio output channel<br />
# Line 296  Setting channel volume<br /> Line 306  Setting channel volume<br />
306  Muting a sampler channel<br />  Muting a sampler channel<br />
307  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL SOLO">6.4.23.</a>&nbsp;
308  Soloing a sampler channel<br />  Soloing a sampler channel<br />
309  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.24.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET CHANNEL MIDI_INSTRUMENT_MAP">6.4.24.</a>&nbsp;
310    Assigning a MIDI instrument map to a sampler channel<br />
311    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
312    Adding an effect send to a sampler channel<br />
313    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
314    Removing an effect send from a sampler channel<br />
315    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
316    Getting amount of effect sends on a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
318    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;
320    Getting effect send information<br />
321    &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 />
325    &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 />
331    &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 />
333    &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 314  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.6.</a>&nbsp;
360    Getting global volume attenuation<br />
361    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
362    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;
372    MIDI Instrument Mapping<br />
373    &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 />
375    &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 />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
378    Get amount of existing MIDI instrument maps<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
380    Getting all created MIDI instrument maps<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
382    Getting MIDI instrument map information<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
384    Renaming a MIDI instrument map<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
386    Create or replace a MIDI instrument map entry<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
388    Getting ammount of MIDI instrument map entries<br />
389    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
390    Getting indeces of all entries of a MIDI instrument map<br />
391    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
392    Remove an entry from the MIDI instrument map<br />
393    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
394    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;
396    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 CHANNEL">8.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT">8.1.</a>&nbsp;
506    Number of audio output devices changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
508    Audio output device's settings changed<br />
509    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
510    Number of MIDI input devices changed<br />
511    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
512    MIDI input device's settings changed<br />
513    &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.2.</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.3.</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.4.</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 INFO">8.5.</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.6.</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 MISCELLANEOUS">8.7.</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 />
537    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
538    MIDI instrument map information changed<br />
539    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
540    Number of MIDI instruments changed<br />
541    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
542    MIDI instrument information changed<br />
543    &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 350  Intellectual Property and Copyright Stat Line 568  Intellectual Property and Copyright Stat
568  <br clear="all" />  <br clear="all" />
569    
570  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
571  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
572  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
573    Requirements notation</h3>
574    
575  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
576              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
577              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
578              described in <a class="info" href="#RFC2119">[RFC2119]<span> (</span><span class="info">Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; 1997.</span><span>)</span></a>.              described in <a class='info' href='#RFC2119'>[RFC2119]<span> (</span><span class='info'>Bradner, S., &ldquo;Key words for use in RFCs to Indicate Requirement Levels,&rdquo; 1997.</span><span>)</span></a>.
579  </p>  </p>
580  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
581              claimed the opposite.              claimed the opposite.
# Line 365  Intellectual Property and Copyright Stat Line 584  Intellectual Property and Copyright Stat
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 432  Intellectual Property and Copyright Stat Line 651  Intellectual Property and Copyright Stat
651              return and line feed characters respectively.              return and line feed characters respectively.
652  </p>  </p>
653  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
654  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
655  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
656    Versioning of this specification</h3>
657    
658  <p>LSCP will certainly be extended and enhanced by-and-by. Each official  <p>LSCP will certainly be extended and enhanced by-and-by. Each official
659              release of the LSCP specification will be tagged with a unique version              release of the LSCP specification will be tagged with a unique version
# Line 476  Intellectual Property and Copyright Stat Line 696  Intellectual Property and Copyright Stat
696  <p>  <p>
697              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
698              The frontend can use the              The frontend can use the
699              <a class="info" href="#GET SERVER INFO">"GET SERVER INFO"<span> (</span><span class="info">General sampler informations</span><span>)</span></a> command to              <a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a> command to
700              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
701                            
702  </p>  </p>
703  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
704  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
705  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
706    Introduction</h3>
707    
708  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
709              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 502  Intellectual Property and Copyright Stat Line 723  Intellectual Property and Copyright Stat
723              there.              there.
724  </p>  </p>
725  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
726  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
727  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
728    Focus of this protocol</h3>
729    
730  <p>Main focus of this protocol is to provide a way to configure  <p>Main focus of this protocol is to provide a way to configure
731              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 514  Intellectual Property and Copyright Stat Line 736  Intellectual Property and Copyright Stat
736              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
737  </p>  </p>
738  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
739  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
740  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
741    Communication Overview</h3>
742    
743  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
744              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 529  Intellectual Property and Copyright Stat Line 752  Intellectual Property and Copyright Stat
752              methods will be described next.              methods will be described next.
753  </p>  </p>
754  <a name="anchor5"></a><br /><hr />  <a name="anchor5"></a><br /><hr />
755  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
756  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;Request/response communication method</h3>  <a name="rfc.section.5.1"></a><h3>5.1.&nbsp;
757    Request/response communication method</h3>
758    
759  <p>This simple communication method is based on  <p>This simple communication method is based on
760                  <a class="info" href="#RFC793">TCP<span> (</span><span class="info">Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The                  <a class='info' href='#RFC793'>TCP<span> (</span><span class='info'>Defense Advanced Research Projects Agency, &ldquo;TRANSMISSION CONTROL PROTOCOL,&rdquo; 1981.</span><span>)</span></a> [RFC793]. The
761                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
762                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
763                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 574  Intellectual Property and Copyright Stat Line 798  Intellectual Property and Copyright Stat
798                  MUST be sent back in the same order.                  MUST be sent back in the same order.
799  </p>  </p>
800  <a name="anchor6"></a><br /><hr />  <a name="anchor6"></a><br /><hr />
801  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
802  <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;Result format</h3>  <a name="rfc.section.5.1.1"></a><h3>5.1.1.&nbsp;
803    Result format</h3>
804    
805  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
806  </p>  </p>
# Line 766  Intellectual Property and Copyright Stat Line 991  Intellectual Property and Copyright Stat
991                                            
992  </p>  </p>
993  <a name="anchor7"></a><br /><hr />  <a name="anchor7"></a><br /><hr />
994  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
995  <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;Subscribe/notify communication method</h3>  <a name="rfc.section.5.2"></a><h3>5.2.&nbsp;
996    Subscribe/notify communication method</h3>
997    
998  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
999                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 844  Intellectual Property and Copyright Stat Line 1070  Intellectual Property and Copyright Stat
1070  </p>  </p>
1071  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1072                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1073                  a list of supported events see <a class="info" href="#events">Section&nbsp;8<span> (</span><span class="info">Events</span><span>)</span></a>.                  a list of supported events see <a class='info' href='#events'>Section&nbsp;8<span> (</span><span class='info'>Events</span><span>)</span></a>.
1074  </p>  </p>
1075  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1076                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
# Line 890  Intellectual Property and Copyright Stat Line 1116  Intellectual Property and Copyright Stat
1116                  it wants to receive.                  it wants to receive.
1117  </p>  </p>
1118  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1119  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1120  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1121    Description for control commands</h3>
1122    
1123  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1124              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1125              commands (e.g. <a class="info" href="#GET CHANNEL INFO">"GET CHANNEL INFO"<span> (</span><span class="info">Getting sampler channel information</span><span>)</span></a>              commands (e.g. <a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
1126              or <a class="info" href="#GET ENGINE INFO">"GET ENGINE INFO"<span> (</span><span class="info">Getting information about an engine</span><span>)</span></a>) lead to              or <a class='info' href='#GET ENGINE INFO'>"GET ENGINE INFO"<span> (</span><span class='info'>Getting information about an engine</span><span>)</span></a>) lead to
1127              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1128              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1129  </p>  </p>
1130  <a name="anchor8"></a><br /><hr />  <a name="anchor8"></a><br /><hr />
1131  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1132  <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;Ignored lines and comments</h3>  <a name="rfc.section.6.1"></a><h3>6.1.&nbsp;
1133    Ignored lines and comments</h3>
1134    
1135  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1136                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 911  Intellectual Property and Copyright Stat Line 1139  Intellectual Property and Copyright Stat
1139                  file.                  file.
1140  </p>  </p>
1141  <a name="anchor9"></a><br /><hr />  <a name="anchor9"></a><br /><hr />
1142  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1143  <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;Configuring audio drivers</h3>  <a name="rfc.section.6.2"></a><h3>6.2.&nbsp;
1144    Configuring audio drivers</h3>
1145    
1146  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1147                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 946  Intellectual Property and Copyright Stat Line 1175  Intellectual Property and Copyright Stat
1175                  possible values, etc.                  possible values, etc.
1176  </p>  </p>
1177  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1178  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1179  <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;Getting amount of available audio output drivers</h3>  <a name="rfc.section.6.2.1"></a><h3>6.2.1.&nbsp;
1180    Getting amount of available audio output drivers</h3>
1181    
1182  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1183                      audio output drivers currently available for the                      audio output drivers currently available for the
# Line 985  Intellectual Property and Copyright Stat Line 1215  Intellectual Property and Copyright Stat
1215                                            
1216  </p>  </p>
1217  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1218  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1219  <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;Getting all available audio output drivers</h3>  <a name="rfc.section.6.2.2"></a><h3>6.2.2.&nbsp;
1220    Getting all available audio output drivers</h3>
1221    
1222  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1223                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
# Line 1025  Intellectual Property and Copyright Stat Line 1256  Intellectual Property and Copyright Stat
1256                                            
1257  </p>  </p>
1258  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1259  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1260  <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;Getting information about a specific audio  <a name="rfc.section.6.2.3"></a><h3>6.2.3.&nbsp;
1261    Getting information about a specific audio
1262                  output driver</h3>                  output driver</h3>
1263    
1264  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1043  Intellectual Property and Copyright Stat Line 1275  Intellectual Property and Copyright Stat
1275  </p>  </p>
1276  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1277                      audio output driver, returned by the                      audio output driver, returned by the
1278                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class="info">Getting all available audio output drivers</span><span>)</span></a> command.                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a> command.
1279  </p>  </p>
1280  <p>Possible Answers:  <p>Possible Answers:
1281  </p>  </p>
# Line 1124  Intellectual Property and Copyright Stat Line 1356  Intellectual Property and Copyright Stat
1356                                            
1357  </p>  </p>
1358  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1359  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1360  <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;Getting information about specific audio  <a name="rfc.section.6.2.4"></a><h3>6.2.4.&nbsp;
1361    Getting information about specific audio
1362                  output driver parameter</h3>                  output driver parameter</h3>
1363    
1364  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1140  Intellectual Property and Copyright Stat Line 1373  Intellectual Property and Copyright Stat
1373                                            
1374  </p>  </p>
1375  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1376                      driver as returned by the <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class="info">Getting all available audio output drivers</span><span>)</span></a> command,                      driver as returned by the <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a> command,
1377                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1378                      obtained (as returned by the                      obtained (as returned by the
1379                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">"GET AUDIO_OUTPUT_DRIVER INFO"<span> (</span><span class="info">Getting information about a specific audio                 output driver</span><span>)</span></a> command) and                      <a class='info' href='#GET AUDIO_OUTPUT_DRIVER INFO'>"GET AUDIO_OUTPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a> command) and
1380                      &lt;deplist&gt; is an optional list of parameters on which the sought                      &lt;deplist&gt; is an optional list of parameters on which the sought
1381                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value                      parameter &lt;prm&gt; depends on, &lt;deplist&gt; is a list of key-value
1382                      pairs in form of "key1=val1 key2=val2 ...", where character string values                      pairs in form of "key1=val1 key2=val2 ...", where character string values
# Line 1200  Intellectual Property and Copyright Stat Line 1433  Intellectual Property and Copyright Stat
1433  <blockquote class="text">  <blockquote class="text">
1434  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1435                                  given when the device is to be created with the                                  given when the device is to be created with the
1436                                  <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                                  <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1437                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1438  </p>  </p>
1439  </blockquote>  </blockquote>
# Line 1211  Intellectual Property and Copyright Stat Line 1444  Intellectual Property and Copyright Stat
1444  <blockquote class="text">  <blockquote class="text">
1445  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1446                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1447                                  the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                                  the <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1448                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1449  </p>  </p>
1450  </blockquote>  </blockquote>
# Line 1250  Intellectual Property and Copyright Stat Line 1483  Intellectual Property and Copyright Stat
1483  <blockquote class="text">  <blockquote class="text">
1484  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1485                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1486                                  given with the <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a> command,                                  given with the <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>'CREATE AUDIO_OUTPUT_DEVICE'<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a> command,
1487                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1488                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1489                                  apostrophes (')                                  apostrophes (')
# Line 1378  Intellectual Property and Copyright Stat Line 1611  Intellectual Property and Copyright Stat
1611                                            
1612  </p>  </p>
1613  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1614  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1615  <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;Creating an audio output device</h3>  <a name="rfc.section.6.2.5"></a><h3>6.2.5.&nbsp;
1616    Creating an audio output device</h3>
1617    
1618  <p>Use the following command to create a new audio output device for  the desired audio output system:  <p>Use the following command to create a new audio output device for  the desired audio output system:
1619  </p>  </p>
# Line 1393  Intellectual Property and Copyright Stat Line 1627  Intellectual Property and Copyright Stat
1627  </p>  </p>
1628  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio  <p>Where &lt;audio-output-driver&gt; should be replaced by the desired audio
1629                      output system as returned by the                      output system as returned by the
1630                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class="info">Getting all available audio output drivers</span><span>)</span></a>                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a>
1631                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1632                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1633                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1462  Intellectual Property and Copyright Stat Line 1696  Intellectual Property and Copyright Stat
1696                                            
1697  </p>  </p>
1698  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1699  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1700  <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;Destroying an audio output device</h3>  <a name="rfc.section.6.2.6"></a><h3>6.2.6.&nbsp;
1701    Destroying an audio output device</h3>
1702    
1703  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1704  </p>  </p>
# Line 1477  Intellectual Property and Copyright Stat Line 1712  Intellectual Property and Copyright Stat
1712  </p>  </p>
1713  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1714                      audio output device as given by the                      audio output device as given by the
1715                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1716                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1717                      command.                      command.
1718  </p>  </p>
1719  <p>Possible Answers:  <p>Possible Answers:
# Line 1531  Intellectual Property and Copyright Stat Line 1766  Intellectual Property and Copyright Stat
1766                                            
1767  </p>  </p>
1768  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1769  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1770  <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;Getting all created audio output device count</h3>  <a name="rfc.section.6.2.7"></a><h3>6.2.7.&nbsp;
1771    Getting all created audio output device count</h3>
1772    
1773  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1774  </p>  </p>
# Line 1568  Intellectual Property and Copyright Stat Line 1804  Intellectual Property and Copyright Stat
1804                                            
1805  </p>  </p>
1806  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1807  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1808  <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;Getting all created audio output device list</h3>  <a name="rfc.section.6.2.8"></a><h3>6.2.8.&nbsp;
1809    Getting all created audio output device list</h3>
1810    
1811  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1812  </p>  </p>
# Line 1605  Intellectual Property and Copyright Stat Line 1842  Intellectual Property and Copyright Stat
1842                                            
1843  </p>  </p>
1844  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />
1845  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1846  <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;Getting current settings of an audio output device</h3>  <a name="rfc.section.6.2.9"></a><h3>6.2.9.&nbsp;
1847    Getting current settings of an audio output device</h3>
1848    
1849  <p>Use the following command to get current settings of a specific, created audio output device:  <p>Use the following command to get current settings of a specific, created audio output device:
1850  </p>  </p>
# Line 1620  Intellectual Property and Copyright Stat Line 1858  Intellectual Property and Copyright Stat
1858  </p>  </p>
1859  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1860                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1861                      <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a> command.                      <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a> command.
1862  </p>  </p>
1863  <p>Possible Answers:  <p>Possible Answers:
1864  </p>  </p>
# Line 1640  Intellectual Property and Copyright Stat Line 1878  Intellectual Property and Copyright Stat
1878  <blockquote class="text">  <blockquote class="text">
1879  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1880                                      returned by the                                      returned by the
1881                                      <a class="info" href="#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS">"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class="info">Getting all available audio output drivers</span><span>)</span></a>                                      <a class='info' href='#LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS'>"LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"<span> (</span><span class='info'>Getting all available audio output drivers</span><span>)</span></a>
1882                                      command                                      command
1883  </p>  </p>
1884  </blockquote>  </blockquote>
# Line 1681  Intellectual Property and Copyright Stat Line 1919  Intellectual Property and Copyright Stat
1919                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1920                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1921                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1922                      <a class="info" href="#GET AUDIO_OUTPUT_DRIVER INFO">Section&nbsp;6.2.3<span> (</span><span class="info">Getting information about a specific audio                 output driver</span><span>)</span></a>)                      <a class='info' href='#GET AUDIO_OUTPUT_DRIVER INFO'>Section&nbsp;6.2.3<span> (</span><span class='info'>Getting information about a specific audio                 output driver</span><span>)</span></a>)
1923                      which are also returned by this command.                      which are also returned by this command.
1924  </p>  </p>
1925  <p>Example:  <p>Example:
# Line 1711  Intellectual Property and Copyright Stat Line 1949  Intellectual Property and Copyright Stat
1949                                            
1950  </p>  </p>
1951  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1952  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1953  <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;Changing settings of audio output devices</h3>  <a name="rfc.section.6.2.10"></a><h3>6.2.10.&nbsp;
1954    Changing settings of audio output devices</h3>
1955    
1956  <p>Use the following command to alter a specific setting of a created audio output device:  <p>Use the following command to alter a specific setting of a created audio output device:
1957  </p>  </p>
# Line 1726  Intellectual Property and Copyright Stat Line 1965  Intellectual Property and Copyright Stat
1965  </p>  </p>
1966  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
1967                      audio output device as given by the                      audio output device as given by the
1968                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
1969                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
1970                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1971                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1972  </p>  </p>
# Line 1779  Intellectual Property and Copyright Stat Line 2018  Intellectual Property and Copyright Stat
2018                                            
2019  </p>  </p>
2020  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
2021  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2022  <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;Getting information about an audio channel</h3>  <a name="rfc.section.6.2.11"></a><h3>6.2.11.&nbsp;
2023    Getting information about an audio channel</h3>
2024    
2025  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
2026  </p>  </p>
# Line 1793  Intellectual Property and Copyright Stat Line 2033  Intellectual Property and Copyright Stat
2033                                            
2034  </p>  </p>
2035  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the  <p>Where &lt;device-id&gt; is the numerical ID of the audio output device as given by the
2036                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2037                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2038                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
2039  </p>  </p>
2040  <p>Possible Answers:  <p>Possible Answers:
# Line 1921  Intellectual Property and Copyright Stat Line 2161  Intellectual Property and Copyright Stat
2161                                            
2162  </p>  </p>
2163  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2164  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2165  <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;Getting information about specific audio channel parameter</h3>  <a name="rfc.section.6.2.12"></a><h3>6.2.12.&nbsp;
2166    Getting information about specific audio channel parameter</h3>
2167    
2168  <p>Use the following command to get detailed information about specific audio channel parameter:  <p>Use the following command to get detailed information about specific audio channel parameter:
2169  </p>  </p>
# Line 1935  Intellectual Property and Copyright Stat Line 2176  Intellectual Property and Copyright Stat
2176                                            
2177  </p>  </p>
2178  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the audio output device as returned by the
2179                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2180                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2181                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2182                      and &lt;param&gt; a specific channel parameter name for which information should                      and &lt;param&gt; a specific channel parameter name for which information should
2183                      be obtained (as returned by the <a class="info" href="#GET AUDIO_OUTPUT_CHANNEL INFO">"GET AUDIO_OUTPUT_CHANNEL INFO"<span> (</span><span class="info">Getting information about an audio channel</span><span>)</span></a> command).                      be obtained (as returned by the <a class='info' href='#GET AUDIO_OUTPUT_CHANNEL INFO'>"GET AUDIO_OUTPUT_CHANNEL INFO"<span> (</span><span class='info'>Getting information about an audio channel</span><span>)</span></a> command).
2184  </p>  </p>
2185  <p>Possible Answers:  <p>Possible Answers:
2186  </p>  </p>
# Line 2067  Intellectual Property and Copyright Stat Line 2308  Intellectual Property and Copyright Stat
2308                                            
2309  </p>  </p>
2310  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2311  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2312  <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;Changing settings of audio output channels</h3>  <a name="rfc.section.6.2.13"></a><h3>6.2.13.&nbsp;
2313    Changing settings of audio output channels</h3>
2314    
2315  <p>Use the following command to alter a specific setting of an audio output channel:  <p>Use the following command to alter a specific setting of an audio output channel:
2316  </p>  </p>
# Line 2081  Intellectual Property and Copyright Stat Line 2323  Intellectual Property and Copyright Stat
2323                                            
2324  </p>  </p>
2325  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the  <p>Where &lt;dev-id&gt; should be replaced by the numerical ID of the audio output device as returned by the
2326                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
2327                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
2328                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the                      command, &lt;chn&gt; by the audio channel number, &lt;key&gt; by the name of the
2329                      parameter to change and &lt;value&gt; by the new value for this parameter.                      parameter to change and &lt;value&gt; by the new value for this parameter.
2330  </p>  </p>
# Line 2144  Intellectual Property and Copyright Stat Line 2386  Intellectual Property and Copyright Stat
2386                                            
2387  </p>  </p>
2388  <a name="anchor10"></a><br /><hr />  <a name="anchor10"></a><br /><hr />
2389  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2390  <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;Configuring MIDI input drivers</h3>  <a name="rfc.section.6.3"></a><h3>6.3.&nbsp;
2391    Configuring MIDI input drivers</h3>
2392    
2393  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2394                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as                  multiple MIDI devices simultaneously, e.g. to use MIDI over ethernet as
# Line 2174  Intellectual Property and Copyright Stat Line 2417  Intellectual Property and Copyright Stat
2417                  possible values, etc.                  possible values, etc.
2418  </p>  </p>
2419  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2420  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2421  <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;Getting amount of available MIDI input drivers</h3>  <a name="rfc.section.6.3.1"></a><h3>6.3.1.&nbsp;
2422    Getting amount of available MIDI input drivers</h3>
2423    
2424  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2425                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
# Line 2213  Intellectual Property and Copyright Stat Line 2457  Intellectual Property and Copyright Stat
2457                                            
2458  </p>  </p>
2459  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2460  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2461  <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;Getting all available MIDI input drivers</h3>  <a name="rfc.section.6.3.2"></a><h3>6.3.2.&nbsp;
2462    Getting all available MIDI input drivers</h3>
2463    
2464  <p>Use the following command to list all MIDI input drivers currently available  <p>Use the following command to list all MIDI input drivers currently available
2465                      for the LinuxSampler instance:                      for the LinuxSampler instance:
# Line 2251  Intellectual Property and Copyright Stat Line 2496  Intellectual Property and Copyright Stat
2496                                            
2497  </p>  </p>
2498  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2499  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2500  <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;Getting information about a specific MIDI input driver</h3>  <a name="rfc.section.6.3.3"></a><h3>6.3.3.&nbsp;
2501    Getting information about a specific MIDI input driver</h3>
2502    
2503  <p>Use the following command to get detailed information about a specific MIDI input driver:  <p>Use the following command to get detailed information about a specific MIDI input driver:
2504  </p>  </p>
# Line 2265  Intellectual Property and Copyright Stat Line 2511  Intellectual Property and Copyright Stat
2511                                            
2512  </p>  </p>
2513  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midi-input-driver&gt; is the name of the MIDI input driver as returned
2514                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command.                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command.
2515  </p>  </p>
2516  <p>Possible Answers:  <p>Possible Answers:
2517  </p>  </p>
# Line 2332  Intellectual Property and Copyright Stat Line 2578  Intellectual Property and Copyright Stat
2578                                            
2579  </p>  </p>
2580  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2581  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2582  <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;Getting information about specific MIDI input driver parameter</h3>  <a name="rfc.section.6.3.4"></a><h3>6.3.4.&nbsp;
2583    Getting information about specific MIDI input driver parameter</h3>
2584    
2585  <p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver:  <p>Use the following command to get detailed information about a specific parameter of a specific MIDI input driver:
2586  </p>  </p>
# Line 2346  Intellectual Property and Copyright Stat Line 2593  Intellectual Property and Copyright Stat
2593                                            
2594  </p>  </p>
2595  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned  <p>Where &lt;midit&gt; is the name of the MIDI input driver as returned
2596                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command, &lt;param&gt; a specific
2597                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2598                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class="info">Getting information about a specific MIDI input driver</span><span>)</span></a> command) and &lt;deplist&gt; is an optional list                      <a class='info' href='#GET MIDI_INPUT_DRIVER INFO'>"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific MIDI input driver</span><span>)</span></a> command) and &lt;deplist&gt; is an optional list
2599                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2600                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",                      &lt;deplist&gt; is a key-value pair list in form of "key1=val1 key2=val2 ...",
2601                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2395  Intellectual Property and Copyright Stat Line 2642  Intellectual Property and Copyright Stat
2642  <blockquote class="text">  <blockquote class="text">
2643  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2644                                  given when the device is to be created with the                                  given when the device is to be created with the
2645                                  <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a> command                                  <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command
2646                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2647  </p>  </p>
2648  </blockquote>  </blockquote>
# Line 2406  Intellectual Property and Copyright Stat Line 2653  Intellectual Property and Copyright Stat
2653  <blockquote class="text">  <blockquote class="text">
2654  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2655                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2656                                  the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a> command                                  the <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command
2657                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2658  </p>  </p>
2659  </blockquote>  </blockquote>
# Line 2445  Intellectual Property and Copyright Stat Line 2692  Intellectual Property and Copyright Stat
2692  <blockquote class="text">  <blockquote class="text">
2693  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2694                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2695                                  given with the <a class="info" href="#CREATE MIDI_INPUT_DEVICE">'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a> command,                                  given with the <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>'CREATE MIDI_INPUT_DEVICE'<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a> command,
2696                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2697                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2698                                  apostrophes (')                                  apostrophes (')
# Line 2519  Intellectual Property and Copyright Stat Line 2766  Intellectual Property and Copyright Stat
2766                                            
2767  </p>  </p>
2768  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2769  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2770  <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;Creating a MIDI input device</h3>  <a name="rfc.section.6.3.5"></a><h3>6.3.5.&nbsp;
2771    Creating a MIDI input device</h3>
2772    
2773  <p>Use the following command to create a new MIDI input device for  the desired MIDI input system:  <p>Use the following command to create a new MIDI input device for  the desired MIDI input system:
2774  </p>  </p>
# Line 2533  Intellectual Property and Copyright Stat Line 2781  Intellectual Property and Copyright Stat
2781                                            
2782  </p>  </p>
2783  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned  <p>Where &lt;midi-input-driver&gt; should be replaced by the desired MIDI input system as returned
2784                      by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an                      by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a> command and &lt;param-list&gt; by an
2785                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where                      optional list of driver specific parameters in form of "key1=val1 key2=val2 ...", where
2786                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2787                      Note that there might be drivers which require parameter(s) to be                      Note that there might be drivers which require parameter(s) to be
# Line 2589  Intellectual Property and Copyright Stat Line 2837  Intellectual Property and Copyright Stat
2837                                            
2838  </p>  </p>
2839  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2840  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2841  <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;Destroying a MIDI input device</h3>  <a name="rfc.section.6.3.6"></a><h3>6.3.6.&nbsp;
2842    Destroying a MIDI input device</h3>
2843    
2844  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2845  </p>  </p>
# Line 2603  Intellectual Property and Copyright Stat Line 2852  Intellectual Property and Copyright Stat
2852                                            
2853  </p>  </p>
2854  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the  <p>Where &lt;device-id&gt; should be replaced by the device's numerical ID as returned by the
2855                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
2856                      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>
2857                      command.                      command.
2858  </p>  </p>
2859  <p>Possible Answers:  <p>Possible Answers:
# Line 2654  Intellectual Property and Copyright Stat Line 2903  Intellectual Property and Copyright Stat
2903                                            
2904  </p>  </p>
2905  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2906  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2907  <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;Getting all created MIDI input device count</h3>  <a name="rfc.section.6.3.7"></a><h3>6.3.7.&nbsp;
2908    Getting all created MIDI input device count</h3>
2909    
2910  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2911  </p>  </p>
# Line 2691  Intellectual Property and Copyright Stat Line 2941  Intellectual Property and Copyright Stat
2941                                            
2942  </p>  </p>
2943  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />
2944  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2945  <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;Getting all created MIDI input device list</h3>  <a name="rfc.section.6.3.8"></a><h3>6.3.8.&nbsp;
2946    Getting all created MIDI input device list</h3>
2947    
2948  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2949  </p>  </p>
# Line 2738  Intellectual Property and Copyright Stat Line 2989  Intellectual Property and Copyright Stat
2989                                            
2990  </p>  </p>
2991  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2992  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2993  <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;Getting current settings of a MIDI input device</h3>  <a name="rfc.section.6.3.9"></a><h3>6.3.9.&nbsp;
2994    Getting current settings of a MIDI input device</h3>
2995    
2996  <p>Use the following command to get current settings of a specific, created MIDI input device:  <p>Use the following command to get current settings of a specific, created MIDI input device:
2997  </p>  </p>
# Line 2752  Intellectual Property and Copyright Stat Line 3004  Intellectual Property and Copyright Stat
3004                                            
3005  </p>  </p>
3006  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3007                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3008                      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>
3009                      command.                      command.
3010  </p>  </p>
3011  <p>Possible Answers:  <p>Possible Answers:
# Line 2776  Intellectual Property and Copyright Stat Line 3028  Intellectual Property and Copyright Stat
3028                                          </p>                                          </p>
3029  <blockquote class="text">  <blockquote class="text">
3030  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
3031                                              returned by the <a class="info" href="#LIST AVAILABLE_MIDI_INPUT_DRIVERS">"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class="info">Getting all available MIDI input drivers</span><span>)</span></a>                                              returned by the <a class='info' href='#LIST AVAILABLE_MIDI_INPUT_DRIVERS'>"LIST AVAILABLE_MIDI_INPUT_DRIVERS"<span> (</span><span class='info'>Getting all available MIDI input drivers</span><span>)</span></a>
3032                                              command                                              command
3033  </p>  </p>
3034  </blockquote>  </blockquote>
# Line 2806  Intellectual Property and Copyright Stat Line 3058  Intellectual Property and Copyright Stat
3058                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3059                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3060                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3061                      <a class="info" href="#GET MIDI_INPUT_DRIVER INFO">"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class="info">Getting information about a specific MIDI input driver</span><span>)</span></a> command) which are also returned                      <a class='info' href='#GET MIDI_INPUT_DRIVER INFO'>"GET MIDI_INPUT_DRIVER INFO"<span> (</span><span class='info'>Getting information about a specific MIDI input driver</span><span>)</span></a> command) which are also returned
3062                      by this command.                      by this command.
3063  </p>  </p>
3064  <p>Example:  <p>Example:
# Line 2826  Intellectual Property and Copyright Stat Line 3078  Intellectual Property and Copyright Stat
3078                                            
3079  </p>  </p>
3080  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3081  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3082  <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;Changing settings of MIDI input devices</h3>  <a name="rfc.section.6.3.10"></a><h3>6.3.10.&nbsp;
3083    Changing settings of MIDI input devices</h3>
3084    
3085  <p>Use the following command to alter a specific setting of a created MIDI input device:  <p>Use the following command to alter a specific setting of a created MIDI input device:
3086  </p>  </p>
# Line 2841  Intellectual Property and Copyright Stat Line 3094  Intellectual Property and Copyright Stat
3094  </p>  </p>
3095  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
3096                      MIDI input device as returned by the                      MIDI input device as returned by the
3097                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3098                      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>
3099                      command, &lt;key&gt; by the name of the parameter to change and                      command, &lt;key&gt; by the name of the parameter to change and
3100                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3101  </p>  </p>
# Line 2893  Intellectual Property and Copyright Stat Line 3146  Intellectual Property and Copyright Stat
3146                                            
3147  </p>  </p>
3148  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3149  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3150  <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;Getting information about a MIDI port</h3>  <a name="rfc.section.6.3.11"></a><h3>6.3.11.&nbsp;
3151    Getting information about a MIDI port</h3>
3152    
3153  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3154  </p>  </p>
# Line 2907  Intellectual Property and Copyright Stat Line 3161  Intellectual Property and Copyright Stat
3161                                            
3162  </p>  </p>
3163  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;device-id&gt; is the numerical ID of the MIDI input device as returned by the
3164                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3165                      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>
3166                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3167  </p>  </p>
3168  <p>Possible Answers:  <p>Possible Answers:
# Line 2955  Intellectual Property and Copyright Stat Line 3209  Intellectual Property and Copyright Stat
3209                                            
3210  </p>  </p>
3211  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3212  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3213  <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;Getting information about specific MIDI port parameter</h3>  <a name="rfc.section.6.3.12"></a><h3>6.3.12.&nbsp;
3214    Getting information about specific MIDI port parameter</h3>
3215    
3216  <p>Use the following command to get detailed information about specific MIDI port parameter:  <p>Use the following command to get detailed information about specific MIDI port parameter:
3217  </p>  </p>
# Line 2969  Intellectual Property and Copyright Stat Line 3224  Intellectual Property and Copyright Stat
3224                                            
3225  </p>  </p>
3226  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the  <p>Where &lt;dev-id&gt; is the numerical ID of the MIDI input device as returned by the
3227                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
3228                      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>
3229                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3230                      &lt;param&gt; a specific port parameter name for which information should be                      &lt;param&gt; a specific port parameter name for which information should be
3231                      obtained (as returned by the <a class="info" href="#GET MIDI_INPUT_PORT INFO">"GET MIDI_INPUT_PORT INFO"<span> (</span><span class="info">Getting information about a MIDI port</span><span>)</span></a> command).                      obtained (as returned by the <a class='info' href='#GET MIDI_INPUT_PORT INFO'>"GET MIDI_INPUT_PORT INFO"<span> (</span><span class='info'>Getting information about a MIDI port</span><span>)</span></a> command).
3232  </p>  </p>
3233  <p>Possible Answers:  <p>Possible Answers:
3234  </p>  </p>
# Line 3096  Intellectual Property and Copyright Stat Line 3351  Intellectual Property and Copyright Stat
3351                                            
3352  </p>  </p>
3353  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3354  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3355  <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;Changing settings of MIDI input ports</h3>  <a name="rfc.section.6.3.13"></a><h3>6.3.13.&nbsp;
3356    Changing settings of MIDI input ports</h3>
3357    
3358  <p>Use the following command to alter a specific setting of a MIDI input port:  <p>Use the following command to alter a specific setting of a MIDI input port:
3359  </p>  </p>
# Line 3111  Intellectual Property and Copyright Stat Line 3367  Intellectual Property and Copyright Stat
3367  </p>  </p>
3368  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the  <p>Where &lt;device-id&gt; should be replaced by the numerical ID of the
3369                      MIDI device as returned by the                      MIDI device as returned by the
3370                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
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 3156  Intellectual Property and Copyright Stat Line 3413  Intellectual Property and Copyright Stat
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                                            
3432  </p>  </p>
3433  <a name="anchor11"></a><br /><hr />  <a name="anchor11"></a><br /><hr />
3434  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3435  <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;Configuring sampler channels</h3>  <a name="rfc.section.6.4"></a><h3>6.4.&nbsp;
3436    Configuring sampler channels</h3>
3437    
3438  <p>The following commands describe how to add and remove sampler channels, associate a  <p>The following commands describe how to add and remove sampler channels, associate a
3439                  sampler channel with a sampler engine, load instruments and connect sampler channels to                  sampler channel with a sampler engine, load instruments and connect sampler channels to
3440                  MIDI and audio devices.                  MIDI and audio devices.
3441  </p>  </p>
3442  <a name="LOAD INSTRUMENT"></a><br /><hr />  <a name="LOAD INSTRUMENT"></a><br /><hr />
3443  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3444  <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;Loading an instrument</h3>  <a name="rfc.section.6.4.1"></a><h3>6.4.1.&nbsp;
3445    Loading an instrument</h3>
3446    
3447  <p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:  <p>An instrument file can be loaded and assigned to a sampler channel by one of the following commands:
3448  </p>  </p>
# Line 3189  Intellectual Property and Copyright Stat Line 3460  Intellectual Property and Copyright Stat
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
3472                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3473                      on the channel. The <a class="info" href="#GET CHANNEL INFO">GET CHANNEL INFO<span> (</span><span class="info">Getting sampler channel information</span><span>)</span></a>                      on the channel. The <a class='info' href='#GET CHANNEL INFO'>GET CHANNEL INFO<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
3474                      command can be used to obtain loading                      command can be used to obtain loading
3475                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3476                      such as making sure that the file could be read and it is of a proper format                      such as making sure that the file could be read and it is of a proper format
# Line 3236  Intellectual Property and Copyright Stat Line 3513  Intellectual Property and Copyright Stat
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                                            
3539  </p>  </p>
3540  <a name="LOAD ENGINE"></a><br /><hr />  <a name="LOAD ENGINE"></a><br /><hr />
3541  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3542  <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;Loading a sampler engine</h3>  <a name="rfc.section.6.4.2"></a><h3>6.4.2.&nbsp;
3543    Loading a sampler engine</h3>
3544    
3545  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3546                      channel by the following command:                      channel by the following command:
# Line 3262  Intellectual Property and Copyright Stat Line 3554  Intellectual Property and Copyright Stat
3554                                            
3555  </p>  </p>
3556  <p>Where &lt;engine-name&gt; is an engine name as obtained by the  <p>Where &lt;engine-name&gt; is an engine name as obtained by the
3557                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</span><span class="info">Getting all available engines</span><span>)</span></a> command and &lt;sampler-channel&gt;                      <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command and &lt;sampler-channel&gt;
3558                      the sampler channel as returned by the                      the sampler channel as returned by the
3559                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a> or                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a> or
3560                      <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command where                      <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command where
3561                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3562                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3563                      commands on the new sampler channel. It can also be used to change                      commands on the new sampler channel. It can also be used to change
# Line 3321  Intellectual Property and Copyright Stat Line 3613  Intellectual Property and Copyright Stat
3613                                            
3614  </p>  </p>
3615  <a name="GET CHANNELS"></a><br /><hr />  <a name="GET CHANNELS"></a><br /><hr />
3616  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3617  <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;Getting all created sampler channel count</h3>  <a name="rfc.section.6.4.3"></a><h3>6.4.3.&nbsp;
3618    Getting all created sampler channel count</h3>
3619    
3620  <p>The number of sampler channels can change on runtime. To get the  <p>The number of sampler channels can change on runtime. To get the
3621                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
# Line 3359  Intellectual Property and Copyright Stat Line 3652  Intellectual Property and Copyright Stat
3652                                            
3653  </p>  </p>
3654  <a name="LIST CHANNELS"></a><br /><hr />  <a name="LIST CHANNELS"></a><br /><hr />
3655  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3656  <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;Getting all created sampler channel list</h3>  <a name="rfc.section.6.4.4"></a><h3>6.4.4.&nbsp;
3657    Getting all created sampler channel list</h3>
3658    
3659  <p>The number of sampler channels can change on runtime. To get the  <p>The number of sampler channels can change on runtime. To get the
3660                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
# Line 3398  Intellectual Property and Copyright Stat Line 3692  Intellectual Property and Copyright Stat
3692                                            
3693  </p>  </p>
3694  <a name="ADD CHANNEL"></a><br /><hr />  <a name="ADD CHANNEL"></a><br /><hr />
3695  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3696  <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;Adding a new sampler channel</h3>  <a name="rfc.section.6.4.5"></a><h3>6.4.5.&nbsp;
3697    Adding a new sampler channel</h3>
3698    
3699  <p>A new sampler channel can be added to the end of the sampler  <p>A new sampler channel can be added to the end of the sampler
3700                      channel list by sending the following command:                      channel list by sending the following command:
# Line 3472  Intellectual Property and Copyright Stat Line 3767  Intellectual Property and Copyright Stat
3767                                            
3768  </p>  </p>
3769  <a name="REMOVE CHANNEL"></a><br /><hr />  <a name="REMOVE CHANNEL"></a><br /><hr />
3770  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3771  <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;Removing a sampler channel</h3>  <a name="rfc.section.6.4.6"></a><h3>6.4.6.&nbsp;
3772    Removing a sampler channel</h3>
3773    
3774  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3775  </p>  </p>
# Line 3487  Intellectual Property and Copyright Stat Line 3783  Intellectual Property and Copyright Stat
3783  </p>  </p>
3784  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3785                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3786                      <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
3787                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a>                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
3788                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3789                      remain the same.                      remain the same.
3790  </p>  </p>
# Line 3538  Intellectual Property and Copyright Stat Line 3834  Intellectual Property and Copyright Stat
3834                                            
3835  </p>  </p>
3836  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3837  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3838  <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;Getting amount of available engines</h3>  <a name="rfc.section.6.4.7"></a><h3>6.4.7.&nbsp;
3839    Getting amount of available engines</h3>
3840    
3841  <p>The front-end can ask for the number of available engines by sending the following command:  <p>The front-end can ask for the number of available engines by sending the following command:
3842  </p>  </p>
# Line 3574  Intellectual Property and Copyright Stat Line 3871  Intellectual Property and Copyright Stat
3871                                            
3872  </p>  </p>
3873  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3874  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3875  <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;Getting all available engines</h3>  <a name="rfc.section.6.4.8"></a><h3>6.4.8.&nbsp;
3876    Getting all available engines</h3>
3877    
3878  <p>The front-end can ask for a list of all available engines by sending the following command:  <p>The front-end can ask for a list of all available engines by sending the following command:
3879  </p>  </p>
# Line 3613  Intellectual Property and Copyright Stat Line 3911  Intellectual Property and Copyright Stat
3911                                            
3912  </p>  </p>
3913  <a name="GET ENGINE INFO"></a><br /><hr />  <a name="GET ENGINE INFO"></a><br /><hr />
3914  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3915  <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;Getting information about an engine</h3>  <a name="rfc.section.6.4.9"></a><h3>6.4.9.&nbsp;
3916    Getting information about an engine</h3>
3917    
3918  <p>The front-end can ask for information about a specific engine by  <p>The front-end can ask for information about a specific engine by
3919                      sending the following command:                      sending the following command:
# Line 3628  Intellectual Property and Copyright Stat Line 3927  Intellectual Property and Copyright Stat
3927                                            
3928  </p>  </p>
3929  <p>Where &lt;engine-name&gt; is an engine name as obtained by the  <p>Where &lt;engine-name&gt; is an engine name as obtained by the
3930                      <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</span><span class="info">Getting all available engines</span><span>)</span></a> command.                      <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a> command.
3931  </p>  </p>
3932  <p>Possible Answers:  <p>Possible Answers:
3933  </p>  </p>
# Line 3648  Intellectual Property and Copyright Stat Line 3947  Intellectual Property and Copyright Stat
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 3685  Intellectual Property and Copyright Stat Line 3986  Intellectual Property and Copyright Stat
3986                                            
3987  </p>  </p>
3988  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3989  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3990  <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;Getting sampler channel information</h3>  <a name="rfc.section.6.4.10"></a><h3>6.4.10.&nbsp;
3991    Getting sampler channel information</h3>
3992    
3993  <p>The front-end can ask for the current settings of a sampler channel  <p>The front-end can ask for the current settings of a sampler channel
3994                      by sending the following command:                      by sending the following command:
# Line 3700  Intellectual Property and Copyright Stat Line 4002  Intellectual Property and Copyright Stat
4002                                            
4003  </p>  </p>
4004  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4005                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4006                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4007  </p>  </p>
4008  <p>Possible Answers:  <p>Possible Answers:
4009  </p>  </p>
# Line 3732  Intellectual Property and Copyright Stat Line 4034  Intellectual Property and Copyright Stat
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 3766  Intellectual Property and Copyright Stat Line 4068  Intellectual Property and Copyright Stat
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 3774  Intellectual Property and Copyright Stat Line 4077  Intellectual Property and Copyright Stat
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 3783  Intellectual Property and Copyright Stat Line 4088  Intellectual Property and Copyright Stat
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 3790  Intellectual Property and Copyright Stat Line 4097  Intellectual Property and Copyright Stat
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 3802  Intellectual Property and Copyright Stat Line 4112  Intellectual Property and Copyright Stat
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 3811  Intellectual Property and Copyright Stat Line 4121  Intellectual Property and Copyright Stat
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 3829  Intellectual Property and Copyright Stat Line 4141  Intellectual Property and Copyright Stat
4141                                          </p>                                          </p>
4142  <blockquote class="text">  <blockquote class="text">
4143  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4144                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4145                                              1.0 means amplification)                                              1.0 means amplification)
4146  </p>  </p>
4147  </blockquote>  </blockquote>
# Line 3856  Intellectual Property and Copyright Stat Line 4168  Intellectual Property and Copyright Stat
4168  </blockquote>  </blockquote>
4169                                                                            
4170    
4171    <p>MIDI_INSTRUMENT_MAP -
4172                                            </p>
4173    <blockquote class="text">
4174    <p>Determines to which MIDI instrument map this sampler
4175                                                channel is assigned to. Read chapter
4176                                                <a class='info' href='#SET CHANNEL MIDI_INSTRUMENT_MAP'>"SET CHANNEL MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Assigning a MIDI instrument map to a sampler channel</span><span>)</span></a>
4177                                                for a list of possible values.
4178    </p>
4179    </blockquote>
4180                                        
4181    
4182  </blockquote>  </blockquote>
4183                                                            
4184    
# Line 3895  Intellectual Property and Copyright Stat Line 4218  Intellectual Property and Copyright Stat
4218  </p>  </p>
4219  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4220  </p>  </p>
4221    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4222    </p>
4223    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4224    </p>
4225    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4226    </p>
4227    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4228    </p>
4229  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4230  </p>  </p>
4231  </blockquote><p>  </blockquote><p>
4232                                            
4233  </p>  </p>
4234  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4235  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4236  <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;Current number of active voices</h3>  <a name="rfc.section.6.4.11"></a><h3>6.4.11.&nbsp;
4237    Current number of active voices</h3>
4238    
4239  <p>The front-end can ask for the current number of active voices on a  <p>The front-end can ask for the current number of active voices on a
4240                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3916  Intellectual Property and Copyright Stat Line 4248  Intellectual Property and Copyright Stat
4248                                            
4249  </p>  </p>
4250  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4251                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4252                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4253  </p>  </p>
4254  <p>Possible Answers:  <p>Possible Answers:
4255  </p>  </p>
# Line 3941  Intellectual Property and Copyright Stat Line 4273  Intellectual Property and Copyright Stat
4273                                            
4274  </p>  </p>
4275  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4276  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4277  <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;Current number of active disk streams</h3>  <a name="rfc.section.6.4.12"></a><h3>6.4.12.&nbsp;
4278    Current number of active disk streams</h3>
4279    
4280  <p>The front-end can ask for the current number of active disk streams  <p>The front-end can ask for the current number of active disk streams
4281                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 3956  Intellectual Property and Copyright Stat Line 4289  Intellectual Property and Copyright Stat
4289                                            
4290  </p>  </p>
4291  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in  <p>Where &lt;sampler-channel&gt; is the sampler channel number the front-end is interested in
4292                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4293                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4294  </p>  </p>
4295  <p>Possible Answers:  <p>Possible Answers:
4296  </p>  </p>
# Line 3983  Intellectual Property and Copyright Stat Line 4316  Intellectual Property and Copyright Stat
4316                                            
4317  </p>  </p>
4318  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4319  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4320  <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;Current fill state of disk stream buffers</h3>  <a name="rfc.section.6.4.13"></a><h3>6.4.13.&nbsp;
4321    Current fill state of disk stream buffers</h3>
4322    
4323  <p>The front-end can ask for the current fill state of all disk streams  <p>The front-end can ask for the current fill state of all disk streams
4324                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 4009  Intellectual Property and Copyright Stat Line 4343  Intellectual Property and Copyright Stat
4343  </p>  </p>
4344  <p>to get the fill state in percent, where &lt;sampler-channel&gt; is the  <p>to get the fill state in percent, where &lt;sampler-channel&gt; is the
4345                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4346                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4347                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command.                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command.
4348  </p>  </p>
4349  <p>Possible Answers:  <p>Possible Answers:
4350  </p>  </p>
# Line 4060  Intellectual Property and Copyright Stat Line 4394  Intellectual Property and Copyright Stat
4394                                            
4395  </p>  </p>
4396  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4397  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4398  <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;Setting audio output device</h3>  <a name="rfc.section.6.4.14"></a><h3>6.4.14.&nbsp;
4399    Setting audio output device</h3>
4400    
4401  <p>The front-end can set the audio output device on a specific sampler  <p>The front-end can set the audio output device on a specific sampler
4402                      channel by sending the following command:                      channel by sending the following command:
# Line 4075  Intellectual Property and Copyright Stat Line 4410  Intellectual Property and Copyright Stat
4410                                            
4411  </p>  </p>
4412  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4413                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4414                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4415                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the                      &lt;audio-device-id&gt; is the numerical ID of the audio output device as given by the
4416                      <a class="info" href="#CREATE AUDIO_OUTPUT_DEVICE">"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class="info">Creating an audio output device</span><span>)</span></a>                      <a class='info' href='#CREATE AUDIO_OUTPUT_DEVICE'>"CREATE AUDIO_OUTPUT_DEVICE"<span> (</span><span class='info'>Creating an audio output device</span><span>)</span></a>
4417                      or <a class="info" href="#LIST AUDIO_OUTPUT_DEVICES">"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class="info">Getting all created audio output device list</span><span>)</span></a>                      or <a class='info' href='#LIST AUDIO_OUTPUT_DEVICES'>"LIST AUDIO_OUTPUT_DEVICES"<span> (</span><span class='info'>Getting all created audio output device list</span><span>)</span></a>
4418                      command.                      command.
4419  </p>  </p>
4420  <p>Possible Answers:  <p>Possible Answers:
# Line 4126  Intellectual Property and Copyright Stat Line 4461  Intellectual Property and Copyright Stat
4461  </blockquote><p>  </blockquote><p>
4462                                            
4463  </p>  </p>
4464  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4465  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4466  <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;Setting audio output type</h3>  <a name="rfc.section.6.4.15"></a><h3>6.4.15.&nbsp;
4467    Setting audio output type</h3>
4468    
4469  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4470  </p>  </p>
# Line 4191  Intellectual Property and Copyright Stat Line 4527  Intellectual Property and Copyright Stat
4527                                            
4528  </p>  </p>
4529  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4530  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4531  <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;Setting audio output channel</h3>  <a name="rfc.section.6.4.16"></a><h3>6.4.16.&nbsp;
4532    Setting audio output channel</h3>
4533    
4534  <p>The front-end can alter the audio output channel on a specific  <p>The front-end can alter the audio output channel on a specific
4535                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4206  Intellectual Property and Copyright Stat Line 4543  Intellectual Property and Copyright Stat
4543                                            
4544  </p>  </p>
4545  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4546                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4547                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, &lt;audio-out&gt; is the
4548                      numerical ID of the sampler channel's audio output channel which should be                      numerical ID of the sampler channel's audio output channel which should be
4549                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio                      rerouted and &lt;audio-in&gt; is the numerical ID of the audio channel of the selected audio
4550                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
# Line 4257  Intellectual Property and Copyright Stat Line 4594  Intellectual Property and Copyright Stat
4594                                            
4595  </p>  </p>
4596  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4597  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4598  <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;Setting MIDI input device</h3>  <a name="rfc.section.6.4.17"></a><h3>6.4.17.&nbsp;
4599    Setting MIDI input device</h3>
4600    
4601  <p>The front-end can set the MIDI input device on a specific sampler  <p>The front-end can set the MIDI input device on a specific sampler
4602                      channel by sending the following command:                      channel by sending the following command:
# Line 4272  Intellectual Property and Copyright Stat Line 4610  Intellectual Property and Copyright Stat
4610                                            
4611  </p>  </p>
4612  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4613                      as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4614                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command
4615                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the                      and &lt;midi-device-id&gt; is  the numerical ID of the MIDI input device as returned by the
4616                      <a class="info" href="#CREATE MIDI_INPUT_DEVICE">"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class="info">Creating a MIDI input device</span><span>)</span></a>                      <a class='info' href='#CREATE MIDI_INPUT_DEVICE'>"CREATE MIDI_INPUT_DEVICE"<span> (</span><span class='info'>Creating a MIDI input device</span><span>)</span></a>
4617                      or <a class="info" href="#LIST MIDI_INPUT_DEVICES">"LIST MIDI_INPUT_DEVICES"<span> (</span><span class="info">Getting all created MIDI input device list</span><span>)</span></a> command.                      or <a class='info' href='#LIST MIDI_INPUT_DEVICES'>"LIST MIDI_INPUT_DEVICES"<span> (</span><span class='info'>Getting all created MIDI input device list</span><span>)</span></a> command.
4618  </p>  </p>
4619  <p>Possible Answers:  <p>Possible Answers:
4620  </p>  </p>
# Line 4323  Intellectual Property and Copyright Stat Line 4661  Intellectual Property and Copyright Stat
4661                                            
4662  </p>  </p>
4663  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4664  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4665  <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;Setting MIDI input type</h3>  <a name="rfc.section.6.4.18"></a><h3>6.4.18.&nbsp;
4666    Setting MIDI input type</h3>
4667    
4668  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4669  </p>  </p>
# Line 4387  Intellectual Property and Copyright Stat Line 4726  Intellectual Property and Copyright Stat
4726                                            
4727  </p>  </p>
4728  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4729  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4730  <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;Setting MIDI input port</h3>  <a name="rfc.section.6.4.19"></a><h3>6.4.19.&nbsp;
4731    Setting MIDI input port</h3>
4732    
4733  <p>The front-end can alter the MIDI input port on a specific sampler  <p>The front-end can alter the MIDI input port on a specific sampler
4734                      channel by sending the following command:                      channel by sending the following command:
# Line 4450  Intellectual Property and Copyright Stat Line 4790  Intellectual Property and Copyright Stat
4790                                            
4791  </p>  </p>
4792  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4793  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4794  <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;Setting MIDI input channel</h3>  <a name="rfc.section.6.4.20"></a><h3>6.4.20.&nbsp;
4795    Setting MIDI input channel</h3>
4796    
4797  <p>The front-end can alter the MIDI channel a sampler channel should  <p>The front-end can alter the MIDI channel a sampler channel should
4798                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4513  Intellectual Property and Copyright Stat Line 4854  Intellectual Property and Copyright Stat
4854                                            
4855  </p>  </p>
4856  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4857  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4858  <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;Setting channel volume</h3>  <a name="rfc.section.6.4.21"></a><h3>6.4.21.&nbsp;
4859    Setting channel volume</h3>
4860    
4861  <p>The front-end can alter the volume of a sampler channel by sending  <p>The front-end can alter the volume of a sampler channel by sending
4862                      the following command:                      the following command:
# Line 4577  Intellectual Property and Copyright Stat Line 4919  Intellectual Property and Copyright Stat
4919                                            
4920  </p>  </p>
4921  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4922  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4923  <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;Muting a sampler channel</h3>  <a name="rfc.section.6.4.22"></a><h3>6.4.22.&nbsp;
4924    Muting a sampler channel</h3>
4925    
4926  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4927                      channel by sending the following command:                      channel by sending the following command:
# Line 4592  Intellectual Property and Copyright Stat Line 4935  Intellectual Property and Copyright Stat
4935                                            
4936  </p>  </p>
4937  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4938                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
4939                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
4940                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"                      &lt;mute&gt; should be replaced either by "1" to mute the channel or "0"
4941                      to unmute the channel.                      to unmute the channel.
4942  </p>  </p>
# Line 4642  Intellectual Property and Copyright Stat Line 4985  Intellectual Property and Copyright Stat
4985                                            
4986  </p>  </p>
4987  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4988  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4989  <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;Soloing a sampler channel</h3>  <a name="rfc.section.6.4.23"></a><h3>6.4.23.&nbsp;
4990    Soloing a sampler channel</h3>
4991    
4992  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4993                      by sending the following command:                      by sending the following command:
# Line 4657  Intellectual Property and Copyright Stat Line 5001  Intellectual Property and Copyright Stat
5001                                            
5002  </p>  </p>
5003  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5004                      number as returned by the <a class="info" href="#ADD CHANNEL">"ADD CHANNEL"<span> (</span><span class="info">Adding a new sampler channel</span><span>)</span></a>                      number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5005                      or <a class="info" href="#LIST CHANNELS">"LIST CHANNELS"<span> (</span><span class="info">Getting all created sampler channel list</span><span>)</span></a> command and                      or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
5006                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"                      &lt;solo&gt; should be replaced either by "1" to solo the channel or "0"
5007                      to unsolo the channel.                      to unsolo the channel.
5008  </p>  </p>
# Line 4706  Intellectual Property and Copyright Stat Line 5050  Intellectual Property and Copyright Stat
5050  </blockquote><p>  </blockquote><p>
5051                                            
5052  </p>  </p>
5053    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
5054    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5055    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
5056    Assigning a MIDI instrument map to a sampler channel</h3>
5057    
5058    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5059                        by sending the following command:
5060    </p>
5061    <p>
5062                            </p>
5063    <blockquote class="text">
5064    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5065    </p>
5066    </blockquote><p>
5067                        
5068    </p>
5069    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5070                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5071                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
5072                        &lt;map&gt; can have the following possibilites:
5073    </p>
5074    <p>
5075                            </p>
5076    <blockquote class="text">
5077    <p>"NONE" -
5078                                    </p>
5079    <blockquote class="text">
5080    <p>This is the default setting. In this case
5081                                        the sampler channel is not assigned any MIDI
5082                                        instrument map and thus will ignore all MIDI
5083                                        program change messages.
5084    </p>
5085    </blockquote>
5086                                
5087    
5088    <p>"DEFAULT" -
5089                                    </p>
5090    <blockquote class="text">
5091    <p>The sampler channel will always use the
5092                                        default MIDI instrument map to handle MIDI
5093                                        program change messages.
5094    </p>
5095    </blockquote>
5096                                
5097    
5098    <p>numeric ID -
5099                                    </p>
5100    <blockquote class="text">
5101    <p>You can assign a specific MIDI instrument map
5102                                        by replacing &lt;map&gt; with the respective numeric
5103                                        ID of the MIDI instrument map as returned by the
5104                                        <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
5105                                        command. Once that map will be deleted, the sampler
5106                                        channel would fall back to "NONE".
5107    </p>
5108    </blockquote>
5109                                
5110    
5111    </blockquote><p>
5112                        
5113    </p>
5114    <p>Read chapter <a class='info' href='#MIDI Instrument Mapping'>"MIDI Instrument Mapping"<span> (</span><span class='info'>MIDI Instrument Mapping</span><span>)</span></a>
5115                        for details regarding MIDI instrument mapping.
5116    </p>
5117    <p>Possible Answers:
5118    </p>
5119    <p>
5120                            </p>
5121    <blockquote class="text">
5122    <p>"OK" -
5123                                    </p>
5124    <blockquote class="text">
5125    <p>on success
5126    </p>
5127    </blockquote>
5128                                
5129    
5130    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5131                                    </p>
5132    <blockquote class="text">
5133    <p>in case it failed, providing an appropriate error code and error message
5134    </p>
5135    </blockquote>
5136                                
5137    
5138    </blockquote><p>
5139                        
5140    </p>
5141    <p>Examples:
5142    </p>
5143    <p>
5144                            </p>
5145    <blockquote class="text">
5146    <p>
5147    </p>
5148    </blockquote><p>
5149                        
5150    </p>
5151    <a name="CREATE FX_SEND"></a><br /><hr />
5152    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5153    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5154    Adding an effect send to a sampler channel</h3>
5155    
5156    <p>The front-end can create an additional effect send on a specific sampler channel
5157                        by sending the following command:
5158    </p>
5159    <p>
5160                            </p>
5161    <blockquote class="text">
5162    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5163    </p>
5164    </blockquote><p>
5165                        
5166    </p>
5167    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5168                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5169                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, that is the
5170                        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
5172                        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, 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>
5177    <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
5179                        audio output device, that way you can i.e. first increase the amount of audio
5180                        channels on the audio output device for having dedicated effect send output
5181                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5182                        be picked. You can alter the destination channels however with
5183                        <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>.
5184                        
5185    </p>
5186    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5187                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5188                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5189                        the voices and route the audio signal afterwards to the master outputs and effect send
5190                        outputs (along with their respective effect send levels). A sampler channel without effect
5191                        sends however can mix its voices directly into the audio output devices's audio buffers
5192                        and is thus faster.
5193                        
5194    </p>
5195    <p>Possible Answers:
5196    </p>
5197    <p>
5198                            </p>
5199    <blockquote class="text">
5200    <p>"OK[&lt;fx-send-id&gt;]" -
5201                                    </p>
5202    <blockquote class="text">
5203    <p>in case a new effect send could be added to the
5204                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5205                                        unique ID of the newly created effect send entity
5206    </p>
5207    </blockquote>
5208                                
5209    
5210    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5211                                    </p>
5212    <blockquote class="text">
5213    <p>when a new effect send could not be added, i.e.
5214                                        due to invalid parameters
5215    </p>
5216    </blockquote>
5217                                
5218    
5219    </blockquote><p>
5220                        
5221    </p>
5222    <p>Examples:
5223    </p>
5224    <p>
5225                            </p>
5226    <blockquote class="text">
5227    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5228    </p>
5229    <p>S: "OK[0]"
5230    </p>
5231    </blockquote><p>
5232                        
5233    </p>
5234    <p>
5235                            </p>
5236    <blockquote class="text">
5237    <p>C: "CREATE FX_SEND 0 93"
5238    </p>
5239    <p>S: "OK[1]"
5240    </p>
5241    </blockquote><p>
5242                        
5243    </p>
5244    <a name="DESTROY FX_SEND"></a><br /><hr />
5245    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5246    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5247    Removing an effect send from a sampler channel</h3>
5248    
5249    <p>The front-end can remove an existing effect send on a specific sampler channel
5250                        by sending the following command:
5251    </p>
5252    <p>
5253                            </p>
5254    <blockquote class="text">
5255    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5256    </p>
5257    </blockquote><p>
5258                        
5259    </p>
5260    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5261                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5262                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command, that is the
5263                        sampler channel from which the effect send should be removed from and
5264                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5265                        <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>
5266                        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.
5267    </p>
5268    <p>Possible Answers:
5269    </p>
5270    <p>
5271                            </p>
5272    <blockquote class="text">
5273    <p>"OK" -
5274                                    </p>
5275    <blockquote class="text">
5276    <p>on success
5277    </p>
5278    </blockquote>
5279                                
5280    
5281    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5282                                    </p>
5283    <blockquote class="text">
5284    <p>in case it failed, providing an appropriate error code and
5285                                        error message
5286    </p>
5287    </blockquote>
5288                                
5289    
5290    </blockquote><p>
5291                        
5292    </p>
5293    <p>Example:
5294    </p>
5295    <p>
5296                            </p>
5297    <blockquote class="text">
5298    <p>C: "DESTROY FX_SEND 0 0"
5299    </p>
5300    <p>S: "OK"
5301    </p>
5302    </blockquote><p>
5303                        
5304    </p>
5305    <a name="GET FX_SENDS"></a><br /><hr />
5306    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5307    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5308    Getting amount of effect sends on a sampler channel</h3>
5309    
5310    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5311                        by sending the following command:
5312    </p>
5313    <p>
5314                            </p>
5315    <blockquote class="text">
5316    <p>GET FX_SENDS &lt;sampler-channel&gt;
5317    </p>
5318    </blockquote><p>
5319                        
5320    </p>
5321    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5322                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5323                        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.
5324    </p>
5325    <p>Possible Answers:
5326    </p>
5327    <p>
5328                            </p>
5329    <blockquote class="text">
5330    <p>The sampler will answer by returning the number of effect
5331                                sends on the given sampler channel.
5332    </p>
5333    </blockquote><p>
5334                        
5335    </p>
5336    <p>Example:
5337    </p>
5338    <p>
5339                            </p>
5340    <blockquote class="text">
5341    <p>C: "GET FX_SENDS 0"
5342    </p>
5343    <p>S: "2"
5344    </p>
5345    </blockquote><p>
5346                        
5347    </p>
5348    <a name="LIST FX_SENDS"></a><br /><hr />
5349    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5350    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5351    Listing all effect sends on a sampler channel</h3>
5352    
5353    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5354                        by sending the following command:
5355    </p>
5356    <p>
5357                            </p>
5358    <blockquote class="text">
5359    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5360    </p>
5361    </blockquote><p>
5362                        
5363    </p>
5364    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5365                        number as returned by the <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
5366                        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.
5367    </p>
5368    <p>Possible Answers:
5369    </p>
5370    <p>
5371                            </p>
5372    <blockquote class="text">
5373    <p>The sampler will answer by returning a comma separated list
5374                                with all effect sends' numerical IDs on the given sampler
5375                                channel.
5376    </p>
5377    </blockquote><p>
5378                        
5379    </p>
5380    <p>Examples:
5381    </p>
5382    <p>
5383                            </p>
5384    <blockquote class="text">
5385    <p>C: "LIST FX_SENDS 0"
5386    </p>
5387    <p>S: "0,1"
5388    </p>
5389    </blockquote><p>
5390                        
5391    </p>
5392    <p>
5393                            </p>
5394    <blockquote class="text">
5395    <p>C: "LIST FX_SENDS 1"
5396    </p>
5397    <p>S: ""
5398    </p>
5399    </blockquote><p>
5400                        
5401    </p>
5402    <a name="GET FX_SEND INFO"></a><br /><hr />
5403    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5404    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5405    Getting effect send information</h3>
5406    
5407    <p>The front-end can ask for the current settings of an effect send entity
5408                        by sending the following command:
5409    </p>
5410    <p>
5411                            </p>
5412    <blockquote class="text">
5413    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5414    </p>
5415    </blockquote><p>
5416                        
5417    </p>
5418    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5419                        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>
5420                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a> command and
5421                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5422                        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>
5423                        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.
5424                      
5425    </p>
5426    <p>Possible Answers:
5427    </p>
5428    <p>
5429                            </p>
5430    <blockquote class="text">
5431    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5432                                Each answer line begins with the settings category name
5433                                followed by a colon and then a space character &lt;SP&gt; and finally
5434                                the info character string to that setting category. At the
5435                                moment the following categories are defined:
5436    </p>
5437    <p>
5438                                    </p>
5439    <blockquote class="text">
5440    <p>NAME -
5441                                            </p>
5442    <blockquote class="text">
5443    <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>
5447    </blockquote>
5448                                        
5449    
5450    <p>MIDI_CONTROLLER -
5451                                            </p>
5452    <blockquote class="text">
5453    <p>a value between 0 and 127 reflecting the MIDI controller
5454                                                which is able to modify the effect send's send level
5455    </p>
5456    </blockquote>
5457                                        
5458    
5459    <p>LEVEL -
5460                                            </p>
5461    <blockquote class="text">
5462    <p>optionally dotted number reflecting the effect send's
5463                                                current send level (where a value &lt; 1.0 means attenuation
5464                                                and a value > 1.0 means amplification)
5465    </p>
5466    </blockquote>
5467                                        
5468    
5469    <p>AUDIO_OUTPUT_ROUTING -
5470                                            </p>
5471    <blockquote class="text">
5472    <p>comma separated list which reflects to which audio
5473                                                channel of the selected audio output device each
5474                                                effect send output channel is routed to, e.g. "0,3" would
5475                                                mean the effect send's output channel 0 is routed to channel
5476                                                0 of the audio output device and the effect send's output
5477                                                channel 1 is routed to the channel 3 of the audio
5478                                                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>
5480                                                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>
5499    </blockquote>
5500                                        
5501    
5502    </blockquote>
5503                                
5504    
5505    </blockquote><p>
5506                        
5507    </p>
5508    <p>The mentioned fields above don't have to be in particular order.
5509    </p>
5510    <p>Example:
5511    </p>
5512    <p>
5513                            </p>
5514    <blockquote class="text">
5515    <p>C: "GET FX_SEND INFO 0 0"
5516    </p>
5517    <p>S: "NAME: Reverb Send"
5518    </p>
5519    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5520    </p>
5521    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5522    </p>
5523    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5524    </p>
5525    <p>&nbsp;&nbsp;&nbsp;"EFFECT: NONE"
5526    </p>
5527    <p>&nbsp;&nbsp;&nbsp;"."
5528    </p>
5529    </blockquote><p>
5530                        
5531    </p>
5532    <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>
5554    <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>
5620    
5621    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5622                        sampler channel by sending the following command:
5623    </p>
5624    <p>
5625                            </p>
5626    <blockquote class="text">
5627    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5628    </p>
5629    </blockquote><p>
5630                        
5631    </p>
5632    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5633                        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>
5634                        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,
5635                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5636                        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>
5637                        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,
5638                        &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
5640                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5641                        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>
5645    <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
5647                        effect send entity does always have exactly as much audio channels as its
5648                        sampler channel. So if the sampler channel is stereo, the effect send does
5649                        have two audio channels as well. Also keep in mind that the amount of audio
5650                        channels on a sampler channel might be dependant not only to the deployed
5651                        sampler engine on the sampler channel, but also dependant to the instrument
5652                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5653                        send into a mono one by simply altering its audio routing appropriately.
5654    </p>
5655    <p>Possible Answers:
5656    </p>
5657    <p>
5658                            </p>
5659    <blockquote class="text">
5660    <p>"OK" -
5661                                    </p>
5662    <blockquote class="text">
5663    <p>on success
5664    </p>
5665    </blockquote>
5666                                
5667    
5668    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5669                                    </p>
5670    <blockquote class="text">
5671    <p>if audio output channel was set, but there are noteworthy
5672                                        issue(s) related, providing an appropriate warning code and
5673                                        warning message
5674    </p>
5675    </blockquote>
5676                                
5677    
5678    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5679                                    </p>
5680    <blockquote class="text">
5681    <p>in case it failed, providing an appropriate error code and error message
5682    </p>
5683    </blockquote>
5684                                
5685    
5686    </blockquote><p>
5687                        
5688    </p>
5689    <p>Example:
5690    </p>
5691    <p>
5692                            </p>
5693    <blockquote class="text">
5694    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5695    </p>
5696    <p>S: "OK"
5697    </p>
5698    </blockquote><p>
5699                        
5700    </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 />
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>
5835    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5836    Altering effect send's MIDI controller</h3>
5837    
5838    <p>The front-end can alter the MIDI controller of an effect
5839                        send entity by sending the following command:
5840    </p>
5841    <p>
5842                            </p>
5843    <blockquote class="text">
5844    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5845    </p>
5846    </blockquote><p>
5847                        
5848    </p>
5849    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5850                        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>
5851                        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,
5852                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5853                        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>
5854                        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
5855                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5856                        able to modify the effect send's send level.
5857    </p>
5858    <p>Possible Answers:
5859    </p>
5860    <p>
5861                            </p>
5862    <blockquote class="text">
5863    <p>"OK" -
5864                                    </p>
5865    <blockquote class="text">
5866    <p>on success
5867    </p>
5868    </blockquote>
5869                                
5870    
5871    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5872                                    </p>
5873    <blockquote class="text">
5874    <p>if MIDI controller was set, but there are noteworthy
5875                                        issue(s) related, providing an appropriate warning code and
5876                                        warning message
5877    </p>
5878    </blockquote>
5879                                
5880    
5881    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5882                                    </p>
5883    <blockquote class="text">
5884    <p>in case it failed, providing an appropriate error code and error message
5885    </p>
5886    </blockquote>
5887                                
5888    
5889    </blockquote><p>
5890                        
5891    </p>
5892    <p>Example:
5893    </p>
5894    <p>
5895                            </p>
5896    <blockquote class="text">
5897    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5898    </p>
5899    <p>S: "OK"
5900    </p>
5901    </blockquote><p>
5902                        
5903    </p>
5904    <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>
5906    <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5907    Altering effect send's send level</h3>
5908    
5909    <p>The front-end can alter the current send level of an effect
5910                        send entity by sending the following command:
5911    </p>
5912    <p>
5913                            </p>
5914    <blockquote class="text">
5915    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5916    </p>
5917    </blockquote><p>
5918                        
5919    </p>
5920    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5921                        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>
5922                        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,
5923                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5924                        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>
5925                        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
5926                        &lt;volume&gt; is an optionally dotted positive number (a value
5927                        smaller than 1.0 means attenuation, whereas a value greater than
5928                        1.0 means amplification) reflecting the new send level.
5929    </p>
5930    <p>Possible Answers:
5931    </p>
5932    <p>
5933                            </p>
5934    <blockquote class="text">
5935    <p>"OK" -
5936                                    </p>
5937    <blockquote class="text">
5938    <p>on success
5939    </p>
5940    </blockquote>
5941                                
5942    
5943    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5944                                    </p>
5945    <blockquote class="text">
5946    <p>if new send level was set, but there are noteworthy
5947                                        issue(s) related, providing an appropriate warning code and
5948                                        warning message
5949    </p>
5950    </blockquote>
5951                                
5952    
5953    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5954                                    </p>
5955    <blockquote class="text">
5956    <p>in case it failed, providing an appropriate error code and error message
5957    </p>
5958    </blockquote>
5959                                
5960    
5961    </blockquote><p>
5962                        
5963    </p>
5964    <p>Example:
5965    </p>
5966    <p>
5967                            </p>
5968    <blockquote class="text">
5969    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5970    </p>
5971    <p>S: "OK"
5972    </p>
5973    </blockquote><p>
5974                        
5975    </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="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table 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.24"></a><h3>6.4.24.&nbsp;Resetting a sampler channel</h3>  <a name="rfc.section.6.4.37"></a><h3>6.4.37.&nbsp;
6077    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:
6080  </p>  </p>
# Line 4772  Intellectual Property and Copyright Stat Line 6138  Intellectual Property and Copyright Stat
6138                                            
6139  </p>  </p>
6140  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
6141  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6142  <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;Controlling connection</h3>  <a name="rfc.section.6.5"></a><h3>6.5.&nbsp;
6143    Controlling connection</h3>
6144    
6145  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
6146  </p>  </p>
6147  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></a><br /><hr />
6148  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6149  <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;Register front-end for receiving event messages</h3>  <a name="rfc.section.6.5.1"></a><h3>6.5.1.&nbsp;
6150    Register front-end for receiving event messages</h3>
6151    
6152  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
6153                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
# Line 4841  Intellectual Property and Copyright Stat Line 6209  Intellectual Property and Copyright Stat
6209                                            
6210  </p>  </p>
6211  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
6212  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6213  <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;Unregister front-end for not receiving event messages</h3>  <a name="rfc.section.6.5.2"></a><h3>6.5.2.&nbsp;
6214    Unregister front-end for not receiving event messages</h3>
6215    
6216  <p>The front-end can unregister itself if it doesn't want to receive event  <p>The front-end can unregister itself if it doesn't want to receive event
6217                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4904  Intellectual Property and Copyright Stat Line 6273  Intellectual Property and Copyright Stat
6273                                            
6274  </p>  </p>
6275  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
6276  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6277  <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;Enable or disable echo of commands</h3>  <a name="rfc.section.6.5.3"></a><h3>6.5.3.&nbsp;
6278    Enable or disable echo of commands</h3>
6279    
6280  <p>To enable or disable back sending of commands to the client the following command can be used:  <p>To enable or disable back sending of commands to the client the following command can be used:
6281  </p>  </p>
# Line 4960  Intellectual Property and Copyright Stat Line 6330  Intellectual Property and Copyright Stat
6330                                            
6331  </p>  </p>
6332  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
6333  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6334  <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;Close client connection</h3>  <a name="rfc.section.6.5.4"></a><h3>6.5.4.&nbsp;
6335    Close client connection</h3>
6336    
6337  <p>The client can close its network connection to LinuxSampler by sending the following command:  <p>The client can close its network connection to LinuxSampler by sending the following command:
6338  </p>  </p>
# Line 4977  Intellectual Property and Copyright Stat Line 6348  Intellectual Property and Copyright Stat
6348                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6349  </p>  </p>
6350  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
6351  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6352  <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;Global commands</h3>  <a name="rfc.section.6.6"></a><h3>6.6.&nbsp;
6353    Global commands</h3>
6354    
6355  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6356  </p>  </p>
6357  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6358  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6359  <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;Current number of active voices</h3>  <a name="rfc.section.6.6.1"></a><h3>6.6.1.&nbsp;
6360    Current number of active voices</h3>
6361    
6362  <p>The front-end can ask for the current number of active voices on  <p>The front-end can ask for the current number of active voices on
6363                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5009  Intellectual Property and Copyright Stat Line 6382  Intellectual Property and Copyright Stat
6382                                            
6383  </p>  </p>
6384  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6385  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6386  <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;Maximum amount of active voices</h3>  <a name="rfc.section.6.6.2"></a><h3>6.6.2.&nbsp;
6387    Maximum amount of active voices</h3>
6388    
6389  <p>The front-end can ask for the maximum number of active voices  <p>The front-end can ask for the maximum number of active voices
6390                      by sending the following command:                      by sending the following command:
# Line 5034  Intellectual Property and Copyright Stat Line 6408  Intellectual Property and Copyright Stat
6408  </blockquote><p>  </blockquote><p>
6409                                            
6410  </p>  </p>
6411    <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>
6413    <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 />  <a name="RESET"></a><br /><hr />
6439  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table 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.3"></a><h3>6.6.3.&nbsp;Reset sampler</h3>  <a name="rfc.section.6.6.4"></a><h3>6.6.4.&nbsp;
6441    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:
6444  </p>  </p>
# Line 5075  Intellectual Property and Copyright Stat Line 6477  Intellectual Property and Copyright Stat
6477                                            
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="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table 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;General sampler informations</h3>  <a name="rfc.section.6.6.5"></a><h3>6.6.5.&nbsp;
6482    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
6485                         instance by sending the following command:                         instance by sending the following command:
# Line 5108  Intellectual Property and Copyright Stat Line 6511  Intellectual Property and Copyright Stat
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 5124  Intellectual Property and Copyright Stat Line 6529  Intellectual Property and Copyright Stat
6529                                          </p>                                          </p>
6530  <blockquote class="text">  <blockquote class="text">
6531  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6532                                              complies with (see <a class="info" href="#LSCP versioning">Section&nbsp;2<span> (</span><span class="info">Versioning of this specification</span><span>)</span></a> for details)                                              complies with (see <a class='info' href='#LSCP versioning'>Section&nbsp;2<span> (</span><span class='info'>Versioning of this specification</span><span>)</span></a> for details)
6533    </p>
6534    </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>  </p>
6543  </blockquote>  </blockquote>
6544                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6552  Intellectual Property and Copyright Stat
6552  <p>The mentioned fields above don't have to be in particular order.  <p>The mentioned fields above don't have to be in particular order.
6553                      Other fields might be added in future.                      Other fields might be added in future.
6554  </p>  </p>
6555    <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>
6557    <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6558    Getting global volume attenuation</h3>
6559    
6560    <p>The client can ask for the current global sampler-wide volume
6561                        attenuation by sending the following command:
6562    </p>
6563    <p>
6564                            </p>
6565    <blockquote class="text">
6566    <p>GET VOLUME
6567    </p>
6568    </blockquote><p>
6569                        
6570    </p>
6571    <p>Possible Answers:
6572    </p>
6573    <p>
6574                            </p>
6575    <blockquote class="text">
6576    <p>The sampler will always answer by returning the optional
6577                                dotted floating point coefficient, reflecting the current
6578                                global volume attenuation.
6579                                
6580    </p>
6581    </blockquote><p>
6582                        
6583    </p>
6584    <p>Note: it is up to the respective sampler engine whether to obey
6585                        that global volume parameter or not, but in general all engines SHOULD
6586                        use this parameter.
6587    </p>
6588    <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>
6590    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6591    Setting global volume attenuation</h3>
6592    
6593    <p>The client can alter the current global sampler-wide volume
6594                        attenuation by sending the following command:
6595    </p>
6596    <p>
6597                            </p>
6598    <blockquote class="text">
6599    <p>SET VOLUME &lt;volume&gt;
6600    </p>
6601    </blockquote><p>
6602                        
6603    </p>
6604    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6605                       floating point value, reflecting the new global volume parameter.
6606                       This value might usually be in the range between 0.0 and 1.0, that
6607                       is for attenuating the overall volume.
6608    </p>
6609    <p>Possible Answers:
6610    </p>
6611    <p>
6612                            </p>
6613    <blockquote class="text">
6614    <p>"OK" -
6615                                    </p>
6616    <blockquote class="text">
6617    <p>on success
6618    </p>
6619    </blockquote>
6620                                
6621    
6622    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6623                                    </p>
6624    <blockquote class="text">
6625    <p>if the global volume was set, but there are noteworthy
6626                                        issue(s) related, providing an appropriate warning code and
6627                                        warning message
6628    </p>
6629    </blockquote>
6630                                
6631    
6632    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6633                                    </p>
6634    <blockquote class="text">
6635    <p>in case it failed, providing an appropriate error code and error message
6636    </p>
6637    </blockquote>
6638                                
6639    
6640    </blockquote><p>
6641                        
6642    </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 />
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>
6837    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6838    MIDI Instrument Mapping</h3>
6839    
6840    <p>The MIDI protocol provides a way to switch between instruments
6841                    by sending so called MIDI bank select and MIDI program change
6842                    messages which are essentially just numbers. The following commands
6843                    allow to actually map arbitrary MIDI bank select / program change
6844                    numbers with real instruments.
6845    </p>
6846    <p>The sampler allows to manage an arbitrary amount of MIDI
6847                    instrument maps which define which instrument to load on
6848                    which MIDI program change message.
6849    </p>
6850    <p>By default, that is when the sampler is launched, there is no
6851                    map, thus the sampler will simply ignore all program change
6852                    messages. The front-end has to explicitly create at least one
6853                    map, add entries to the map and tell the respective sampler
6854                    channel(s) which MIDI instrument map to use, so the sampler
6855                    knows how to react on a given program change message on the
6856                    respective sampler channel, that is by switching to the
6857                    respectively defined engine type and loading the respective
6858                    instrument. See command
6859                    <a class='info' href='#SET CHANNEL MIDI_INSTRUMENT_MAP'>"SET CHANNEL MIDI_INSTRUMENT_MAP"<span> (</span><span class='info'>Assigning a MIDI instrument map to a sampler channel</span><span>)</span></a>
6860                    for how to assign a MIDI instrument map to a sampler channel.
6861    </p>
6862    <p>Also note per MIDI specification a bank select message does not
6863                    cause to switch to another instrument. Instead when receiving a
6864                    bank select message the bank value will be stored and a subsequent
6865                    program change message (which may occur at any time) will finally
6866                    cause the sampler to switch to the respective instrument as
6867                    reflected by the current MIDI instrument map.
6868    </p>
6869    <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>
6871    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6872    Create a new MIDI instrument map</h3>
6873    
6874    <p>The front-end can add a new MIDI instrument map by sending
6875                        the following command:
6876    </p>
6877    <p>
6878                            </p>
6879    <blockquote class="text">
6880    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6881    </p>
6882    </blockquote><p>
6883                        
6884    </p>
6885    <p>Where &lt;name&gt; is an optional argument allowing to
6886                        assign a custom name to the new map. MIDI instrument Map
6887                        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>
6892    <p>Possible Answers:
6893    </p>
6894    <p>
6895                            </p>
6896    <blockquote class="text">
6897    <p>"OK[&lt;map&gt;]" -
6898                                    </p>
6899    <blockquote class="text">
6900    <p>in case a new MIDI instrument map could
6901                                        be added, where &lt;map&gt; reflects the
6902                                        unique ID of the newly created MIDI
6903                                        instrument map
6904    </p>
6905    </blockquote>
6906                                
6907    
6908    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6909                                    </p>
6910    <blockquote class="text">
6911    <p>when a new map could not be created, which
6912                                        might never occur in practice
6913    </p>
6914    </blockquote>
6915                                
6916    
6917    </blockquote><p>
6918                        
6919    </p>
6920    <p>Examples:
6921    </p>
6922    <p>
6923                            </p>
6924    <blockquote class="text">
6925    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6926    </p>
6927    <p>S: "OK[0]"
6928    </p>
6929    </blockquote><p>
6930                        
6931    </p>
6932    <p>
6933                            </p>
6934    <blockquote class="text">
6935    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6936    </p>
6937    <p>S: "OK[1]"
6938    </p>
6939    </blockquote><p>
6940                        
6941    </p>
6942    <p>
6943                            </p>
6944    <blockquote class="text">
6945    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6946    </p>
6947    <p>S: "OK[5]"
6948    </p>
6949    </blockquote><p>
6950                        
6951    </p>
6952    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6953    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6954    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6955    Delete one particular or all MIDI instrument maps</h3>
6956    
6957    <p>The front-end can delete a particular MIDI instrument map
6958                        by sending the following command:
6959    </p>
6960    <p>
6961                            </p>
6962    <blockquote class="text">
6963    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6964    </p>
6965    </blockquote><p>
6966                        
6967    </p>
6968    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6969                        as returned by the <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
6970                        command.
6971    </p>
6972    <p>The front-end can delete all MIDI instrument maps by
6973                        sending the following command:
6974    </p>
6975    <p>
6976                            </p>
6977    <blockquote class="text">
6978    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6979    </p>
6980    </blockquote><p>
6981                        
6982    </p>
6983    <p>Possible Answers:
6984    </p>
6985    <p>
6986                            </p>
6987    <blockquote class="text">
6988    <p>"OK" -
6989                                    </p>
6990    <blockquote class="text">
6991    <p>in case the map(s) could be deleted
6992    </p>
6993    </blockquote>
6994                                
6995    
6996    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6997                                    </p>
6998    <blockquote class="text">
6999    <p>when the given map does not exist
7000    </p>
7001    </blockquote>
7002                                
7003    
7004    </blockquote><p>
7005                        
7006    </p>
7007    <p>Examples:
7008    </p>
7009    <p>
7010                            </p>
7011    <blockquote class="text">
7012    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
7013    </p>
7014    <p>S: "OK"
7015    </p>
7016    </blockquote><p>
7017                        
7018    </p>
7019    <p>
7020                            </p>
7021    <blockquote class="text">
7022    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
7023    </p>
7024    <p>S: "OK"
7025    </p>
7026    </blockquote><p>
7027                        
7028    </p>
7029    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
7030    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7031    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
7032    Get amount of existing MIDI instrument maps</h3>
7033    
7034    <p>The front-end can retrieve the current amount of MIDI
7035                        instrument maps by sending the following command:
7036    </p>
7037    <p>
7038                            </p>
7039    <blockquote class="text">
7040    <p>GET MIDI_INSTRUMENT_MAPS
7041    </p>
7042    </blockquote><p>
7043                        
7044    </p>
7045    <p>Possible Answers:
7046    </p>
7047    <p>
7048                            </p>
7049    <blockquote class="text">
7050    <p>The sampler will answer by returning the current
7051                                number of MIDI instrument maps.
7052    </p>
7053    </blockquote><p>
7054                        
7055    </p>
7056    <p>Example:
7057    </p>
7058    <p>
7059                            </p>
7060    <blockquote class="text">
7061    <p>C: "GET MIDI_INSTRUMENT_MAPS"
7062    </p>
7063    <p>S: "2"
7064    </p>
7065    </blockquote><p>
7066                        
7067    </p>
7068    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
7069    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7070    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
7071    Getting all created MIDI instrument maps</h3>
7072    
7073    <p>The number of MIDI instrument maps can change on runtime. To get the
7074                        current list of MIDI instrument maps, the front-end can send the
7075                        following command:
7076    </p>
7077    <p>
7078                            </p>
7079    <blockquote class="text">
7080    <p>LIST MIDI_INSTRUMENT_MAPS
7081    </p>
7082    </blockquote><p>
7083                        
7084    </p>
7085    <p>Possible Answers:
7086    </p>
7087    <p>
7088                            </p>
7089    <blockquote class="text">
7090    <p>The sampler will answer by returning a comma separated list
7091                                with all MIDI instrument maps' numerical IDs.
7092    </p>
7093    </blockquote><p>
7094                        
7095    </p>
7096    <p>Example:
7097    </p>
7098    <p>
7099                            </p>
7100    <blockquote class="text">
7101    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
7102    </p>
7103    <p>S: "0,1,5,12"
7104    </p>
7105    </blockquote><p>
7106                        
7107    </p>
7108    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
7109    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7110    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
7111    Getting MIDI instrument map information</h3>
7112    
7113    <p>The front-end can ask for the current settings of a MIDI
7114                        instrument map by sending the following command:
7115    </p>
7116    <p>
7117                            </p>
7118    <blockquote class="text">
7119    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
7120    </p>
7121    </blockquote><p>
7122                        
7123    </p>
7124    <p>Where &lt;map&gt; is the numerical ID of the map the
7125                        front-end is interested in as returned by the
7126                        <a class='info' href='#LIST MIDI_INSTRUMENT_MAPS'>"LIST MIDI_INSTRUMENT_MAPS"<span> (</span><span class='info'>Getting all created MIDI instrument maps</span><span>)</span></a>
7127                        command.
7128    </p>
7129    <p>Possible Answers:
7130    </p>
7131    <p>
7132                            </p>
7133    <blockquote class="text">
7134    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7135                                Each answer line begins with the settings category name
7136                                followed by a colon and then a space character &lt;SP&gt; and finally
7137                                the info character string to that setting category. At the
7138                                moment the following categories are defined:
7139    </p>
7140    <p>
7141                                    </p>
7142    <blockquote class="text">
7143    <p>NAME -
7144                                            </p>
7145    <blockquote class="text">
7146    <p>custom name of the given map,
7147                                                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>
7160    </blockquote>
7161                                        
7162    
7163    </blockquote>
7164                                
7165    
7166    </blockquote><p>
7167                        
7168    </p>
7169    <p>The mentioned fields above don't have to be in particular order.
7170    </p>
7171    <p>Example:
7172    </p>
7173    <p>
7174                            </p>
7175    <blockquote class="text">
7176    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
7177    </p>
7178    <p>S: "NAME: Standard Map"
7179    </p>
7180    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
7181    </p>
7182    <p>&nbsp;&nbsp;&nbsp;"."
7183    </p>
7184    </blockquote><p>
7185                        
7186    </p>
7187    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
7188    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7189    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
7190    Renaming a MIDI instrument map</h3>
7191    
7192    <p>The front-end can alter the custom name of a MIDI
7193                        instrument map by sending the following command:
7194    </p>
7195    <p>
7196                            </p>
7197    <blockquote class="text">
7198    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
7199    </p>
7200    </blockquote><p>
7201                        
7202    </p>
7203    <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
7205                        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>
7210    <p>Possible Answers:
7211    </p>
7212    <p>
7213                            </p>
7214    <blockquote class="text">
7215    <p>"OK" -
7216                                    </p>
7217    <blockquote class="text">
7218    <p>on success
7219    </p>
7220    </blockquote>
7221                                
7222    
7223    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7224                                    </p>
7225    <blockquote class="text">
7226    <p>in case the given map does not exist
7227    </p>
7228    </blockquote>
7229                                
7230    
7231    </blockquote><p>
7232                        
7233    </p>
7234    <p>Example:
7235    </p>
7236    <p>
7237                            </p>
7238    <blockquote class="text">
7239    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
7240    </p>
7241    <p>S: "OK"
7242    </p>
7243    </blockquote><p>
7244                        
7245    </p>
7246    <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
7247    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7248    <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
7249    Create or replace a MIDI instrument map entry</h3>
7250    
7251    <p>The front-end can create a new or replace an existing entry
7252                        in a sampler's MIDI instrument map by sending the following
7253                        command:
7254    </p>
7255    <p>
7256                            </p>
7257    <blockquote class="text">
7258    <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
7259                                &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
7260                                &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
7261                                [&lt;instr_load_mode&gt;] [&lt;name&gt;]
7262    </p>
7263    </blockquote><p>
7264                        
7265    </p>
7266    <p>Where &lt;map&gt; is the numeric ID of the map to alter,
7267                        &lt;midi_bank&gt; is an integer value between
7268                        0..16383 reflecting the MIDI bank select index,
7269                        &lt;midi_prog&gt; an
7270                        integer value between 0..127 reflecting the MIDI program change
7271                        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>
7273                        command (not encapsulated into apostrophes), &lt;filename&gt; the name
7274                        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
7278                        within the given file, &lt;volume_value&gt; reflects the master
7279                        volume of the instrument as optionally dotted number (where a
7280                        value &lt; 1.0 means attenuation and a value > 1.0 means
7281                        amplification). This parameter easily allows to adjust the
7282                        volume of all intruments within a custom instrument map
7283                        without having to adjust their instrument files. The
7284                        OPTIONAL &lt;instr_load_mode&gt; argument defines the life
7285                        time of the instrument, that is when the instrument should
7286                        be loaded, when freed and has exactly the following
7287                        possibilities:
7288    </p>
7289    <p>
7290                            </p>
7291    <blockquote class="text">
7292    <p>"ON_DEMAND" -
7293                                    </p>
7294    <blockquote class="text">
7295    <p>The instrument will be loaded when needed,
7296                                        that is when demanded by at least one sampler
7297                                        channel. It will immediately be freed from memory
7298                                        when not needed by any sampler channel anymore.
7299    </p>
7300    </blockquote>
7301                                
7302    
7303    <p>"ON_DEMAND_HOLD" -
7304                                    </p>
7305    <blockquote class="text">
7306    <p>The instrument will be loaded when needed,
7307                                        that is when demanded by at least one sampler
7308                                        channel. It will be kept in memory even when
7309                                        not needed by any sampler channel anymore.
7310                                        Instruments with this mode are only freed
7311                                        when the sampler is reset or all mapping
7312                                        entries with this mode (and respective
7313                                        instrument) are explicitly changed to
7314                                        "ON_DEMAND" and no sampler channel is using
7315                                        the instrument anymore.
7316    </p>
7317    </blockquote>
7318                                
7319    
7320    <p>"PERSISTENT" -
7321                                    </p>
7322    <blockquote class="text">
7323    <p>The instrument will immediately be loaded
7324                                        into memory when this mapping
7325                                        command is sent and the instrument is kept all
7326                                        the time. Instruments with this mode are
7327                                        only freed when the sampler is reset or all
7328                                        mapping entries with this mode (and
7329                                        respective instrument) are explicitly
7330                                        changed to "ON_DEMAND" and no sampler
7331                                        channel is using the instrument anymore.
7332    </p>
7333    </blockquote>
7334                                
7335    
7336    <p>not supplied -
7337                                    </p>
7338    <blockquote class="text">
7339    <p>In case there is no &lt;instr_load_mode&gt;
7340                                        argument given, it will be up to the
7341                                        InstrumentManager to decide which mode to use.
7342                                        Usually it will use "ON_DEMAND" if an entry
7343                                        for the given instrument does not exist in
7344                                        the InstrumentManager's list yet, otherwise
7345                                        if an entry already exists, it will simply
7346                                        stick with the mode currently reflected by
7347                                        the already existing entry, that is it will
7348                                        not change the mode.
7349    </p>
7350    </blockquote>
7351                                
7352    
7353    </blockquote><p>
7354                        
7355    </p>
7356    <p>
7357                        The &lt;instr_load_mode&gt; argument thus allows to define an
7358                        appropriate strategy (low memory consumption vs. fast
7359                        instrument switching) for each instrument individually. Note, the
7360                        following restrictions apply to this argument: "ON_DEMAND_HOLD" and
7361                        "PERSISTENT" have to be supported by the respective sampler engine
7362                        (which is technically the case when the engine provides an
7363                        InstrumentManager for its format). If this is not the case the
7364                        argument will automatically fall back to the default value
7365                        "ON_DEMAND". Also the load mode of one instrument may
7366                        automatically change the laod mode of other instrument(s), i.e.
7367                        because the instruments are part of the same file and the
7368                        engine does not allow a way to manage load modes for them
7369                        individually. Due to this, in case the frontend shows the
7370                        load modes of entries, the frontend should retrieve the actual
7371                        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>
7373                        command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
7374                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
7375                        "<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
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>).
7379                        
7380    </p>
7381    <p>
7382                        By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
7383                        completely established in the sampler. The OPTIONAL "NON_MODAL" argument
7384                        however causes the respective "MAP MIDI_INSTRUMENT" command to return
7385                        immediately, that is to let the sampler establish the mapping in the
7386                        background. So this argument might be especially useful for mappings with
7387                        a "PERSISTENT" type, because these have to load the respective instruments
7388                        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>
7397    <p>Possible Answers:
7398    </p>
7399    <p>
7400                            </p>
7401    <blockquote class="text">
7402    <p>"OK" -
7403                                    </p>
7404    <blockquote class="text">
7405    <p>usually
7406    </p>
7407    </blockquote>
7408                                
7409    
7410    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7411                                    </p>
7412    <blockquote class="text">
7413    <p>when the given map or engine does not exist or a value
7414                                        is out of range
7415    </p>
7416    </blockquote>
7417                                
7418    
7419    </blockquote><p>
7420                        
7421    </p>
7422    <p>Examples:
7423    </p>
7424    <p>
7425                            </p>
7426    <blockquote class="text">
7427    <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
7428    </p>
7429    <p>S: "OK"
7430    </p>
7431    </blockquote><p>
7432                        
7433    </p>
7434    <p>
7435                            </p>
7436    <blockquote class="text">
7437    <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
7438    </p>
7439    <p>S: "OK"
7440    </p>
7441    </blockquote><p>
7442                        
7443    </p>
7444    <p>
7445                            </p>
7446    <blockquote class="text">
7447    <p>C: "MAP MIDI_INSTRUMENT 0 0 0 gig '/usr/share/piano.gig' 0 1.0 'Normal Piano'"
7448    </p>
7449    <p>S: "OK"
7450    </p>
7451    <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
7452    </p>
7453    <p>S: "OK"
7454    </p>
7455    </blockquote><p>
7456                        
7457    </p>
7458    <p>
7459                            </p>
7460    <blockquote class="text">
7461    <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
7462    </p>
7463    <p>S: "OK"
7464    </p>
7465    </blockquote><p>
7466                        
7467    </p>
7468    <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
7469    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7470    <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
7471    Getting ammount of MIDI instrument map entries</h3>
7472    
7473    <p>The front-end can query the amount of currently existing
7474                        entries in a MIDI instrument map by sending the following
7475                        command:
7476    </p>
7477    <p>
7478                            </p>
7479    <blockquote class="text">
7480    <p>GET MIDI_INSTRUMENTS &lt;map&gt;
7481    </p>
7482    </blockquote><p>
7483                        
7484    </p>
7485    <p>The front-end can query the amount of currently existing
7486                        entries in all MIDI instrument maps by sending the following
7487                        command:
7488    </p>
7489    <p>
7490                            </p>
7491    <blockquote class="text">
7492    <p>GET MIDI_INSTRUMENTS ALL
7493    </p>
7494    </blockquote><p>
7495                        
7496    </p>
7497    <p>Possible Answers:
7498    </p>
7499    <p>
7500                            </p>
7501    <blockquote class="text">
7502    <p>The sampler will answer by sending the current number of
7503                                entries in the MIDI instrument map(s).
7504    </p>
7505    </blockquote><p>
7506                        
7507    </p>
7508    <p>Example:
7509    </p>
7510    <p>
7511                            </p>
7512    <blockquote class="text">
7513    <p>C: "GET MIDI_INSTRUMENTS 0"
7514    </p>
7515    <p>S: "234"
7516    </p>
7517    </blockquote><p>
7518                        
7519    </p>
7520    <p>
7521                            </p>
7522    <blockquote class="text">
7523    <p>C: "GET MIDI_INSTRUMENTS ALL"
7524    </p>
7525    <p>S: "954"
7526    </p>
7527    </blockquote><p>
7528                        
7529    </p>
7530    <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7531    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7532    <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7533    Getting indeces of all entries of a MIDI instrument map</h3>
7534    
7535    <p>The front-end can query a list of all currently existing
7536                        entries in a certain MIDI instrument map by sending the following
7537                        command:
7538    </p>
7539    <p>
7540                            </p>
7541    <blockquote class="text">
7542    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7543    </p>
7544    </blockquote><p>
7545                        
7546    </p>
7547    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7548    </p>
7549    <p>The front-end can query a list of all currently existing
7550                        entries of all MIDI instrument maps by sending the following
7551                        command:
7552    </p>
7553    <p>
7554                            </p>
7555    <blockquote class="text">
7556    <p>LIST MIDI_INSTRUMENTS ALL
7557    </p>
7558    </blockquote><p>
7559                        
7560    </p>
7561    <p>Possible Answers:
7562    </p>
7563    <p>
7564                            </p>
7565    <blockquote class="text">
7566    <p>The sampler will answer by sending a comma separated
7567                                list of map ID - MIDI bank - MIDI program triples, where
7568                                each triple is encapsulated into curly braces. The
7569                                list is returned in one single line. Each triple
7570                                just reflects the key of the respective map entry,
7571                                thus subsequent
7572                                <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>
7573                                command(s) are necessary to retrieve detailed informations
7574                                about each entry.
7575    </p>
7576    </blockquote><p>
7577                        
7578    </p>
7579    <p>Example:
7580    </p>
7581    <p>
7582                            </p>
7583    <blockquote class="text">
7584    <p>C: "LIST MIDI_INSTRUMENTS 0"
7585    </p>
7586    <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7587    </p>
7588    </blockquote><p>
7589                        
7590    </p>
7591    <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7592    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7593    <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7594    Remove an entry from the MIDI instrument map</h3>
7595    
7596    <p>The front-end can delete an entry from a MIDI instrument
7597                        map by sending the following command:
7598    </p>
7599    <p>
7600                            </p>
7601    <blockquote class="text">
7602    <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7603    </p>
7604    </blockquote><p>
7605                        
7606    </p>
7607    <p>
7608                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7609                        &lt;midi_bank&gt; is an integer value between 0..16383
7610                        reflecting the MIDI bank value and
7611                        &lt;midi_prog&gt; an integer value between
7612                        0..127 reflecting the MIDI program value of the map's entrie's key
7613                        index triple.
7614                        
7615    </p>
7616    <p>Possible Answers:
7617    </p>
7618    <p>
7619                            </p>
7620    <blockquote class="text">
7621    <p>"OK" -
7622                                    </p>
7623    <blockquote class="text">
7624    <p>usually
7625    </p>
7626    </blockquote>
7627                                
7628    
7629    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7630                                    </p>
7631    <blockquote class="text">
7632    <p>when index out of bounds
7633    </p>
7634    </blockquote>
7635                                
7636    
7637    </blockquote><p>
7638                        
7639    </p>
7640    <p>Example:
7641    </p>
7642    <p>
7643                            </p>
7644    <blockquote class="text">
7645    <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7646    </p>
7647    <p>S: "OK"
7648    </p>
7649    </blockquote><p>
7650                        
7651    </p>
7652    <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7653    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7654    <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7655    Get current settings of MIDI instrument map entry</h3>
7656    
7657    <p>The front-end can retrieve the current settings of a certain
7658                        instrument map entry by sending the following command:
7659    </p>
7660    <p>
7661                            </p>
7662    <blockquote class="text">
7663    <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7664    </p>
7665    </blockquote><p>
7666                        
7667    </p>
7668    <p>
7669                        Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7670                        &lt;midi_bank&gt; is an integer value between 0..16383
7671                        reflecting the MIDI bank value, &lt;midi_bank&gt;
7672                        and &lt;midi_prog&gt; an integer value between
7673                        0..127 reflecting the MIDI program value of the map's entrie's key
7674                        index triple.
7675                        
7676    </p>
7677    <p>Possible Answers:
7678    </p>
7679    <p>
7680                            </p>
7681    <blockquote class="text">
7682    <p>LinuxSampler will answer by sending a &lt;CRLF&gt;
7683                                separated list. Each answer line begins with the
7684                                information category name followed by a colon and then
7685                                a space character &lt;SP&gt; and finally the info
7686                                character string to that info category. At the moment
7687                                the following categories are defined:
7688    </p>
7689    <p>"NAME" -
7690                                    </p>
7691    <blockquote class="text">
7692    <p>Name for this MIDI instrument map entry (if defined).
7693                                        This name shall be used by frontends for displaying a
7694                                        name for this mapped instrument. It can be set and
7695                                        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>
7697                                        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>
7701    </blockquote>
7702                                
7703    
7704    <p>"ENGINE_NAME" -
7705                                    </p>
7706    <blockquote class="text">
7707    <p>Name of the engine to be deployed for this
7708                                        instrument.
7709    </p>
7710    </blockquote>
7711                                
7712    
7713    <p>"INSTRUMENT_FILE" -
7714                                    </p>
7715    <blockquote class="text">
7716    <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>
7720    </blockquote>
7721                                
7722    
7723    <p>"INSTRUMENT_NR" -
7724                                    </p>
7725    <blockquote class="text">
7726    <p>Index of the instrument within the file.
7727    </p>
7728    </blockquote>
7729                                
7730    
7731    <p>"INSTRUMENT_NAME" -
7732                                    </p>
7733    <blockquote class="text">
7734    <p>Name of the loaded instrument as reflected by its file.
7735                                        In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7736                                        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>
7739    </blockquote>
7740                                
7741    
7742    <p>"LOAD_MODE" -
7743                                    </p>
7744    <blockquote class="text">
7745    <p>Life time of instrument
7746                                        (see <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a> for details about this setting).
7747    </p>
7748    </blockquote>
7749                                
7750    
7751    <p>"VOLUME" -
7752                                    </p>
7753    <blockquote class="text">
7754    <p>master volume of the instrument as optionally
7755                                        dotted number (where a value &lt; 1.0 means attenuation
7756                                        and a value > 1.0 means amplification)
7757    </p>
7758    </blockquote>
7759                                
7760    
7761    <p>The mentioned fields above don't have to be in particular order.
7762    </p>
7763    </blockquote><p>
7764                        
7765    </p>
7766    <p>Example:
7767    </p>
7768    <p>
7769                            </p>
7770    <blockquote class="text">
7771    <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7772    </p>
7773    <p>S: "NAME: Drums for Foo Song"
7774    </p>
7775    <p>&nbsp;&nbsp;&nbsp;"ENGINE_NAME: GigEngine"
7776    </p>
7777    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_FILE: /usr/share/joesdrumkit.gig"
7778    </p>
7779    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
7780    </p>
7781    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NAME: Joe's Drumkit"
7782    </p>
7783    <p>&nbsp;&nbsp;&nbsp;"LOAD_MODE: PERSISTENT"
7784    </p>
7785    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
7786    </p>
7787    <p>&nbsp;&nbsp;&nbsp;"."
7788    </p>
7789    </blockquote><p>
7790                        
7791    </p>
7792    <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7793    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7794    <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7795    Clear MIDI instrument map</h3>
7796    
7797    <p>The front-end can clear a whole MIDI instrument map, that
7798                        is delete all its entries by sending the following command:
7799    </p>
7800    <p>
7801                            </p>
7802    <blockquote class="text">
7803    <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7804    </p>
7805    </blockquote><p>
7806                        
7807    </p>
7808    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7809    </p>
7810    <p>The front-end can clear all MIDI instrument maps, that
7811                        is delete all entries of all maps by sending the following
7812                        command:
7813    </p>
7814    <p>
7815                            </p>
7816    <blockquote class="text">
7817    <p>CLEAR MIDI_INSTRUMENTS ALL
7818    </p>
7819    </blockquote><p>
7820                        
7821    </p>
7822    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7823                        maps, only their entries, thus the map's settings like
7824                        custom name will be preservevd.
7825    </p>
7826    <p>Possible Answers:
7827    </p>
7828    <p>
7829                            </p>
7830    <blockquote class="text">
7831    <p>"OK" -
7832                                    </p>
7833    <blockquote class="text">
7834    <p>always
7835    </p>
7836    </blockquote>
7837                                
7838    
7839    </blockquote><p>
7840                        
7841    </p>
7842    <p>Examples:
7843    </p>
7844    <p>
7845                           </p>
7846    <blockquote class="text">
7847    <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7848    </p>
7849    <p>S: "OK"
7850    </p>
7851    </blockquote><p>
7852                        
7853    </p>
7854    <p>
7855                           </p>
7856    <blockquote class="text">
7857    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7858    </p>
7859    <p>S: "OK"
7860    </p>
7861    </blockquote><p>
7862                        
7863    </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: "SYSTEM: LADSPA"
10930    </p>
10931    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: Base delay (s)"
10932    </p>
10933    <p>&nbsp;&nbsp;&nbsp;"VALUE: 0.500"
10934    </p>
10935    <p>&nbsp;&nbsp;&nbsp;"RANGE_MIN: 0.000"
10936    </p>
10937    <p>&nbsp;&nbsp;&nbsp;"."
10938    </p>
10939    </blockquote><p>
10940                        
10941    </p>
10942    <a name="SET EFFECT_INSTANCE_INPUT_CONTROL VALUE"></a><br /><hr />
10943    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
10944    <a name="rfc.section.6.11.11"></a><h3>6.11.11.&nbsp;
10945    Altering an effect parameter</h3>
10946    
10947    <p>The front-end can alter the current value of an effect
10948                        parameter by sending the following command:
10949    </p>
10950    <p>
10951                            </p>
10952    <blockquote class="text">
10953    <p>SET EFFECT_INSTANCE_INPUT_CONTROL VALUE &lt;effect-instance&gt; &lt;input-control&gt; &lt;value&gt;
10954    </p>
10955    </blockquote><p>
10956                        
10957    </p>
10958    <p>Where &lt;effect-instance&gt; is the numerical ID of the
10959                        effect instance as returned by the
10960                        <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
10961                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
10962                        command, &lt;input-control&gt; is the index of the input
10963                        control within the numerical bounds as returned by the
10964                        "INPUT_CONTROLS" field of the
10965                        <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>
10966                        command and &lt;value&gt; is the new (optional dotted)
10967                        floating point value for this effect parameter.
10968    </p>
10969    <p>Possible Answers:
10970    </p>
10971    <p>
10972                            </p>
10973    <blockquote class="text">
10974    <p>"OK" -
10975                                    </p>
10976    <blockquote class="text">
10977    <p>in case the effect was altered successfully
10978    </p>
10979    </blockquote>
10980                                
10981    
10982    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
10983                                    </p>
10984    <blockquote class="text">
10985    <p>in case it failed, providing an appropriate error code and
10986                                        error message
10987    </p>
10988    </blockquote>
10989                                
10990    
10991    </blockquote><p>
10992                        
10993    </p>
10994    <p>Examples:
10995    </p>
10996    <p>
10997                            </p>
10998    <blockquote class="text">
10999    <p>C: "SET EFFECT_INSTANCE_INPUT_CONTROL VALUE 0 1 0.5"
11000    </p>
11001    <p>S: "OK"
11002    </p>
11003    </blockquote><p>
11004                        
11005    </p>
11006    <a name="GET SEND_EFFECT_CHAINS"></a><br /><hr />
11007    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11008    <a name="rfc.section.6.11.12"></a><h3>6.11.12.&nbsp;
11009    Retrieve amount of send effect chains</h3>
11010    
11011    <p>The front-end can retrieve the current amount of send
11012                        effect chains of an audio output device by sending the
11013                        following command:
11014    </p>
11015    <p>
11016                            </p>
11017    <blockquote class="text">
11018    <p>GET SEND_EFFECT_CHAINS &lt;audio-device&gt;
11019    </p>
11020    </blockquote><p>
11021                        
11022    </p>
11023    <p>Where &lt;audio-device&gt; should be replaced by the
11024                        numerical ID of the audio output device as given by the
11025                        <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>
11026                        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>
11027                        command.
11028    </p>
11029    <p>Possible Answers:
11030    </p>
11031    <p>
11032                            </p>
11033    <blockquote class="text">
11034    <p>The sampler will answer by returning the current
11035                                number of send effect chains of the supplied audio
11036                                output device.
11037    </p>
11038    </blockquote><p>
11039                        
11040    </p>
11041    <p>Examples:
11042    </p>
11043    <p>
11044                            </p>
11045    <blockquote class="text">
11046    <p>C: "GET SEND_EFFECT_CHAINS 0"
11047    </p>
11048    <p>S: "4"
11049    </p>
11050    </blockquote><p>
11051                        
11052    </p>
11053    <a name="LIST SEND_EFFECT_CHAINS"></a><br /><hr />
11054    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11055    <a name="rfc.section.6.11.13"></a><h3>6.11.13.&nbsp;
11056    Retrieve list of send effect chains</h3>
11057    
11058    <p>The front-end can retrieve the current list of send
11059                        effect chains of an audio output device by sending the
11060                        following command:
11061    </p>
11062    <p>
11063                            </p>
11064    <blockquote class="text">
11065    <p>LIST SEND_EFFECT_CHAINS &lt;audio-device&gt;
11066    </p>
11067    </blockquote><p>
11068                        
11069    </p>
11070    <p>Where &lt;audio-device&gt; should be replaced by the
11071                        numerical ID of the audio output device as given by the
11072                        <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>
11073                        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>
11074                        command.
11075    </p>
11076    <p>Possible Answers:
11077    </p>
11078    <p>
11079                            </p>
11080    <blockquote class="text">
11081    <p>The sampler will answer by returning a comma
11082                                separated list with numerical IDs of send effect
11083                                chains of the supplied audio output device.
11084                                
11085    </p>
11086    </blockquote><p>
11087                        
11088    </p>
11089    <p>Examples:
11090    </p>
11091    <p>
11092                            </p>
11093    <blockquote class="text">
11094    <p>C: "LIST SEND_EFFECT_CHAINS 0"
11095    </p>
11096    <p>S: "3,4,7"
11097    </p>
11098    </blockquote><p>
11099                        
11100    </p>
11101    <a name="ADD SEND_EFFECT_CHAIN"></a><br /><hr />
11102    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11103    <a name="rfc.section.6.11.14"></a><h3>6.11.14.&nbsp;
11104    Add send effect chain</h3>
11105    
11106    <p>The front-end can add a send effect chain by sending the
11107                        following command:
11108    </p>
11109    <p>
11110                            </p>
11111    <blockquote class="text">
11112    <p>ADD SEND_EFFECT_CHAIN &lt;audio-device&gt;
11113    </p>
11114    </blockquote><p>
11115                        
11116    </p>
11117    <p>Where &lt;audio-device&gt; should be replaced by the
11118                        numerical ID of the audio output device as given by the
11119                        <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>
11120                        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>
11121                        command.
11122    </p>
11123    <p>Possible Answers:
11124    </p>
11125    <p>
11126                            </p>
11127    <blockquote class="text">
11128    <p>"OK[&lt;effect-chain&gt;]" -
11129                                    </p>
11130    <blockquote class="text">
11131    <p>in case the send effect chain was
11132                                        added successfully, where
11133                                        &lt;effect-chain&gt; is the numerical ID
11134                                        of the new send effect chain
11135    </p>
11136    </blockquote>
11137                                
11138    
11139    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11140                                    </p>
11141    <blockquote class="text">
11142    <p>if the send effect chain could not be added
11143    </p>
11144    </blockquote>
11145                                
11146    
11147    </blockquote><p>
11148                        
11149    </p>
11150    <p>Examples:
11151    </p>
11152    <p>
11153                            </p>
11154    <blockquote class="text">
11155    <p>C: "ADD SEND_EFFECT_CHAIN 0"
11156    </p>
11157    <p>S: "OK[2]"
11158    </p>
11159    </blockquote><p>
11160                        
11161    </p>
11162    <a name="REMOVE SEND_EFFECT_CHAIN"></a><br /><hr />
11163    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11164    <a name="rfc.section.6.11.15"></a><h3>6.11.15.&nbsp;
11165    Remove send effect chain</h3>
11166    
11167    <p>The front-end can remove a send effect chain by sending
11168                        the following command:
11169    </p>
11170    <p>
11171                            </p>
11172    <blockquote class="text">
11173    <p>REMOVE SEND_EFFECT_CHAIN &lt;audio-device&gt; &lt;effect-chain&gt;
11174    </p>
11175    </blockquote><p>
11176                        
11177    </p>
11178    <p>Where &lt;audio-device&gt; should be replaced by the
11179                        numerical ID of the audio output device as given by the
11180                        <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>
11181                        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>
11182                        command and &lt;effect-chain&gt; by the numerical ID as
11183                        returned by the
11184                        <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>
11185                        or
11186                        <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>
11187                        command.
11188    </p>
11189    <p>Possible Answers:
11190    </p>
11191    <p>
11192                            </p>
11193    <blockquote class="text">
11194    <p>"OK" -
11195                                    </p>
11196    <blockquote class="text">
11197    <p>in case the send effect chain was
11198                                        removed successfully
11199    </p>
11200    </blockquote>
11201                                
11202    
11203    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11204                                    </p>
11205    <blockquote class="text">
11206    <p>if the send effect chain could not be removed
11207    </p>
11208    </blockquote>
11209                                
11210    
11211    </blockquote><p>
11212                        
11213    </p>
11214    <p>Examples:
11215    </p>
11216    <p>
11217                            </p>
11218    <blockquote class="text">
11219    <p>C: "REMOVE SEND_EFFECT_CHAIN 0 2"
11220    </p>
11221    <p>S: "OK"
11222    </p>
11223    </blockquote><p>
11224                        
11225    </p>
11226    <a name="GET SEND_EFFECT_CHAIN INFO"></a><br /><hr />
11227    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11228    <a name="rfc.section.6.11.16"></a><h3>6.11.16.&nbsp;
11229    Retrieving information about a send effect chain</h3>
11230    
11231    <p>The front-end can ask for informations of a send effect
11232                        chain by sending the following command:
11233    </p>
11234    <p>
11235                            </p>
11236    <blockquote class="text">
11237    <p>GET SEND_EFFECT_CHAIN INFO &lt;audio-device&gt; &lt;effect-chain&gt;
11238    </p>
11239    </blockquote><p>
11240                        
11241    </p>
11242    <p>Where &lt;audio-device&gt; should be replaced by the
11243                        numerical ID of the audio output device as given by the
11244                        <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>
11245                        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>
11246                        command and &lt;effect-chain&gt; by the numerical ID as
11247                        returned by the
11248                        <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>
11249                        or
11250                        <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>
11251                        command.
11252    </p>
11253    <p>Possible Answers:
11254    </p>
11255    <p>
11256                            </p>
11257    <blockquote class="text">
11258    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
11259                                Each answer line begins with the information
11260                                category name, followed by a colon and then a space
11261                                character &lt;SP&gt; and finally the info character
11262                                string to that information category.
11263                                At the moment the following categories are defined:
11264    </p>
11265    <p>
11266                                    </p>
11267    <blockquote class="text">
11268    <p>EFFECT_COUNT -
11269                                            </p>
11270    <blockquote class="text">
11271    <p>amount of effects in this send
11272                                                effect chain
11273    </p>
11274    </blockquote>
11275                                        
11276    
11277    <p>EFFECT_SEQUENCE -
11278                                            </p>
11279    <blockquote class="text">
11280    <p>comma separated list of the
11281                                                numerical IDs of the effect
11282                                                instances in this send effect chain,
11283                                                in the order as they are procssed in
11284                                                the effect chain
11285    </p>
11286    </blockquote>
11287                                        
11288    
11289    </blockquote>
11290                                
11291    
11292    </blockquote><p>
11293                        
11294    </p>
11295    <p>The mentioned fields above don't have to be in particular order.
11296    </p>
11297    <p>Example:
11298    </p>
11299    <p>
11300                            </p>
11301    <blockquote class="text">
11302    <p>C: "GET SEND_EFFECT_CHAIN INFO 0 2"
11303    </p>
11304    <p>S: "EFFECT_COUNT: 3"
11305    </p>
11306    <p>&nbsp;&nbsp;&nbsp;"EFFECT_SEQUENCE: 31,4,7"
11307    </p>
11308    <p>&nbsp;&nbsp;&nbsp;"."
11309    </p>
11310    </blockquote><p>
11311                        
11312    </p>
11313    <a name="APPEND SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11314    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11315    <a name="rfc.section.6.11.17"></a><h3>6.11.17.&nbsp;
11316    Append effect instance to a send effect chain</h3>
11317    
11318    <p>The front-end can add an unused effect instance to the
11319                        end of a send effect chain by sending the following command:
11320    </p>
11321    <p>
11322                            </p>
11323    <blockquote class="text">
11324    <p>APPEND SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;effect-instance&gt;
11325    </p>
11326    </blockquote><p>
11327                        
11328    </p>
11329    <p>Where &lt;audio-device&gt; should be replaced by the
11330                        numerical ID of the audio output device as given by the
11331                        <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>
11332                        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>
11333                        command and &lt;effect-chain&gt; by the numerical ID as
11334                        returned by the
11335                        <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>
11336                        or
11337                        <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>
11338                        command and &lt;effect-instance&gt; as returned by the
11339                        <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
11340                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11341                        command.
11342    </p>
11343    <p>Only unused effect instances can be added to the effect
11344                        chain. Trying to add an effect instance which is already in
11345                        use somewhere in the audio signal path of the sampler will
11346                        result in an error.
11347    </p>
11348    <p>Possible Answers:
11349    </p>
11350    <p>
11351                            </p>
11352    <blockquote class="text">
11353    <p>"OK" -
11354                                    </p>
11355    <blockquote class="text">
11356    <p>in case the effect instance was
11357                                        added successfully to the chain
11358    </p>
11359    </blockquote>
11360                                
11361    
11362    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11363                                    </p>
11364    <blockquote class="text">
11365    <p>if the effect instance could not be added
11366    </p>
11367    </blockquote>
11368                                
11369    
11370    </blockquote><p>
11371                        
11372    </p>
11373    <p>Examples:
11374    </p>
11375    <p>
11376                            </p>
11377    <blockquote class="text">
11378    <p>C: "APPEND SEND_EFFECT_CHAIN EFFECT 0 2 38"
11379    </p>
11380    <p>S: "OK"
11381    </p>
11382    </blockquote><p>
11383                        
11384    </p>
11385    <a name="INSERT SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11386    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11387    <a name="rfc.section.6.11.18"></a><h3>6.11.18.&nbsp;
11388    Insert effect instance to a send effect chain</h3>
11389    
11390    <p>The front-end can add an unused effect instance to a
11391                        certain position of a send effect chain by sending the
11392                        following command:
11393    </p>
11394    <p>
11395                            </p>
11396    <blockquote class="text">
11397    <p>INSERT SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt; &lt;effect-instance&gt;
11398    </p>
11399    </blockquote><p>
11400                        
11401    </p>
11402    <p>Where &lt;audio-device&gt; should be replaced by the
11403                        numerical ID of the audio output device as given by the
11404                        <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>
11405                        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>
11406                        command, &lt;effect-chain&gt; by the numerical ID as
11407                        returned by the
11408                        <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>
11409                        or
11410                        <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>
11411                        command, &lt;effect-instance&gt; as returned by the
11412                        <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
11413                        <a class='info' href='#LIST EFFECT_INSTANCES'>"LIST EFFECT_INSTANCES"<span> (</span><span class='info'>Get list of effect instances</span><span>)</span></a>
11414                        command and &lt;chain-pos&gt; the exact position of the
11415                        effect chain where the supplied effect shall be inserted
11416                        to.
11417    </p>
11418    <p>Only unused effect instances can be added to the effect
11419                        chain. Trying to add an effect instance which is already in
11420                        use somewhere in the audio signal path of the sampler will
11421                        result in an error.
11422    </p>
11423    <p>Possible Answers:
11424    </p>
11425    <p>
11426                            </p>
11427    <blockquote class="text">
11428    <p>"OK" -
11429                                    </p>
11430    <blockquote class="text">
11431    <p>in case the effect instance was
11432                                        added successfully to the chain
11433    </p>
11434    </blockquote>
11435                                
11436    
11437    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11438                                    </p>
11439    <blockquote class="text">
11440    <p>if the effect instance could not be added
11441    </p>
11442    </blockquote>
11443                                
11444    
11445    </blockquote><p>
11446                        
11447    </p>
11448    <p>Examples:
11449    </p>
11450    <p>
11451                            </p>
11452    <blockquote class="text">
11453    <p>C: "INSERT SEND_EFFECT_CHAIN EFFECT 0 2 4 38"
11454    </p>
11455    <p>S: "OK"
11456    </p>
11457    </blockquote><p>
11458                        
11459    </p>
11460    <a name="REMOVE SEND_EFFECT_CHAIN EFFECT"></a><br /><hr />
11461    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11462    <a name="rfc.section.6.11.19"></a><h3>6.11.19.&nbsp;
11463    Remove effect instance from send effect chain</h3>
11464    
11465    <p>The front-end can remove an effect instance from a
11466                        certain position of a send effect chain by sending the
11467                        following command:
11468    </p>
11469    <p>
11470                            </p>
11471    <blockquote class="text">
11472    <p>REMOVE SEND_EFFECT_CHAIN EFFECT &lt;audio-device&gt; &lt;effect-chain&gt; &lt;chain-pos&gt;
11473    </p>
11474    </blockquote><p>
11475                        
11476    </p>
11477    <p>Where &lt;audio-device&gt; should be replaced by the
11478                        numerical ID of the audio output device as given by the
11479                        <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>
11480                        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>
11481                        command, &lt;effect-chain&gt; by the numerical ID as
11482                        returned by the
11483                        <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>
11484                        or
11485                        <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>
11486                        command and &lt;chain-pos&gt; the exact position of the
11487                        effect instance to be removed from the effect chain.
11488    </p>
11489    <p>Possible Answers:
11490    </p>
11491    <p>
11492                            </p>
11493    <blockquote class="text">
11494    <p>"OK" -
11495                                    </p>
11496    <blockquote class="text">
11497    <p>in case the effect instance was
11498                                        removed successfully
11499    </p>
11500    </blockquote>
11501                                
11502    
11503    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
11504                                    </p>
11505    <blockquote class="text">
11506    <p>if the effect instance could not be removed
11507    </p>
11508    </blockquote>
11509                                
11510    
11511    </blockquote><p>
11512                        
11513    </p>
11514    <p>Examples:
11515    </p>
11516    <p>
11517                            </p>
11518    <blockquote class="text">
11519    <p>C: "REMOVE SEND_EFFECT_CHAIN EFFECT 0 2 4"
11520    </p>
11521    <p>S: "OK"
11522    </p>
11523    </blockquote><p>
11524                        
11525    </p>
11526  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
11527  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11528  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
11529    Command Syntax</h3>
11530    
11531  <p>The grammar of the control protocol as descibed in <a class="info" href="#control_commands">Section&nbsp;6<span> (</span><span class="info">Description for control commands</span><span>)</span></a>  <p>The grammar of the control protocol as descibed in <a class='info' href='#control_commands'>Section&nbsp;6<span> (</span><span class='info'>Description for control commands</span><span>)</span></a>
11532              is defined below using Backus-Naur Form (BNF as described in <a class="info" href="#RFC2234">[RFC2234]<span> (</span><span class="info">Crocker, D. and P. Overell, &ldquo;Augmented BNF for Syntax Specifications,&rdquo; 1997.</span><span>)</span></a>)              is defined below using Backus-Naur Form (BNF as described in <a class='info' href='#RFC2234'>[RFC2234]<span> (</span><span class='info'>Crocker, D. and P. Overell, &ldquo;Augmented BNF for Syntax Specifications,&rdquo; 1997.</span><span>)</span></a>)
11533              where applicable.              where applicable.
11534                            
11535  </p>  </p>
# Line 5201  Intellectual Property and Copyright Stat Line 11587  Intellectual Property and Copyright Stat
11587  <p>command =  <p>command =
11588          </p>          </p>
11589  <blockquote class="text">  <blockquote class="text">
11590  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
11591                    
11592    </p>
11593    <p>/ MAP SP map_instruction
11594                    
11595    </p>
11596    <p>/ UNMAP SP unmap_instruction
11597                                    
11598  </p>  </p>
11599  <p>/ GET SP get_instruction  <p>/ GET SP get_instruction
# Line 5219  Intellectual Property and Copyright Stat Line 11611  Intellectual Property and Copyright Stat
11611  <p>/ LOAD SP load_instruction  <p>/ LOAD SP load_instruction
11612                                    
11613  </p>  </p>
11614  <p>/ REMOVE SP CHANNEL SP sampler_channel  <p>/ REMOVE SP remove_instruction
11615                                    
11616  </p>  </p>
11617  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5231  Intellectual Property and Copyright Stat Line 11623  Intellectual Property and Copyright Stat
11623  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
11624                                    
11625  </p>  </p>
11626  <p>/ SELECT SP text  <p>/ RESET SP reset_instruction
11627                    
11628    </p>
11629    <p>/ CLEAR SP clear_instruction
11630                    
11631    </p>
11632    <p>/ FIND SP find_instruction
11633                    
11634    </p>
11635    <p>/ MOVE SP move_instruction
11636                    
11637    </p>
11638    <p>/ COPY SP copy_instruction
11639                    
11640    </p>
11641    <p>/ EDIT SP edit_instruction
11642                    
11643    </p>
11644    <p>/ FORMAT SP format_instruction
11645                    
11646    </p>
11647    <p>/ SEND SP send_instruction
11648                    
11649    </p>
11650    <p>/ APPEND SP append_instruction
11651                                    
11652  </p>  </p>
11653  <p>/ RESET SP CHANNEL SP sampler_channel  <p>/ INSERT SP insert_instruction
11654                                    
11655  </p>  </p>
11656  <p>/ RESET  <p>/ RESET
# Line 5246  Intellectual Property and Copyright Stat Line 11662  Intellectual Property and Copyright Stat
11662  </blockquote><p>  </blockquote><p>
11663    
11664  </p>  </p>
11665    <p>add_instruction =
11666            </p>
11667    <blockquote class="text">
11668    <p>CHANNEL
11669                    
11670    </p>
11671    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11672                    
11673    </p>
11674    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
11675                    
11676    </p>
11677    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11678                    
11679    </p>
11680    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
11681                    
11682    </p>
11683    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
11684                    
11685    </p>
11686    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
11687                    
11688    </p>
11689    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
11690                    
11691    </p>
11692    <p>/ DB_INSTRUMENTS SP db_path SP filename
11693                    
11694    </p>
11695    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
11696                    
11697    </p>
11698    <p>/ MIDI_INSTRUMENT_MAP
11699                    
11700    </p>
11701    <p>/ MIDI_INSTRUMENT_MAP SP map_name
11702                    
11703    </p>
11704    <p>/ SEND_EFFECT_CHAIN SP device_index
11705                    
11706    </p>
11707    </blockquote><p>
11708    
11709    </p>
11710  <p>subscribe_event =  <p>subscribe_event =
11711          </p>          </p>
11712  <blockquote class="text">  <blockquote class="text">
11713  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
11714                    
11715    </p>
11716    <p>/ AUDIO_OUTPUT_DEVICE_INFO
11717                    
11718    </p>
11719    <p>/ MIDI_INPUT_DEVICE_COUNT
11720                    
11721    </p>
11722    <p>/ MIDI_INPUT_DEVICE_INFO
11723                    
11724    </p>
11725    <p>/ CHANNEL_COUNT
11726                    
11727    </p>
11728    <p>/ CHANNEL_MIDI
11729                    
11730    </p>
11731    <p>/ DEVICE_MIDI
11732                                    
11733  </p>  </p>
11734  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5264  Intellectual Property and Copyright Stat Line 11743  Intellectual Property and Copyright Stat
11743  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11744                                    
11745  </p>  </p>
11746    <p>/ FX_SEND_COUNT
11747                    
11748    </p>
11749    <p>/ FX_SEND_INFO
11750                    
11751    </p>
11752    <p>/ MIDI_INSTRUMENT_MAP_COUNT
11753                    
11754    </p>
11755    <p>/ MIDI_INSTRUMENT_MAP_INFO
11756                    
11757    </p>
11758    <p>/ MIDI_INSTRUMENT_COUNT
11759                    
11760    </p>
11761    <p>/ MIDI_INSTRUMENT_INFO
11762                    
11763    </p>
11764    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11765                    
11766    </p>
11767    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11768                    
11769    </p>
11770    <p>/ DB_INSTRUMENT_COUNT
11771                    
11772    </p>
11773    <p>/ DB_INSTRUMENT_INFO
11774                    
11775    </p>
11776    <p>/ DB_INSTRUMENTS_JOB_INFO
11777                    
11778    </p>
11779  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11780                                    
11781  </p>  </p>
11782    <p>/ TOTAL_STREAM_COUNT
11783                    
11784    </p>
11785  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
11786                                    
11787  </p>  </p>
11788    <p>/ GLOBAL_INFO
11789                    
11790    </p>
11791  </blockquote><p>  </blockquote><p>
11792    
11793  </p>  </p>
11794  <p>unsubscribe_event =  <p>unsubscribe_event =
11795          </p>          </p>
11796  <blockquote class="text">  <blockquote class="text">
11797  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
11798                    
11799    </p>
11800    <p>/ AUDIO_OUTPUT_DEVICE_INFO
11801                    
11802    </p>
11803    <p>/ MIDI_INPUT_DEVICE_COUNT
11804                    
11805    </p>
11806    <p>/ MIDI_INPUT_DEVICE_INFO
11807                    
11808    </p>
11809    <p>/ CHANNEL_COUNT
11810                    
11811    </p>
11812    <p>/ CHANNEL_MIDI
11813                    
11814    </p>
11815    <p>/ DEVICE_MIDI
11816                                    
11817  </p>  </p>
11818  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5291  Intellectual Property and Copyright Stat Line 11827  Intellectual Property and Copyright Stat
11827  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
11828                                    
11829  </p>  </p>
11830    <p>/ FX_SEND_COUNT
11831                    
11832    </p>
11833    <p>/ FX_SEND_INFO
11834                    
11835    </p>
11836    <p>/ MIDI_INSTRUMENT_MAP_COUNT
11837                    
11838    </p>
11839    <p>/ MIDI_INSTRUMENT_MAP_INFO
11840                    
11841    </p>
11842    <p>/ MIDI_INSTRUMENT_COUNT
11843                    
11844    </p>
11845    <p>/ MIDI_INSTRUMENT_INFO
11846                    
11847    </p>
11848    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
11849                    
11850    </p>
11851    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
11852                    
11853    </p>
11854    <p>/ DB_INSTRUMENT_COUNT
11855                    
11856    </p>
11857    <p>/ DB_INSTRUMENT_INFO
11858                    
11859    </p>
11860    <p>/ DB_INSTRUMENTS_JOB_INFO
11861                    
11862    </p>
11863  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
11864                                    
11865  </p>  </p>
11866    <p>/ TOTAL_STREAM_COUNT
11867                    
11868    </p>
11869  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
11870                                    
11871  </p>  </p>
11872    <p>/ GLOBAL_INFO
11873                    
11874    </p>
11875    </blockquote><p>
11876    
11877    </p>
11878    <p>map_instruction =
11879            </p>
11880    <blockquote class="text">
11881    <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
11882                    
11883    </p>
11884    <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
11885                    
11886    </p>
11887    <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
11888                    
11889    </p>
11890    <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
11891                    
11892    </p>
11893    </blockquote><p>
11894    
11895    </p>
11896    <p>unmap_instruction =
11897            </p>
11898    <blockquote class="text">
11899    <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
11900                    
11901    </p>
11902    </blockquote><p>
11903    
11904    </p>
11905    <p>remove_instruction =
11906            </p>
11907    <blockquote class="text">
11908    <p>CHANNEL SP sampler_channel
11909                    
11910    </p>
11911    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
11912                    
11913    </p>
11914    <p>/ MIDI_INSTRUMENT_MAP SP ALL
11915                    
11916    </p>
11917    <p>/ SEND_EFFECT_CHAIN SP device_index SP effect_chain
11918                    
11919    </p>
11920    <p>/ SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos
11921                    
11922    </p>
11923    <p>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id
11924                    
11925    </p>
11926    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
11927                    
11928    </p>
11929    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
11930                    
11931    </p>
11932    <p>/ DB_INSTRUMENT SP db_path
11933                    
11934    </p>
11935  </blockquote><p>  </blockquote><p>
11936    
11937  </p>  </p>
# Line 5306  Intellectual Property and Copyright Stat Line 11941  Intellectual Property and Copyright Stat
11941  <p>AVAILABLE_ENGINES  <p>AVAILABLE_ENGINES
11942                                    
11943  </p>  </p>
11944    <p>/ AVAILABLE_EFFECTS
11945                    
11946    </p>
11947    <p>/ EFFECT_INSTANCES
11948                    
11949    </p>
11950    <p>/ EFFECT SP INFO SP effect_index
11951                    
11952    </p>
11953    <p>/ EFFECT_INSTANCE SP INFO SP effect_instance
11954                    
11955    </p>
11956    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP INFO SP effect_instance SP input_control
11957                    
11958    </p>
11959    <p>/ SEND_EFFECT_CHAINS SP device_index
11960                    
11961    </p>
11962    <p>/ SEND_EFFECT_CHAIN SP INFO SP device_index SP effect_chain
11963                    
11964    </p>
11965  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
11966                                    
11967  </p>  </p>
# Line 5375  Intellectual Property and Copyright Stat Line 12031  Intellectual Property and Copyright Stat
12031  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
12032                                    
12033  </p>  </p>
12034    <p>/ TOTAL_STREAM_COUNT
12035                    
12036    </p>
12037  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
12038                                    
12039  </p>  </p>
12040  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
12041                                    
12042  </p>  </p>
12043    <p>/ MIDI_INSTRUMENTS SP midi_map
12044                    
12045    </p>
12046    <p>/ MIDI_INSTRUMENTS SP ALL
12047                    
12048    </p>
12049    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
12050                    
12051    </p>
12052    <p>/ MIDI_INSTRUMENT_MAPS
12053                    
12054    </p>
12055    <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
12056                    
12057    </p>
12058    <p>/ FX_SENDS SP sampler_channel
12059                    
12060    </p>
12061    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
12062                    
12063    </p>
12064    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12065                    
12066    </p>
12067    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12068                    
12069    </p>
12070    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
12071                    
12072    </p>
12073    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12074                    
12075    </p>
12076    <p>/ DB_INSTRUMENTS SP db_path
12077                    
12078    </p>
12079    <p>/ DB_INSTRUMENT SP INFO SP db_path
12080                    
12081    </p>
12082    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
12083                    
12084    </p>
12085    <p>/ VOLUME
12086                    
12087    </p>
12088    <p>/ VOICES
12089                    
12090    </p>
12091    <p>/ STREAMS
12092                    
12093    </p>
12094    <p>/ FILE SP INSTRUMENTS SP filename
12095                    
12096    </p>
12097    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
12098                    
12099    </p>
12100  </blockquote><p>  </blockquote><p>
12101    
12102  </p>  </p>
# Line 5396  Intellectual Property and Copyright Stat Line 12112  Intellectual Property and Copyright Stat
12112  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
12113                                    
12114  </p>  </p>
12115    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
12116                    
12117    </p>
12118  <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
12119                                    
12120  </p>  </p>
12121    <p>/ EFFECT_INSTANCE_INPUT_CONTROL SP VALUE SP effect_instance SP input_control SP control_value
12122                    
12123    </p>
12124  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
12125                                    
12126  </p>  </p>
12127    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
12128                    
12129    </p>
12130    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
12131                    
12132    </p>
12133    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
12134                    
12135    </p>
12136    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
12137                    
12138    </p>
12139    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
12140                    
12141    </p>
12142    <p>/ FX_SEND SP EFFECT SP sampler_channel SP fx_send_id SP effect_chain SP chain_pos
12143                    
12144    </p>
12145    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
12146                    
12147    </p>
12148    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
12149                    
12150    </p>
12151    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
12152                    
12153    </p>
12154    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
12155                    
12156    </p>
12157    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
12158                    
12159    </p>
12160  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
12161                                    
12162  </p>  </p>
12163    <p>/ VOLUME SP volume_value
12164                    
12165    </p>
12166    <p>/ VOICES SP number
12167                    
12168    </p>
12169    <p>/ STREAMS SP number
12170                    
12171    </p>
12172  </blockquote><p>  </blockquote><p>
12173    
12174  </p>  </p>
# Line 5423  Intellectual Property and Copyright Stat Line 12187  Intellectual Property and Copyright Stat
12187  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
12188                                    
12189  </p>  </p>
12190    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
12191                    
12192    </p>
12193    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
12194                    
12195    </p>
12196    <p>/ EFFECT_INSTANCE SP effect_index
12197                    
12198    </p>
12199    <p>/ EFFECT_INSTANCE SP effect_system SP module SP effect_name
12200                    
12201    </p>
12202    </blockquote><p>
12203    
12204    </p>
12205    <p>reset_instruction =
12206            </p>
12207    <blockquote class="text">
12208    <p>CHANNEL SP sampler_channel
12209                    
12210    </p>
12211    </blockquote><p>
12212    
12213    </p>
12214    <p>clear_instruction =
12215            </p>
12216    <blockquote class="text">
12217    <p>MIDI_INSTRUMENTS SP midi_map
12218                    
12219    </p>
12220    <p>/ MIDI_INSTRUMENTS SP ALL
12221                    
12222    </p>
12223    </blockquote><p>
12224    
12225    </p>
12226    <p>find_instruction =
12227            </p>
12228    <blockquote class="text">
12229    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
12230                    
12231    </p>
12232    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
12233                    
12234    </p>
12235    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
12236                    
12237    </p>
12238    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
12239                    
12240    </p>
12241    <p>/ LOST SP DB_INSTRUMENT_FILES
12242                    
12243    </p>
12244    </blockquote><p>
12245    
12246    </p>
12247    <p>move_instruction =
12248            </p>
12249    <blockquote class="text">
12250    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12251                    
12252    </p>
12253    <p>/ DB_INSTRUMENT SP db_path SP db_path
12254                    
12255    </p>
12256    </blockquote><p>
12257    
12258    </p>
12259    <p>copy_instruction =
12260            </p>
12261    <blockquote class="text">
12262    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
12263                    
12264    </p>
12265    <p>/ DB_INSTRUMENT SP db_path SP db_path
12266                    
12267    </p>
12268  </blockquote><p>  </blockquote><p>
12269    
12270  </p>  </p>
# Line 5435  Intellectual Property and Copyright Stat Line 12277  Intellectual Property and Copyright Stat
12277  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
12278                                    
12279  </p>  </p>
12280    <p>/ FX_SEND SP sampler_channel SP fx_send_id
12281                    
12282    </p>
12283    <p>/ EFFECT_INSTANCE SP number
12284                    
12285    </p>
12286  </blockquote><p>  </blockquote><p>
12287    
12288  </p>  </p>
# Line 5450  Intellectual Property and Copyright Stat Line 12298  Intellectual Property and Copyright Stat
12298  </blockquote><p>  </blockquote><p>
12299    
12300  </p>  </p>
12301    <p>append_instruction =
12302            </p>
12303    <blockquote class="text">
12304    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP effect_instance
12305                    
12306    </p>
12307    </blockquote><p>
12308    
12309    </p>
12310    <p>insert_instruction =
12311            </p>
12312    <blockquote class="text">
12313    <p>SEND_EFFECT_CHAIN SP EFFECT SP device_index SP effect_chain SP chain_pos SP effect_instance
12314                    
12315    </p>
12316    </blockquote><p>
12317    
12318    </p>
12319  <p>set_chan_instruction =  <p>set_chan_instruction =
12320          </p>          </p>
12321  <blockquote class="text">  <blockquote class="text">
# Line 5486  Intellectual Property and Copyright Stat Line 12352  Intellectual Property and Copyright Stat
12352  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
12353                                    
12354  </p>  </p>
12355    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
12356                    
12357    </p>
12358    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
12359                    
12360    </p>
12361    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
12362                    
12363    </p>
12364    </blockquote><p>
12365    
12366    </p>
12367    <p>edit_instruction =
12368            </p>
12369    <blockquote class="text">
12370    <p>CHANNEL SP INSTRUMENT SP sampler_channel
12371                    
12372    </p>
12373    </blockquote><p>
12374    
12375    </p>
12376    <p>format_instruction =
12377            </p>
12378    <blockquote class="text">
12379    <p>INSTRUMENTS_DB
12380                    
12381    </p>
12382    </blockquote><p>
12383    
12384    </p>
12385    <p>modal_arg =
12386            </p>
12387    <blockquote class="text">
12388    <p>/* epsilon (empty argument) */
12389                    
12390    </p>
12391    <p>/ NON_MODAL SP
12392                    
12393    </p>
12394  </blockquote><p>  </blockquote><p>
12395    
12396  </p>  </p>
# Line 5528  Intellectual Property and Copyright Stat Line 12433  Intellectual Property and Copyright Stat
12433  <p>/ AVAILABLE_ENGINES  <p>/ AVAILABLE_ENGINES
12434                                    
12435  </p>  </p>
12436    <p>/ AVAILABLE_EFFECTS
12437                    
12438    </p>
12439    <p>/ EFFECT_INSTANCES
12440                    
12441    </p>
12442    <p>/ SEND_EFFECT_CHAINS SP number
12443                    
12444    </p>
12445  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS  <p>/ AVAILABLE_MIDI_INPUT_DRIVERS
12446                                    
12447  </p>  </p>
12448  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
12449                                    
12450  </p>  </p>
12451    <p>/ MIDI_INSTRUMENTS SP midi_map
12452                    
12453    </p>
12454    <p>/ MIDI_INSTRUMENTS SP ALL
12455                    
12456    </p>
12457    <p>/ MIDI_INSTRUMENT_MAPS
12458                    
12459    </p>
12460    <p>/ FX_SENDS SP sampler_channel
12461                    
12462    </p>
12463    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
12464                    
12465    </p>
12466    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
12467                    
12468    </p>
12469    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
12470                    
12471    </p>
12472    <p>/ DB_INSTRUMENTS SP db_path
12473                    
12474    </p>
12475    <p>/ FILE SP INSTRUMENTS SP filename
12476                    
12477    </p>
12478    </blockquote><p>
12479    
12480    </p>
12481    <p>send_instruction =
12482            </p>
12483    <blockquote class="text">
12484    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
12485                    
12486    </p>
12487  </blockquote><p>  </blockquote><p>
12488    
12489  </p>  </p>
# Line 5558  Intellectual Property and Copyright Stat Line 12508  Intellectual Property and Copyright Stat
12508  </blockquote><p>  </blockquote><p>
12509    
12510  </p>  </p>
12511    <p>instr_load_mode =
12512            </p>
12513    <blockquote class="text">
12514    <p>ON_DEMAND
12515                    
12516    </p>
12517    <p>/ ON_DEMAND_HOLD
12518                    
12519    </p>
12520    <p>/ PERSISTENT
12521                    
12522    </p>
12523    </blockquote><p>
12524    
12525    </p>
12526    <p>effect_instance =
12527            </p>
12528    <blockquote class="text">
12529    <p>number
12530                    
12531    </p>
12532    </blockquote><p>
12533    
12534    </p>
12535  <p>device_index =  <p>device_index =
12536          </p>          </p>
12537  <blockquote class="text">  <blockquote class="text">
# Line 5615  Intellectual Property and Copyright Stat Line 12589  Intellectual Property and Copyright Stat
12589  </blockquote><p>  </blockquote><p>
12590    
12591  </p>  </p>
12592    <p>midi_map =
12593            </p>
12594    <blockquote class="text">
12595    <p>number
12596                    
12597    </p>
12598    </blockquote><p>
12599    
12600    </p>
12601    <p>midi_bank =
12602            </p>
12603    <blockquote class="text">
12604    <p>number
12605                    
12606    </p>
12607    </blockquote><p>
12608    
12609    </p>
12610    <p>midi_prog =
12611            </p>
12612    <blockquote class="text">
12613    <p>number
12614                    
12615    </p>
12616    </blockquote><p>
12617    
12618    </p>
12619    <p>midi_ctrl =
12620            </p>
12621    <blockquote class="text">
12622    <p>number
12623                    
12624    </p>
12625    </blockquote><p>
12626    
12627    </p>
12628  <p>volume_value =  <p>volume_value =
12629          </p>          </p>
12630  <blockquote class="text">  <blockquote class="text">
# Line 5627  Intellectual Property and Copyright Stat Line 12637  Intellectual Property and Copyright Stat
12637  </blockquote><p>  </blockquote><p>
12638    
12639  </p>  </p>
12640    <p>control_value =
12641            </p>
12642    <blockquote class="text">
12643    <p>real
12644                    
12645    </p>
12646    </blockquote><p>
12647    
12648    </p>
12649  <p>sampler_channel =  <p>sampler_channel =
12650          </p>          </p>
12651  <blockquote class="text">  <blockquote class="text">
# Line 5645  Intellectual Property and Copyright Stat Line 12664  Intellectual Property and Copyright Stat
12664  </blockquote><p>  </blockquote><p>
12665    
12666  </p>  </p>
12667    <p>fx_send_id =
12668            </p>
12669    <blockquote class="text">
12670    <p>number
12671                    
12672    </p>
12673    </blockquote><p>
12674    
12675    </p>
12676  <p>engine_name =  <p>engine_name =
12677          </p>          </p>
12678  <blockquote class="text">  <blockquote class="text">
# Line 5657  Intellectual Property and Copyright Stat Line 12685  Intellectual Property and Copyright Stat
12685  <p>filename =  <p>filename =
12686          </p>          </p>
12687  <blockquote class="text">  <blockquote class="text">
12688  <p>stringval  <p>path
12689                    
12690    </p>
12691    </blockquote><p>
12692    
12693    </p>
12694    <p>db_path =
12695            </p>
12696    <blockquote class="text">
12697    <p>path
12698                    
12699    </p>
12700    </blockquote><p>
12701    
12702    </p>
12703    <p>map_name =
12704            </p>
12705    <blockquote class="text">
12706    <p>stringval_escaped
12707                    
12708    </p>
12709    </blockquote><p>
12710    
12711    </p>
12712    <p>entry_name =
12713            </p>
12714    <blockquote class="text">
12715    <p>stringval_escaped
12716                    
12717    </p>
12718    </blockquote><p>
12719    
12720    </p>
12721    <p>fx_send_name =
12722            </p>
12723    <blockquote class="text">
12724    <p>stringval_escaped
12725                    
12726    </p>
12727    </blockquote><p>
12728    
12729    </p>
12730    <p>effect_name =
12731            </p>
12732    <blockquote class="text">
12733    <p>stringval_escaped
12734                    
12735    </p>
12736    </blockquote><p>
12737    
12738    </p>
12739    <p>effect_index =
12740            </p>
12741    <blockquote class="text">
12742    <p>number
12743                    
12744    </p>
12745    </blockquote><p>
12746    
12747    </p>
12748    <p>effect_chain =
12749            </p>
12750    <blockquote class="text">
12751    <p>number
12752                    
12753    </p>
12754    </blockquote><p>
12755    
12756    </p>
12757    <p>chain_pos =
12758            </p>
12759    <blockquote class="text">
12760    <p>number
12761                    
12762    </p>
12763    </blockquote><p>
12764    
12765    </p>
12766    <p>input_control =
12767            </p>
12768    <blockquote class="text">
12769    <p>number
12770                                    
12771  </p>  </p>
12772  </blockquote><p>  </blockquote><p>
# Line 5693  Intellectual Property and Copyright Stat Line 12802  Intellectual Property and Copyright Stat
12802  </blockquote><p>  </blockquote><p>
12803    
12804  </p>  </p>
12805    <p>query_val_list =
12806            </p>
12807    <blockquote class="text">
12808    <p>string '=' query_val
12809                    
12810    </p>
12811    <p>/ query_val_list SP string '=' query_val
12812                    
12813    </p>
12814    </blockquote><p>
12815    
12816    </p>
12817    <p>query_val =
12818            </p>
12819    <blockquote class="text">
12820    <p>text_escaped
12821                    
12822    </p>
12823    <p>/ stringval_escaped
12824                    
12825    </p>
12826    </blockquote><p>
12827    
12828    </p>
12829    <p>scan_mode =
12830            </p>
12831    <blockquote class="text">
12832    <p>RECURSIVE
12833                    
12834    </p>
12835    <p>/ NON_RECURSIVE
12836                    
12837    </p>
12838    <p>/ FLAT
12839                    
12840    </p>
12841    </blockquote><p>
12842    
12843    </p>
12844    <p>effect_system =
12845            </p>
12846    <blockquote class="text">
12847    <p>string
12848                    
12849    </p>
12850    </blockquote><p>
12851    
12852    </p>
12853    <p>module =
12854            </p>
12855    <blockquote class="text">
12856    <p>filename
12857                    
12858    </p>
12859    </blockquote><p>
12860    
12861    </p>
12862    <a name="character_set"></a><br /><hr />
12863    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12864    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
12865    Character Set and Escape Sequences</h3>
12866    
12867    <p>Older versions of this protocol up to and including v1.1 only
12868                    supported the standard ASCII character set (ASCII code 0 - 127)
12869                    <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
12870                    however support the Extended ASCII character set (ASCII code
12871                    0 - 255). The same group of younger protocols also support
12872                    escape sequences, but only for certain, explicitly declared
12873                    parts of the protocol. The supported escape sequences are
12874                    defined as follows:
12875    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
12876    <col align="left"><col align="left">
12877    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
12878    <tr>
12879    <td align="left">\n</td>
12880    <td align="left">new line</td>
12881    </tr>
12882    <tr>
12883    <td align="left">\r</td>
12884    <td align="left">carriage return</td>
12885    </tr>
12886    <tr>
12887    <td align="left">\f</td>
12888    <td align="left">form feed</td>
12889    </tr>
12890    <tr>
12891    <td align="left">\t</td>
12892    <td align="left">horizontal tab</td>
12893    </tr>
12894    <tr>
12895    <td align="left">\v</td>
12896    <td align="left">vertical tab</td>
12897    </tr>
12898    <tr>
12899    <td align="left">\'</td>
12900    <td align="left">apostrophe</td>
12901    </tr>
12902    <tr>
12903    <td align="left">\"</td>
12904    <td align="left">quotation mark</td>
12905    </tr>
12906    <tr>
12907    <td align="left">\\</td>
12908    <td align="left">backslash</td>
12909    </tr>
12910    <tr>
12911    <td align="left">\OOO</td>
12912    <td align="left">three digit octal ASCII code of the character</td>
12913    </tr>
12914    <tr>
12915    <td align="left">\xHH</td>
12916    <td align="left">two digit hex ASCII code of the character</td>
12917    </tr>
12918    </table>
12919    <br clear="all" />
12920    
12921    <p>Notice: due to the transition of certain parts of the
12922                    protocol which now support escape sequences, a slight backward
12923                    incompatibility to protocols version v1.1 and younger has been
12924                    introduced. The only difference is that in parts of the protocol
12925                    where escape characters are now supported, a backslash characters
12926                    MUST be escaped as well (that is as double backslash), whereas
12927                    in the old versions a single backslash was sufficient.
12928    </p>
12929    <p>The following LSCP commands support escape sequences as part
12930                    of their filename / path based arguments and / or may contain
12931                    a filename / path with escape sequences in their response:
12932                    </p>
12933    <blockquote class="text">
12934    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
12935    </p>
12936    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
12937    </p>
12938    <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>
12939    </p>
12940    <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>
12941    </p>
12942    <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>
12943    </p>
12944    <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>
12945    </p>
12946    <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>
12947    </p>
12948    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
12949    </p>
12950    <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>
12951    </p>
12952    <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>
12953    </p>
12954    <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>
12955    </p>
12956    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
12957    </p>
12958    <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>
12959    </p>
12960    <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>
12961    </p>
12962    <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>
12963    </p>
12964    <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>
12965    </p>
12966    <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>
12967    </p>
12968    <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>
12969    </p>
12970    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
12971    </p>
12972    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
12973    </p>
12974    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
12975    </p>
12976    <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>
12977    </p>
12978    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
12979    </p>
12980    <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>
12981    </p>
12982    <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>
12983    </p>
12984    <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>
12985    </p>
12986    <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>
12987    </p>
12988    <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>
12989    </p>
12990    <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>
12991    </p>
12992    <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>
12993    </p>
12994    <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>
12995    </p>
12996    <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>
12997    </p>
12998    </blockquote><p>
12999                    Note that the forward slash character ('/') has a special meaning in
13000                    filename / path based arguments: it acts as separator of the nodes in
13001                    the path, thus if a directory- or filename includes a forward slash
13002                    (not intended as path node separator), you MUST escape that slash
13003                    either with the respective hex escape sequence ("\x2f") or with the
13004                    respective octal escape sequence ("\057").
13005                    
13006    </p>
13007    <p>
13008                    Note for Windows: file path arguments in LSCP are expected
13009                    to use forward slashes as directory node separator similar
13010                    to Unix based operating systems. In contrast to Unix however
13011                    a Windows typical drive character is expected to be
13012                    prefixed to the path. That is an original Windows file path
13013                    like "D:\Sounds\My.gig" would become in LSCP:
13014                    "D:/Sounds/My.gig".
13015                    
13016    </p>
13017    <p>
13018                    The following LSCP commands even support escape sequences as
13019                    part of at least one of their text-based arguments (i.e. entity name,
13020                    description) and / or may contain escape sequences in at least one of
13021                    their text-based fields in their response:
13022                    </p>
13023    <blockquote class="text">
13024    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
13025    </p>
13026    <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>
13027    </p>
13028    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
13029    </p>
13030    <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>
13031    </p>
13032    <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>
13033    </p>
13034    <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>
13035    </p>
13036    <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>
13037    </p>
13038    <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>
13039    </p>
13040    <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>
13041    </p>
13042    <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>
13043    </p>
13044    <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>
13045    </p>
13046    <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>
13047    </p>
13048    <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>
13049    </p>
13050    <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>
13051    </p>
13052    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
13053    </p>
13054    <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>
13055    </p>
13056    <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>
13057    </p>
13058    <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>
13059    </p>
13060    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
13061    </p>
13062    <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>
13063    </p>
13064    <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>
13065    </p>
13066    <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>
13067    </p>
13068    </blockquote><p>
13069                    Please note that these lists are manually maintained. If you
13070                    find a command that also supports escape sequences we forgot to
13071                    mention here, please report it!
13072                    
13073    </p>
13074  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
13075  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13076  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
13077    Events</h3>
13078    
13079  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
13080  </p>  </p>
13081  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
13082  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13083  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;Number of sampler channels changed</h3>  <a name="rfc.section.8.1"></a><h3>8.1.&nbsp;
13084    Number of audio output devices changed</h3>
13085    
13086    <p>Client may want to be notified when the total number of audio output devices on the
13087                    back-end changes by issuing the following command:
13088    </p>
13089    <p>
13090                        </p>
13091    <blockquote class="text">
13092    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
13093    </p>
13094    </blockquote><p>
13095                    
13096    </p>
13097    <p>Server will start sending the following notification messages:
13098    </p>
13099    <p>
13100                        </p>
13101    <blockquote class="text">
13102    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
13103    </p>
13104    </blockquote><p>
13105                    
13106    </p>
13107    <p>where &lt;devices&gt; will be replaced by the new number
13108                    of audio output devices.
13109    </p>
13110    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
13111    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13112    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
13113    Audio output device's settings changed</h3>
13114    
13115    <p>Client may want to be notified when changes were made to audio output devices on the
13116                    back-end by issuing the following command:
13117    </p>
13118    <p>
13119                        </p>
13120    <blockquote class="text">
13121    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
13122    </p>
13123    </blockquote><p>
13124                    
13125    </p>
13126    <p>Server will start sending the following notification messages:
13127    </p>
13128    <p>
13129                        </p>
13130    <blockquote class="text">
13131    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
13132    </p>
13133    </blockquote><p>
13134                    
13135    </p>
13136    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
13137                    which settings has been changed. The front-end will have to send
13138                    the respective command to actually get the audio output device info. Because these messages
13139                    will be triggered by LSCP commands issued by other clients rather than real
13140                    time events happening on the server, it is believed that an empty notification
13141                    message is sufficient here.
13142    </p>
13143    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
13144    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13145    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
13146    Number of MIDI input devices changed</h3>
13147    
13148    <p>Client may want to be notified when the total number of MIDI input devices on the
13149                    back-end changes by issuing the following command:
13150    </p>
13151    <p>
13152                        </p>
13153    <blockquote class="text">
13154    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
13155    </p>
13156    </blockquote><p>
13157                    
13158    </p>
13159    <p>Server will start sending the following notification messages:
13160    </p>
13161    <p>
13162                        </p>
13163    <blockquote class="text">
13164    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
13165    </p>
13166    </blockquote><p>
13167                    
13168    </p>
13169    <p>where &lt;devices&gt; will be replaced by the new number
13170                    of MIDI input devices.
13171    </p>
13172    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
13173    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13174    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
13175    MIDI input device's settings changed</h3>
13176    
13177    <p>Client may want to be notified when changes were made to MIDI input devices on the
13178                    back-end by issuing the following command:
13179    </p>
13180    <p>
13181                        </p>
13182    <blockquote class="text">
13183    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
13184    </p>
13185    </blockquote><p>
13186                    
13187    </p>
13188    <p>Server will start sending the following notification messages:
13189    </p>
13190    <p>
13191                        </p>
13192    <blockquote class="text">
13193    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
13194    </p>
13195    </blockquote><p>
13196                    
13197    </p>
13198    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
13199                    which settings has been changed. The front-end will have to send
13200                    the respective command to actually get the MIDI input device info. Because these messages
13201                    will be triggered by LSCP commands issued by other clients rather than real
13202                    time events happening on the server, it is believed that an empty notification
13203                    message is sufficient here.
13204    </p>
13205    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
13206    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13207    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
13208    Number of sampler channels changed</h3>
13209    
13210  <p>Client may want to be notified when the total number of channels on the  <p>Client may want to be notified when the total number of channels on the
13211                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5727  Intellectual Property and Copyright Stat Line 13231  Intellectual Property and Copyright Stat
13231  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
13232                  of sampler channels.                  of sampler channels.
13233  </p>  </p>
13234    <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
13235    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13236    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
13237    MIDI data on a sampler channel arrived</h3>
13238    
13239    <p>Client may want to be notified when MIDI data arrive on sampler channels on
13240                    back-end side, by issuing the following command:
13241    </p>
13242    <p>
13243                        </p>
13244    <blockquote class="text">
13245    <p>SUBSCRIBE CHANNEL_MIDI
13246    </p>
13247    </blockquote><p>
13248                    
13249    </p>
13250    <p>Server will start sending one of the the following notification messages:
13251    </p>
13252    <p>
13253                        </p>
13254    <blockquote class="text">
13255    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
13256    </p>
13257    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13258    </p>
13259    </blockquote><p>
13260                    
13261    </p>
13262    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
13263                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13264                    0 .. 127, reflecting the analog meaning of the MIDI specification.
13265                    
13266    </p>
13267    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13268                    delivered by this mechanism! With other words: events could be lost at any time!
13269                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13270                    thread unaffected by this feature.
13271    </p>
13272    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
13273    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13274    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
13275    MIDI data on a MIDI input device arrived</h3>
13276    
13277    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
13278    </p>
13279    <p>
13280                                </p>
13281    <blockquote class="text">
13282    <p>SUBSCRIBE DEVICE_MIDI
13283    </p>
13284    </blockquote><p>
13285                        
13286    </p>
13287    <p>Server will start sending one of the the following notification messages:
13288    </p>
13289    <p>
13290                                </p>
13291    <blockquote class="text">
13292    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
13293    </p>
13294    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
13295    </p>
13296    </blockquote><p>
13297                        
13298    </p>
13299    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
13300                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
13301                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
13302                           0 .. 127, reflecting the analog meaning of the MIDI specification.
13303                        
13304    </p>
13305    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
13306                           delivered by this mechanism! With other words: events could be lost at any time!
13307                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
13308                           thread unaffected by this feature.
13309    </p>
13310  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
13311  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13312  <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;Number of active voices changed</h3>  <a name="rfc.section.8.8"></a><h3>8.8.&nbsp;
13313    Number of active voices changed</h3>
13314    
13315  <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
13316                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5747  Intellectual Property and Copyright Stat Line 13328  Intellectual Property and Copyright Stat
13328  <p>  <p>
13329                      </p>                      </p>
13330  <blockquote class="text">  <blockquote class="text">
13331  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
13332  </p>  </p>
13333  </blockquote><p>  </blockquote><p>
13334                                    
# Line 5757  Intellectual Property and Copyright Stat Line 13338  Intellectual Property and Copyright Stat
13338                  active voices on that channel.                  active voices on that channel.
13339  </p>  </p>
13340  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
13341  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13342  <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;Number of active disk streams changed</h3>  <a name="rfc.section.8.9"></a><h3>8.9.&nbsp;
13343    Number of active disk streams changed</h3>
13344    
13345  <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
13346                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
# Line 5786  Intellectual Property and Copyright Stat Line 13368  Intellectual Property and Copyright Stat
13368                  active disk streams on that channel.                  active disk streams on that channel.
13369  </p>  </p>
13370  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
13371  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13372  <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;Disk stream buffer fill state changed</h3>  <a name="rfc.section.8.10"></a><h3>8.10.&nbsp;
13373    Disk stream buffer fill state changed</h3>
13374    
13375  <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
13376                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
# Line 5812  Intellectual Property and Copyright Stat Line 13395  Intellectual Property and Copyright Stat
13395  </p>  </p>
13396  <p>where &lt;sampler-channel&gt; will be replaced by the sampler channel the  <p>where &lt;sampler-channel&gt; will be replaced by the sampler channel the
13397                  buffer fill state change occurred on and &lt;fill-data&gt; will be replaced by the                  buffer fill state change occurred on and &lt;fill-data&gt; will be replaced by the
13398                  buffer fill data for this channel as described in <a class="info" href="#GET CHANNEL BUFFER_FILL">Section&nbsp;6.4.13<span> (</span><span class="info">Current fill state of disk stream buffers</span><span>)</span></a>                  buffer fill data for this channel as described in <a class='info' href='#GET CHANNEL BUFFER_FILL'>Section&nbsp;6.4.13<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a>
13399                  as if the <a class="info" href="#GET CHANNEL BUFFER_FILL">"GET CHANNEL BUFFER_FILL PERCENTAGE"<span> (</span><span class="info">Current fill state of disk stream buffers</span><span>)</span></a> command was issued on this channel.                  as if the <a class='info' href='#GET CHANNEL BUFFER_FILL'>"GET CHANNEL BUFFER_FILL PERCENTAGE"<span> (</span><span class='info'>Current fill state of disk stream buffers</span><span>)</span></a> command was issued on this channel.
13400  </p>  </p>
13401  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
13402  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13403  <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;Channel information changed</h3>  <a name="rfc.section.8.11"></a><h3>8.11.&nbsp;
13404    Channel information changed</h3>
13405    
13406  <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
13407                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 5847  Intellectual Property and Copyright Stat Line 13431  Intellectual Property and Copyright Stat
13431                  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
13432                  message is sufficient here.                  message is sufficient here.
13433  </p>  </p>
13434    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
13435    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13436    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
13437    Number of effect sends changed</h3>
13438    
13439    <p>Client may want to be notified when the number of effect sends on
13440                    a particular sampler channel is changed by issuing the following command:
13441    </p>
13442    <p>
13443                        </p>
13444    <blockquote class="text">
13445    <p>SUBSCRIBE FX_SEND_COUNT
13446    </p>
13447    </blockquote><p>
13448                    
13449    </p>
13450    <p>Server will start sending the following notification messages:
13451    </p>
13452    <p>
13453                        </p>
13454    <blockquote class="text">
13455    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
13456    </p>
13457    </blockquote><p>
13458                    
13459    </p>
13460    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13461                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
13462                    be replaced by the new number of effect sends on that channel.
13463    </p>
13464    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
13465    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13466    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
13467    Effect send information changed</h3>
13468    
13469    <p>Client may want to be notified when changes were made to effect sends on a
13470                    a particular sampler channel by issuing the following command:
13471    </p>
13472    <p>
13473                        </p>
13474    <blockquote class="text">
13475    <p>SUBSCRIBE FX_SEND_INFO
13476    </p>
13477    </blockquote><p>
13478                    
13479    </p>
13480    <p>Server will start sending the following notification messages:
13481    </p>
13482    <p>
13483                        </p>
13484    <blockquote class="text">
13485    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
13486    </p>
13487    </blockquote><p>
13488                    
13489    </p>
13490    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
13491                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
13492                    be replaced by the numerical ID of the changed effect send.
13493    </p>
13494  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
13495  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13496  <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;Total number of active voices changed</h3>  <a name="rfc.section.8.14"></a><h3>8.14.&nbsp;
13497    Total number of active voices changed</h3>
13498    
13499  <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
13500                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 5867  Intellectual Property and Copyright Stat Line 13512  Intellectual Property and Copyright Stat
13512  <p>  <p>
13513                      </p>                      </p>
13514  <blockquote class="text">  <blockquote class="text">
13515  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
13516  </p>  </p>
13517  </blockquote><p>  </blockquote><p>
13518                                    
# Line 5875  Intellectual Property and Copyright Stat Line 13520  Intellectual Property and Copyright Stat
13520  <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
13521                  all currently active voices.                  all currently active voices.
13522  </p>  </p>
13523    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
13524    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13525    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
13526    Total number of active disk streams changed</h3>
13527    
13528    <p>Client may want to be notified when the total number of disk streams on the
13529                    back-end changes by issuing the following command:
13530    </p>
13531    <p>
13532                        </p>
13533    <blockquote class="text">
13534    <p>SUBSCRIBE TOTAL_STREAM_COUNT
13535    </p>
13536    </blockquote><p>
13537                    
13538    </p>
13539    <p>Server will start sending the following notification messages:
13540    </p>
13541    <p>
13542                        </p>
13543    <blockquote class="text">
13544    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
13545    </p>
13546    </blockquote><p>
13547                    
13548    </p>
13549    <p>where &lt;streams&gt; will be replaced by the new number of
13550                    all currently active disk streams.
13551    </p>
13552    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
13553    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13554    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
13555    Number of MIDI instrument maps changed</h3>
13556    
13557    <p>Client may want to be notified when the number of MIDI instrument maps on the
13558                    back-end changes by issuing the following command:
13559    </p>
13560    <p>
13561                        </p>
13562    <blockquote class="text">
13563    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
13564    </p>
13565    </blockquote><p>
13566                    
13567    </p>
13568    <p>Server will start sending the following notification messages:
13569    </p>
13570    <p>
13571                        </p>
13572    <blockquote class="text">
13573    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
13574    </p>
13575    </blockquote><p>
13576                    
13577    </p>
13578    <p>where &lt;maps&gt; will be replaced by the new number
13579                    of MIDI instrument maps.
13580    </p>
13581    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
13582    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13583    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
13584    MIDI instrument map information changed</h3>
13585    
13586    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
13587                    back-end by issuing the following command:
13588    </p>
13589    <p>
13590                        </p>
13591    <blockquote class="text">
13592    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
13593    </p>
13594    </blockquote><p>
13595                    
13596    </p>
13597    <p>Server will start sending the following notification messages:
13598    </p>
13599    <p>
13600                        </p>
13601    <blockquote class="text">
13602    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
13603    </p>
13604    </blockquote><p>
13605                    
13606    </p>
13607    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
13608                    for which information changes occurred. The front-end will have to send
13609                    the respective command to actually get the MIDI instrument map info. Because these messages
13610                    will be triggered by LSCP commands issued by other clients rather than real
13611                    time events happening on the server, it is believed that an empty notification
13612                    message is sufficient here.
13613    </p>
13614    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
13615    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13616    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
13617    Number of MIDI instruments changed</h3>
13618    
13619    <p>Client may want to be notified when the number of MIDI instrument maps on the
13620                    back-end changes by issuing the following command:
13621    </p>
13622    <p>
13623                        </p>
13624    <blockquote class="text">
13625    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
13626    </p>
13627    </blockquote><p>
13628                    
13629    </p>
13630    <p>Server will start sending the following notification messages:
13631    </p>
13632    <p>
13633                        </p>
13634    <blockquote class="text">
13635    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
13636    </p>
13637    </blockquote><p>
13638                    
13639    </p>
13640    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
13641                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
13642                    the new number of MIDI instruments in the specified map.
13643    </p>
13644    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
13645    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13646    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
13647    MIDI instrument information changed</h3>
13648    
13649    <p>Client may want to be notified when changes were made to MIDI instruments on the
13650                    back-end by issuing the following command:
13651    </p>
13652    <p>
13653                        </p>
13654    <blockquote class="text">
13655    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
13656    </p>
13657    </blockquote><p>
13658                    
13659    </p>
13660    <p>Server will start sending the following notification messages:
13661    </p>
13662    <p>
13663                        </p>
13664    <blockquote class="text">
13665    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
13666    </p>
13667    </blockquote><p>
13668                    
13669    </p>
13670    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
13671                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
13672                    the location of the changed MIDI instrument in the map. The front-end will have to send
13673                    the respective command to actually get the MIDI instrument info. Because these messages
13674                    will be triggered by LSCP commands issued by other clients rather than real
13675                    time events happening on the server, it is believed that an empty notification
13676                    message is sufficient here.
13677    </p>
13678    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
13679    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13680    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
13681    Global settings changed</h3>
13682    
13683    <p>Client may want to be notified when changes to the global settings
13684                    of the sampler were made by issuing the following command:
13685    </p>
13686    <p>
13687                        </p>
13688    <blockquote class="text">
13689    <p>SUBSCRIBE GLOBAL_INFO
13690    </p>
13691    </blockquote><p>
13692                    
13693    </p>
13694    <p>Server will start sending the following types of notification messages:
13695    </p>
13696    <p>
13697                        </p>
13698    <blockquote class="text">
13699    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
13700                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
13701                            replaced by the optional dotted floating point value, reflecting the
13702                            new global volume parameter.
13703    </p>
13704    </blockquote><p>
13705                        </p>
13706    <blockquote class="text">
13707    <p>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
13708                            golbal limit of the sampler for maximum voices is changed, where
13709                            &lt;max-voices&gt; will be an integer value, reflecting the
13710                            new global voice limit parameter.
13711    </p>
13712    </blockquote><p>
13713                        </p>
13714    <blockquote class="text">
13715    <p>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
13716                            golbal limit of the sampler for maximum disk streams is changed, where
13717                            &lt;max-streams&gt; will be an integer value, reflecting the
13718                            new global disk streams limit parameter.
13719    </p>
13720    </blockquote><p>
13721                    
13722    </p>
13723    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
13724    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13725    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
13726    Number of database instrument directories changed</h3>
13727    
13728    <p>Client may want to be notified when the number of instrument
13729                    directories in a particular directory in the instruments database
13730                    is changed by issuing the following command:
13731    </p>
13732    <p>
13733                        </p>
13734    <blockquote class="text">
13735    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
13736    </p>
13737    </blockquote><p>
13738                    
13739    </p>
13740    <p>Server will start sending the following notification messages:
13741    </p>
13742    <p>
13743                        </p>
13744    <blockquote class="text">
13745    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
13746    </p>
13747    </blockquote><p>
13748                    
13749    </p>
13750    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13751                    name of the directory in the instruments database,
13752                    in which the number of directories is changed.
13753    </p>
13754    <p>Note that when a non-empty directory is removed, this event
13755                    is not sent for the subdirectories in that directory.
13756    </p>
13757    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
13758    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13759    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
13760    Database instrument directory information changed</h3>
13761    
13762    <p>Client may want to be notified when changes were made to directories
13763                    in the instruments database by issuing the following command:
13764    </p>
13765    <p>
13766                        </p>
13767    <blockquote class="text">
13768    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
13769    </p>
13770    </blockquote><p>
13771                    
13772    </p>
13773    <p>Server will start sending the following notification messages:
13774    </p>
13775    <p>
13776                        </p>
13777    <blockquote class="text">
13778    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
13779    </p>
13780    </blockquote><p>
13781                    
13782    </p>
13783    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
13784                    of the directory, for which information changes occurred. The front-end will have to send
13785                    the respective command to actually get the updated directory info. Because these messages
13786                    will be triggered by LSCP commands issued by other clients rather than real
13787                    time events happening on the server, it is believed that an empty notification
13788                    message is sufficient here.
13789    </p>
13790    <p>
13791                        </p>
13792    <blockquote class="text">
13793    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
13794    </p>
13795    </blockquote><p>
13796                    
13797    </p>
13798    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
13799                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13800                    the new name of the directory, encapsulated into apostrophes.
13801    </p>
13802    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
13803    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13804    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
13805    Number of database instruments changed</h3>
13806    
13807    <p>Client may want to be notified when the number of instruments
13808                    in a particular directory in the instruments database
13809                    is changed by issuing the following command:
13810    </p>
13811    <p>
13812                        </p>
13813    <blockquote class="text">
13814    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
13815    </p>
13816    </blockquote><p>
13817                    
13818    </p>
13819    <p>Server will start sending the following notification messages:
13820    </p>
13821    <p>
13822                        </p>
13823    <blockquote class="text">
13824    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
13825    </p>
13826    </blockquote><p>
13827                    
13828    </p>
13829    <p>where &lt;dir-path&gt; will be replaced by the absolute path
13830                    name of the directory in the instruments database,
13831                    in which the number of instruments is changed.
13832    </p>
13833    <p>Note that when a non-empty directory is removed, this event
13834                    is not sent for the instruments in that directory.
13835    </p>
13836    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
13837    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13838    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
13839    Database instrument information changed</h3>
13840    
13841    <p>Client may want to be notified when changes were made to instruments
13842                    in the instruments database by issuing the following command:
13843    </p>
13844    <p>
13845                        </p>
13846    <blockquote class="text">
13847    <p>SUBSCRIBE DB_INSTRUMENT_INFO
13848    </p>
13849    </blockquote><p>
13850                    
13851    </p>
13852    <p>Server will start sending the following notification messages:
13853    </p>
13854    <p>
13855                        </p>
13856    <blockquote class="text">
13857    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
13858    </p>
13859    </blockquote><p>
13860                    
13861    </p>
13862    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
13863                    of the instrument, which settings are changed. The front-end will have to send
13864                    the respective command to actually get the updated directory info. Because these messages
13865                    will be triggered by LSCP commands issued by other clients rather than real
13866                    time events happening on the server, it is believed that an empty notification
13867                    message is sufficient here.
13868    </p>
13869    <p>
13870                        </p>
13871    <blockquote class="text">
13872    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
13873    </p>
13874    </blockquote><p>
13875                    
13876    </p>
13877    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
13878                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
13879                    the new name of the instrument, encapsulated into apostrophes.
13880    </p>
13881    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
13882    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13883    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
13884    Database job status information changed</h3>
13885    
13886    <p>Client may want to be notified when the status of particular database
13887                    instruments job is changed by issuing the following command:
13888    </p>
13889    <p>
13890                        </p>
13891    <blockquote class="text">
13892    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
13893    </p>
13894    </blockquote><p>
13895                    
13896    </p>
13897    <p>Server will start sending the following notification messages:
13898    </p>
13899    <p>
13900                        </p>
13901    <blockquote class="text">
13902    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
13903    </p>
13904    </blockquote><p>
13905                    
13906    </p>
13907    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
13908                    which status is changed. The front-end will have to send the respective
13909                    command to actually get the status info. Because these messages
13910                    will be triggered by LSCP commands issued by other clients rather than real
13911                    time events happening on the server, it is believed that an empty notification
13912                    message is sufficient here.
13913    </p>
13914  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
13915  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13916  <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;Miscellaneous and debugging events</h3>  <a name="rfc.section.8.26"></a><h3>8.26.&nbsp;
13917    Miscellaneous and debugging events</h3>
13918    
13919  <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
13920                  the server by issuing the following command:                  the server by issuing the following command:
# Line 5905  Intellectual Property and Copyright Stat Line 13942  Intellectual Property and Copyright Stat
13942                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
13943  </p>  </p>
13944  <a name="anchor14"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
13945  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13946  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
13947    Security Considerations</h3>
13948    
13949  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
13950              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
# Line 5914  Intellectual Property and Copyright Stat Line 13952  Intellectual Property and Copyright Stat
13952              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
13953  </p>  </p>
13954  <a name="anchor15"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
13955  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13956  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
13957    Acknowledgments</h3>
13958    
13959  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
13960              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
# Line 5936  Intellectual Property and Copyright Stat Line 13975  Intellectual Property and Copyright Stat
13975                            
13976  </p>  </p>
13977  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
13978  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13979  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
13980  <table width="99%" border="0">  <table width="99%" border="0">
13981    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
13982    <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>
13983  <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>
13984  <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>
13985  <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>
13986  <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>
13987  <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>
13988  <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>
13989  </table>  </table>
13990    
13991  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
13992  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
13993  <h3>Author's Address</h3>  <h3>Author's Address</h3>
13994  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
13995  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 5966  Schoenebeck</td></tr> Line 14007  Schoenebeck</td></tr>
14007  <td class="author-text"><a href="mailto:schoenebeck at software minus engineering dot org">schoenebeck at software minus engineering dot org</a></td></tr>  <td class="author-text"><a href="mailto:schoenebeck at software minus engineering dot org">schoenebeck at software minus engineering dot org</a></td></tr>
14008  </table>  </table>
14009  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
14010  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
 <h3>Intellectual Property Statement</h3>  
 <p class='copyright'>  
 The IETF takes no position regarding the validity or scope of  
 any intellectual property or other rights that might be claimed  
 to  pertain to the implementation or use of the technology  
 described in this document or the extent to which any license  
 under such rights might or might not be available; neither does  
 it represent that it has made any effort to identify any such  
 rights. Information on the IETF's procedures with respect to  
 rights in standards-track and standards-related documentation  
 can be found in BCP&nbsp;11. Copies of claims of rights made  
 available for publication and any assurances of licenses to  
 be made available, or the result of an attempt made  
 to obtain a general license or permission for the use of such  
 proprietary rights by implementors or users of this  
 specification can be obtained from the IETF Secretariat.</p>  
 <p class='copyright'>  
 The IETF invites any interested party to bring to its  
 attention any copyrights, patents or patent applications, or  
 other proprietary rights which may cover technology that may be  
 required to practice this standard. Please address the  
 information to the IETF Executive Director.</p>  
14011  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
14012  <p class='copyright'>  <p class='copyright'>
14013  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2010).</p>
14014  <p class='copyright'>  <p class='copyright'>
14015  This document and translations of it may be copied and furnished to  This document is subject to the rights,
14016  others, and derivative works that comment on or otherwise explain it  licenses and restrictions contained in BCP&nbsp;78,
14017  or assist in its implementation may be prepared, copied, published and  and except as set forth therein,
14018  distributed, in whole or in part, without restriction of any kind,  the authors retain all their rights.</p>
 provided that the above copyright notice and this paragraph are  
 included on all such copies and derivative works. However, this  
 document itself may not be modified in any way, such as by removing  
 the copyright notice or references to the Internet Society or other  
 Internet organizations, except as needed for the purpose of  
 developing Internet standards in which case the procedures for  
 copyrights defined in the Internet Standards process must be  
 followed, or as required to translate it into languages other than  
 English.</p>  
14019  <p class='copyright'>  <p class='copyright'>
14020  The limited permissions granted above are perpetual and will not be  This document and the information contained herein are provided
14021  revoked by the Internet Society or its successors or assignees.</p>  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
14022    THE ORGANIZATION HE/SHE REPRESENTS
14023    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
14024    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
14025    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
14026    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
14027    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
14028    PURPOSE.</p>
14029    <h3>Intellectual Property</h3>
14030    <p class='copyright'>
14031    The IETF takes no position regarding the validity or scope of any
14032    Intellectual Property Rights or other rights that might be claimed
14033    to pertain to the implementation or use of the technology
14034    described in this document or the extent to which any license
14035    under such rights might or might not be available; nor does it
14036    represent that it has made any independent effort to identify any
14037    such rights.
14038    Information on the procedures with respect to
14039    rights in RFC documents can be found in BCP&nbsp;78 and BCP&nbsp;79.</p>
14040  <p class='copyright'>  <p class='copyright'>
14041  This document and the information contained herein is provided on an  Copies of IPR disclosures made to the IETF Secretariat and any
14042  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  assurances of licenses to be made available,
14043  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  or the result of an attempt made to obtain a general license or
14044  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  permission for the use of such proprietary rights by implementers or
14045  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  users of this specification can be obtained from the IETF on-line IPR
14046  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
 <h3>Acknowledgment</h3>  
14047  <p class='copyright'>  <p class='copyright'>
14048  Funding for the RFC Editor function is currently provided by the  The IETF invites any interested party to bring to its attention
14049  Internet Society.</p>  any copyrights,
14050    patents or patent applications,
14051    or other
14052    proprietary rights that may cover technology that may be required
14053    to implement this standard.
14054    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
14055  </body></html>  </body></html>

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

  ViewVC Help
Powered by ViewVC