/[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 945 by schoenebeck, Sun Nov 26 16:39:49 2006 UTC revision 1801 by schoenebeck, Sun Dec 7 01:31:29 2008 UTC
# Line 3  Line 3 
3  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4  <meta name="description" content="LinuxSampler Control Protocol">  <meta name="description" content="LinuxSampler Control Protocol">
5  <meta name="keywords" content="LSCP">  <meta name="keywords" content="LSCP">
6  <meta name="generator" content="xml2rfc v1.30 (http://xml.resource.org/)">  <meta name="generator" content="xml2rfc v1.33 (http://xml.resource.org/)">
7  <style type='text/css'>  <style type='text/css'><!--
8  <!--          body {
9      body {                  font-family: verdana, charcoal, helvetica, arial, sans-serif;
10          font-family: verdana, charcoal, helvetica, arial, sans-serif;                  font-size: small; color: #000; background-color: #FFF;
11          margin: 2em;                  margin: 2em;
12          font-size: small ; color: #000000 ; background-color: #ffffff ; }          }
13      .title { color: #990000; font-size: x-large ;          h1, h2, h3, h4, h5, h6 {
14          font-weight: bold; text-align: right;                  font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;
15          font-family: helvetica, monaco, "MS Sans Serif", arial, sans-serif;                  font-weight: bold; font-style: normal;
16          background-color: transparent; }          }
17      .filename { color: #666666; font-size: 18px; line-height: 28px;          h1 { color: #900; background-color: transparent; text-align: right; }
18          font-weight: bold; text-align: right;          h3 { color: #333; background-color: transparent; }
19          font-family: helvetica, arial, sans-serif;  
20          background-color: transparent; }          td.RFCbug {
21      td.rfcbug { background-color: #000000 ; width: 30px ; height: 30px ;                  font-size: x-small; text-decoration: none;
22          text-align: justify; vertical-align: middle ; padding-top: 2px ; }                  width: 30px; height: 30px; padding-top: 2px;
23      td.rfcbug span.RFC { color: #666666; font-weight: bold; text-decoration: none;                  text-align: justify; vertical-align: middle;
24          background-color: #000000 ;                  background-color: #000;
25          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
26          font-size: x-small ; }          td.RFCbug span.RFC {
27      td.rfcbug span.hotText { color: #ffffff; font-weight: normal; text-decoration: none;                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
28          text-align: center ;                  font-weight: bold; color: #666;
29          font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;          }
30          font-size: x-small ; background-color: #000000; }          td.RFCbug span.hotText {
31      /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */                  font-family: charcoal, monaco, geneva, "MS Sans Serif", helvetica, verdana, sans-serif;
32      div#counter{margin-top: 100px}                  font-weight: normal; text-align: center; color: #FFF;
33            }
34      a.info{  
35          position:relative; /*this is the key*/          table.TOCbug { width: 30px; height: 15px; }
36          z-index:24;          td.TOCbug {
37          text-decoration:none}                  text-align: center; width: 30px; height: 15px;
38                    color: #FFF; background-color: #900;
39      a.info:hover{z-index:25; background-color:#990000 ; color: #ffffff ;}          }
40            td.TOCbug a {
41      a.info span{display: none}                  font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;
42                    font-weight: bold; font-size: x-small; text-decoration: none;
43      a.info:hover span.info{ /*the span will display just on :hover state*/                  color: #FFF; background-color: transparent;
44          display:block;          }
45          position:absolute;  
46          font-size: smaller ;          td.header {
47          top:2em; left:2em; width:15em;                  font-family: arial, helvetica, sans-serif; font-size: x-small;
48          padding: 2px ;                  vertical-align: top; width: 33%;
49          border:1px solid #333333;                  color: #FFF; background-color: #666;
50          background-color:#eeeeee; color:#990000;          }
51          text-align: left ;}          td.author { font-weight: bold; font-size: x-small; margin-left: 4em; }
52            td.author-text { font-size: x-small; }
53       A { font-weight: bold; }  
54       A:link { color: #990000; background-color: transparent ; }          /* info code from SantaKlauss at http://www.madaboutstyle.com/tooltip2.html */
55       A:visited { color: #333333; background-color: transparent ; }          a.info {
56       A:active { color: #333333; background-color: transparent ; }                  /* This is the key. */
57                    position: relative;
58      p { margin-left: 2em; margin-right: 2em; }                  z-index: 24;
59      p.copyright { font-size: x-small ; }                  text-decoration: none;
60      p.toc { font-size: small ; font-weight: bold ; margin-left: 3em ;}          }
61      table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }          a.info:hover {
62      td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }                  z-index: 25;
63                    color: #FFF; background-color: #900;
64      span.emph { font-style: italic; }          }
65      span.strong { font-weight: bold; }          a.info span { display: none; }
66      span.verb, span.vbare { font-family: "Courier New", Courier, monospace ; }          a.info:hover span.info {
67                    /* The span will display just on :hover state. */
68      span.vemph { font-style: italic; font-family: "Courier New", Courier, monospace ; }                  display: block;
69      span.vstrong { font-weight: bold; font-family: "Courier New", Courier, monospace ; }                  position: absolute;
70      span.vdeluxe { font-weight: bold; font-style: italic; font-family: "Courier New", Courier, monospace ; }                  font-size: smaller;
71                    top: 2em; left: -5em; width: 15em;
72      ol.text { margin-left: 2em; margin-right: 2em; }                  padding: 2px; border: 1px solid #333;
73      ul.text { margin-left: 2em; margin-right: 2em; }                  color: #900; background-color: #EEE;
74      li { margin-left: 3em;  }                  text-align: left;
   
     pre { margin-left: 3em; color: #333333;  background-color: transparent;  
         font-family: "Courier New", Courier, monospace ; font-size: small ;  
         text-align: left;  
75          }          }
76    
77      h3 { color: #333333; font-size: medium ;          a { font-weight: bold; }
78          font-family: helvetica, arial, sans-serif ;          a:link    { color: #900; background-color: transparent; }
79          background-color: transparent; }          a:visited { color: #633; background-color: transparent; }
80      h4 { font-size: small; font-family: helvetica, arial, sans-serif ; }          a:active  { color: #633; background-color: transparent; }
81    
82      table.bug { width: 30px ; height: 15px ; }          p { margin-left: 2em; margin-right: 2em; }
83      td.bug { color: #ffffff ; background-color: #990000 ;          p.copyright { font-size: x-small; }
84          text-align: center ; width: 30px ; height: 15px ;          p.toc { font-size: small; font-weight: bold; margin-left: 3em; }
85           }          table.toc { margin: 0 0 0 3em; padding: 0; border: 0; vertical-align: text-top; }
86      td.bug A.link2 { color: #ffffff ; font-weight: bold;          td.toc { font-size: small; font-weight: bold; vertical-align: text-top; }
87          text-decoration: none;  
88          font-family: monaco, charcoal, geneva, "MS Sans Serif", helvetica, sans-serif;          ol.text { margin-left: 2em; margin-right: 2em; }
89          font-size: x-small ; background-color: transparent }          ul.text { margin-left: 2em; margin-right: 2em; }
90            li      { margin-left: 3em; }
91      td.header { color: #ffffff; font-size: x-small ;  
92          font-family: arial, helvetica, sans-serif; vertical-align: top;          /* RFC-2629 <spanx>s and <artwork>s. */
93          background-color: #666666 ; width: 33% ; }          em     { font-style: italic; }
94      td.author { font-weight: bold; margin-left: 4em; font-size: x-small ; }          strong { font-weight: bold; }
95      td.author-text { font-size: x-small; }          dfn    { font-weight: bold; font-style: normal; }
96      table.full { vertical-align: top ; border-collapse: collapse ;          cite   { font-weight: normal; font-style: normal; }
97          border-style: solid solid solid solid ;          tt     { color: #036; }
98          border-color: black black black black ;          tt, pre, pre dfn, pre em, pre cite, pre span {
99          font-size: small ; text-align: center ; }                  font-family: "Courier New", Courier, monospace; font-size: small;
100      table.headers, table.none { vertical-align: top ; border-collapse: collapse ;          }
101          border-style: none;          pre {
102          font-size: small ; text-align: center ; }                  text-align: left; padding: 4px;
103      table.full th { font-weight: bold ;                  color: #000; background-color: #CCC;
104          border-style: solid ;          }
105          border-color: black black black black ; }          pre dfn  { color: #900; }
106      table.headers th { font-weight: bold ;          pre em   { color: #66F; background-color: #FFC; font-weight: normal; }
107          border-style: none none solid none;          pre .key { color: #33C; font-weight: bold; }
108          border-color: black black black black ; }          pre .id  { color: #900; }
109      table.none th { font-weight: bold ;          pre .str { color: #000; background-color: #CFF; }
110          border-style: none; }          pre .val { color: #066; }
111      table.full td {          pre .rep { color: #909; }
112          border-style: solid solid solid solid ;          pre .oth { color: #000; background-color: #FCF; }
113          border-color: #333333 #333333 #333333 #333333 ; }          pre .err { background-color: #FCC; }
114      table.headers td, table.none td { border-style: none; }  
115            /* RFC-2629 <texttable>s. */
116      hr { height: 1px }          table.all, table.full, table.headers, table.none {
117  -->                  font-size: small; text-align: center; border-width: 2px;
118  </style>                  vertical-align: top; border-collapse: collapse;
119            }
120            table.all, table.full { border-style: solid; border-color: black; }
121            table.headers, table.none { border-style: none; }
122            th {
123                    font-weight: bold; border-color: black;
124                    border-width: 2px 2px 3px 2px;
125            }
126            table.all th, table.full th { border-style: solid; }
127            table.headers th { border-style: none none solid none; }
128            table.none th { border-style: none; }
129            table.all td {
130                    border-style: solid; border-color: #333;
131                    border-width: 1px 2px;
132            }
133            table.full td, table.headers td, table.none td { border-style: none; }
134    
135            hr { height: 1px; }
136            hr.insert {
137                    width: 80%; border-style: none; border-width: 0;
138                    color: #CCC; background-color: #CCC;
139            }
140    --></style>
141  </head>  </head>
142  <body>  <body>
143  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
144  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">  <table summary="layout" width="66%" border="0" cellpadding="0" cellspacing="0"><tr><td><table summary="layout" width="100%" border="0" cellpadding="2" cellspacing="1">
145  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>  <tr><td class="header">LinuxSampler Developers</td><td class="header">C. Schoenebeck</td></tr>
146  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>  <tr><td class="header">Internet-Draft</td><td class="header">Interessengemeinschaft Software</td></tr>
147  <tr><td class="header">Expires: May 30, 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 26, 2006</td></tr>  <tr><td class="header">Expires: June 9, 2009</td><td class="header">December 6, 2008</td></tr>
149  </table></td></tr></table>  </table></td></tr></table>
150  <div align="right"><span class="title"><br />LinuxSampler Control Protocol</span></div>  <h1><br />LinuxSampler Control Protocol<br />LSCP 1.4</h1>
 <div align="right"><span class="title"><br />LSCP 1.2</span></div>  
151    
152  <h3>Status of this Memo</h3>  <h3>Status of this Memo</h3>
153  <p>  <p>
154  This document is an Internet-Draft and is  By submitting this Internet-Draft,
155  in full conformance with all provisions of Section&nbsp;10 of RFC&nbsp;2026.</p>  each author represents that any applicable patent or other IPR claims of which
156    he or she is aware have been or will be disclosed,
157    and any of which he or she becomes aware will be disclosed,
158    in accordance with Section&nbsp;6 of BCP&nbsp;79.</p>
159  <p>  <p>
160  Internet-Drafts are working documents of the Internet Engineering  Internet-Drafts are working documents of the Internet Engineering
161  Task Force (IETF), its areas, and its working groups.  Task Force (IETF), its areas, and its working groups.
# Line 153  The list of current Internet-Drafts can Line 173  The list of current Internet-Drafts can
173  The list of Internet-Draft Shadow Directories can be accessed at  The list of Internet-Draft Shadow Directories can be accessed at
174  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>  <a href='http://www.ietf.org/shadow.html'>http://www.ietf.org/shadow.html</a>.</p>
175  <p>  <p>
176  This Internet-Draft will expire on May 30, 2007.</p>  This Internet-Draft will expire on June 9, 2009.</p>
   
 <h3>Copyright Notice</h3>  
 <p>  
 Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  
177    
178  <h3>Abstract</h3>  <h3>Abstract</h3>
179    
# Line 278  Current number of active disk streams<br Line 294  Current number of active disk streams<br
294  Current fill state of disk stream buffers<br />  Current fill state of disk stream buffers<br />
295  &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;
296  Setting audio output device<br />  Setting audio output device<br />
297  &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;
298  Setting audio output type<br />  Setting audio output type<br />
299  &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;
300  Setting audio output channel<br />  Setting audio output channel<br />
# Line 296  Setting channel volume<br /> Line 312  Setting channel volume<br />
312  Muting a sampler channel<br />  Muting a sampler channel<br />
313  &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;
314  Soloing a sampler channel<br />  Soloing a sampler channel<br />
315  &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;
316    Assigning a MIDI instrument map to a sampler channel<br />
317    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CREATE FX_SEND">6.4.25.</a>&nbsp;
318    Adding an effect send to a sampler channel<br />
319    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#DESTROY FX_SEND">6.4.26.</a>&nbsp;
320    Removing an effect send from a sampler channel<br />
321    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SENDS">6.4.27.</a>&nbsp;
322    Getting amount of effect sends on a sampler channel<br />
323    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FX_SENDS">6.4.28.</a>&nbsp;
324    Listing all effect sends on a sampler channel<br />
325    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FX_SEND INFO">6.4.29.</a>&nbsp;
326    Getting effect send information<br />
327    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND NAME">6.4.30.</a>&nbsp;
328    Changing effect send's name<br />
329    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND AUDIO_OUTPUT_CHANNEL">6.4.31.</a>&nbsp;
330    Altering effect send's audio routing<br />
331    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND MIDI_CONTROLLER">6.4.32.</a>&nbsp;
332    Altering effect send's MIDI controller<br />
333    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET FX_SEND LEVEL">6.4.33.</a>&nbsp;
334    Altering effect send's send level<br />
335    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SEND CHANNEL MIDI_DATA">6.4.34.</a>&nbsp;
336    Sending MIDI messages to sampler channel<br />
337    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET CHANNEL">6.4.35.</a>&nbsp;
338  Resetting a sampler channel<br />  Resetting a sampler channel<br />
339  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor12">6.5.</a>&nbsp;
340  Controlling connection<br />  Controlling connection<br />
# Line 314  Global commands<br /> Line 352  Global commands<br />
352  Current number of active voices<br />  Current number of active voices<br />
353  &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;
354  Maximum amount of active voices<br />  Maximum amount of active voices<br />
355  &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;
356    Current number of active disk streams<br />
357    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#RESET">6.6.4.</a>&nbsp;
358  Reset sampler<br />  Reset sampler<br />
359  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET SERVER INFO">6.6.5.</a>&nbsp;
360  General sampler informations<br />  General sampler informations<br />
361  &nbsp;&nbsp;&nbsp;&nbsp;<a href="#anchor14">6.7.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOLUME">6.6.6.</a>&nbsp;
362    Getting global volume attenuation<br />
363    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOLUME">6.6.7.</a>&nbsp;
364    Setting global volume attenuation<br />
365    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET VOICES">6.6.8.</a>&nbsp;
366    Getting global voice limit<br />
367    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET VOICES">6.6.9.</a>&nbsp;
368    Setting global voice limit<br />
369    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET STREAMS">6.6.10.</a>&nbsp;
370    Getting global disk stream limit<br />
371    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET STREAMS">6.6.11.</a>&nbsp;
372    Setting global disk stream limit<br />
373    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#MIDI Instrument Mapping">6.7.</a>&nbsp;
374  MIDI Instrument Mapping<br />  MIDI Instrument Mapping<br />
375  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.1.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD MIDI_INSTRUMENT_MAP">6.7.1.</a>&nbsp;
376    Create a new MIDI instrument map<br />
377    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE MIDI_INSTRUMENT_MAP">6.7.2.</a>&nbsp;
378    Delete one particular or all MIDI instrument maps<br />
379    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAPS">6.7.3.</a>&nbsp;
380    Get amount of existing MIDI instrument maps<br />
381    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENT_MAPS">6.7.4.</a>&nbsp;
382    Getting all created MIDI instrument maps<br />
383    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT_MAP INFO">6.7.5.</a>&nbsp;
384    Getting MIDI instrument map information<br />
385    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET MIDI_INSTRUMENT_MAP NAME">6.7.6.</a>&nbsp;
386    Renaming a MIDI instrument map<br />
387    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MAP MIDI_INSTRUMENT">6.7.7.</a>&nbsp;
388  Create or replace a MIDI instrument map entry<br />  Create or replace a MIDI instrument map entry<br />
389  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.2.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENTS">6.7.8.</a>&nbsp;
390  Getting ammount of MIDI instrument map entries<br />  Getting ammount of MIDI instrument map entries<br />
391  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.3.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST MIDI_INSTRUMENTS">6.7.9.</a>&nbsp;
392  Getting indeces of all MIDI instrument map entries<br />  Getting indeces of all entries of a MIDI instrument map<br />
393  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.4.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#UNMAP MIDI_INSTRUMENT">6.7.10.</a>&nbsp;
394  Remove an entry from the MIDI instrument map<br />  Remove an entry from the MIDI instrument map<br />
395  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.5.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET MIDI_INSTRUMENT INFO">6.7.11.</a>&nbsp;
396  Get current settings of MIDI instrument map entry<br />  Get current settings of MIDI instrument map entry<br />
397  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.6.</a>&nbsp;  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#CLEAR MIDI_INSTRUMENTS">6.7.12.</a>&nbsp;
398  Clear MIDI instrument map<br />  Clear MIDI instrument map<br />
399    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#Managing Instruments Database">6.8.</a>&nbsp;
400    Managing Instruments Database<br />
401    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENT_DIRECTORY">6.8.1.</a>&nbsp;
402    Creating a new instrument directory<br />
403    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT_DIRECTORY">6.8.2.</a>&nbsp;
404    Deleting an instrument directory<br />
405    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORIES">6.8.3.</a>&nbsp;
406    Getting amount of instrument directories<br />
407    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENT_DIRECTORIES">6.8.4.</a>&nbsp;
408    Listing all directories in specific directory<br />
409    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT_DIRECTORY INFO">6.8.5.</a>&nbsp;
410    Getting instrument directory information<br />
411    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY NAME">6.8.6.</a>&nbsp;
412    Renaming an instrument directory<br />
413    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT_DIRECTORY">6.8.7.</a>&nbsp;
414    Moving an instrument directory<br />
415    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT_DIRECTORY">6.8.8.</a>&nbsp;
416    Copying instrument directories<br />
417    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT_DIRECTORY DESCRIPTION">6.8.9.</a>&nbsp;
418    Changing the description of directory<br />
419    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENT_DIRECTORIES">6.8.10.</a>&nbsp;
420    Finding directories<br />
421    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ADD DB_INSTRUMENTS">6.8.11.</a>&nbsp;
422    Adding instruments to the instruments database<br />
423    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#REMOVE DB_INSTRUMENT">6.8.12.</a>&nbsp;
424    Removing an instrument<br />
425    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS">6.8.13.</a>&nbsp;
426    Getting amount of instruments<br />
427    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST DB_INSTRUMENTS">6.8.14.</a>&nbsp;
428    Listing all instruments in specific directory<br />
429    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENT INFO">6.8.15.</a>&nbsp;
430    Getting instrument information<br />
431    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT NAME">6.8.16.</a>&nbsp;
432    Renaming an instrument<br />
433    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#MOVE DB_INSTRUMENT">6.8.17.</a>&nbsp;
434    Moving an instrument<br />
435    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#COPY DB_INSTRUMENT">6.8.18.</a>&nbsp;
436    Copying instruments<br />
437    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT DESCRIPTION">6.8.19.</a>&nbsp;
438    Changing the description of instrument<br />
439    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND DB_INSTRUMENTS">6.8.20.</a>&nbsp;
440    Finding instruments<br />
441    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET DB_INSTRUMENTS_JOB INFO">6.8.21.</a>&nbsp;
442    Getting job status information<br />
443    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FORMAT INSTRUMENTS_DB">6.8.22.</a>&nbsp;
444    Formatting the instruments database<br />
445    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#FIND LOST DB_INSTRUMENT_FILES">6.8.23.</a>&nbsp;
446    Checking for lost instrument files<br />
447    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#SET DB_INSTRUMENT FILE_PATH">6.8.24.</a>&nbsp;
448    Replacing an instrument file<br />
449    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#editing_instruments">6.9.</a>&nbsp;
450    Editing Instruments<br />
451    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#EDIT INSTRUMENT">6.9.1.</a>&nbsp;
452    Opening an appropriate instrument editor application<br />
453    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#file_management">6.10.</a>&nbsp;
454    Managing Files<br />
455    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENTS">6.10.1.</a>&nbsp;
456    Retrieving amount of instruments of a file<br />
457    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#LIST FILE INSTRUMENTS">6.10.2.</a>&nbsp;
458    Retrieving all instruments of a file<br />
459    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#GET FILE INSTRUMENT INFO">6.10.3.</a>&nbsp;
460    Retrieving informations about one instrument in a file<br />
461  <a href="#command_syntax">7.</a>&nbsp;  <a href="#command_syntax">7.</a>&nbsp;
462  Command Syntax<br />  Command Syntax<br />
463    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#character_set">7.1.</a>&nbsp;
464    Character Set and Escape Sequences<br />
465  <a href="#events">8.</a>&nbsp;  <a href="#events">8.</a>&nbsp;
466  Events<br />  Events<br />
467  &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;
468    Number of audio output devices changed<br />
469    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO">8.2.</a>&nbsp;
470    Audio output device's settings changed<br />
471    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_COUNT">8.3.</a>&nbsp;
472    Number of MIDI input devices changed<br />
473    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INPUT_DEVICE_INFO">8.4.</a>&nbsp;
474    MIDI input device's settings changed<br />
475    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE CHANNEL_COUNT">8.5.</a>&nbsp;
476  Number of sampler channels changed<br />  Number of sampler channels changed<br />
477  &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;
478    MIDI data on a sampler channel arrived<br />
479    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DEVICE_MIDI">8.7.</a>&nbsp;
480    MIDI data on a MIDI input device arrived<br />
481    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE VOICE_COUNT">8.8.</a>&nbsp;
482  Number of active voices changed<br />  Number of active voices changed<br />
483  &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;
484  Number of active disk streams changed<br />  Number of active disk streams changed<br />
485  &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;
486  Disk stream buffer fill state changed<br />  Disk stream buffer fill state changed<br />
487  &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;
488  Channel information changed<br />  Channel information changed<br />
489  &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;
490    Number of effect sends changed<br />
491    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE FX_SEND_INFO">8.13.</a>&nbsp;
492    Effect send information changed<br />
493    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE TOTAL_VOICE_COUNT">8.14.</a>&nbsp;
494  Total number of active voices changed<br />  Total number of active voices changed<br />
495  &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;
496    Total number of active disk streams changed<br />
497    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT">8.16.</a>&nbsp;
498    Number of MIDI instrument maps changed<br />
499    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO">8.17.</a>&nbsp;
500    MIDI instrument map information changed<br />
501    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_COUNT">8.18.</a>&nbsp;
502    Number of MIDI instruments changed<br />
503    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MIDI_INSTRUMENT_INFO">8.19.</a>&nbsp;
504    MIDI instrument information changed<br />
505    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE GLOBAL_INFO">8.20.</a>&nbsp;
506    Global settings changed<br />
507    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT">8.21.</a>&nbsp;
508    Number of database instrument directories changed<br />
509    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO">8.22.</a>&nbsp;
510    Database instrument directory information changed<br />
511    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_COUNT">8.23.</a>&nbsp;
512    Number of database instruments changed<br />
513    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENT_INFO">8.24.</a>&nbsp;
514    Database instrument information changed<br />
515    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE DB_INSTRUMENTS_JOB_INFO">8.25.</a>&nbsp;
516    Database job status information changed<br />
517    &nbsp;&nbsp;&nbsp;&nbsp;<a href="#SUBSCRIBE MISCELLANEOUS">8.26.</a>&nbsp;
518  Miscellaneous and debugging events<br />  Miscellaneous and debugging events<br />
519  <a href="#anchor15">9.</a>&nbsp;  <a href="#anchor14">9.</a>&nbsp;
520  Security Considerations<br />  Security Considerations<br />
521  <a href="#anchor16">10.</a>&nbsp;  <a href="#anchor15">10.</a>&nbsp;
522  Acknowledgments<br />  Acknowledgments<br />
523  <a href="#rfc.references1">11.</a>&nbsp;  <a href="#rfc.references1">11.</a>&nbsp;
524  References<br />  References<br />
# Line 364  Intellectual Property and Copyright Stat Line 530  Intellectual Property and Copyright Stat
530  <br clear="all" />  <br clear="all" />
531    
532  <a name="anchor1"></a><br /><hr />  <a name="anchor1"></a><br /><hr />
533  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
534  <a name="rfc.section.1"></a><h3>1.&nbsp;Requirements notation</h3>  <a name="rfc.section.1"></a><h3>1.&nbsp;
535    Requirements notation</h3>
536    
537  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",  <p>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
538              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",              "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
539              and "OPTIONAL" in this document are to be interpreted as              and "OPTIONAL" in this document are to be interpreted as
540              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>.
541  </p>  </p>
542  <p>This protocol is always case-sensitive if not explicitly  <p>This protocol is always case-sensitive if not explicitly
543              claimed the opposite.              claimed the opposite.
# Line 379  Intellectual Property and Copyright Stat Line 546  Intellectual Property and Copyright Stat
546              (front-end) and server (LinuxSampler) respectively. Lines in              (front-end) and server (LinuxSampler) respectively. Lines in
547              examples must be interpreted as every line being CRLF              examples must be interpreted as every line being CRLF
548              terminated (carriage return character followed by line feed              terminated (carriage return character followed by line feed
549              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>),
550              example:              thus the following example:
551  </p>  </p>
552  <p>  <p>
553                  </p>                  </p>
# Line 446  Intellectual Property and Copyright Stat Line 613  Intellectual Property and Copyright Stat
613              return and line feed characters respectively.              return and line feed characters respectively.
614  </p>  </p>
615  <a name="LSCP versioning"></a><br /><hr />  <a name="LSCP versioning"></a><br /><hr />
616  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
617  <a name="rfc.section.2"></a><h3>2.&nbsp;Versioning of this specification</h3>  <a name="rfc.section.2"></a><h3>2.&nbsp;
618    Versioning of this specification</h3>
619    
620  <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
621              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 490  Intellectual Property and Copyright Stat Line 658  Intellectual Property and Copyright Stat
658  <p>  <p>
659              Compatibility can only be claimed if both rules are true.              Compatibility can only be claimed if both rules are true.
660              The frontend can use the              The frontend can use the
661              <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
662              get the version of the LSCP specification the sampler complies with.              get the version of the LSCP specification the sampler complies with.
663                            
664  </p>  </p>
665  <a name="anchor2"></a><br /><hr />  <a name="anchor2"></a><br /><hr />
666  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
667  <a name="rfc.section.3"></a><h3>3.&nbsp;Introduction</h3>  <a name="rfc.section.3"></a><h3>3.&nbsp;
668    Introduction</h3>
669    
670  <p>LinuxSampler is a so called software sampler application  <p>LinuxSampler is a so called software sampler application
671              capable to playback audio samples from a computer's Random              capable to playback audio samples from a computer's Random
# Line 516  Intellectual Property and Copyright Stat Line 685  Intellectual Property and Copyright Stat
685              there.              there.
686  </p>  </p>
687  <a name="anchor3"></a><br /><hr />  <a name="anchor3"></a><br /><hr />
688  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
689  <a name="rfc.section.4"></a><h3>4.&nbsp;Focus of this protocol</h3>  <a name="rfc.section.4"></a><h3>4.&nbsp;
690    Focus of this protocol</h3>
691    
692  <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
693              a running LinuxSampler instance and to retrieve information              a running LinuxSampler instance and to retrieve information
# Line 528  Intellectual Property and Copyright Stat Line 698  Intellectual Property and Copyright Stat
698              via MIDI System Exclusive Messages.              via MIDI System Exclusive Messages.
699  </p>  </p>
700  <a name="anchor4"></a><br /><hr />  <a name="anchor4"></a><br /><hr />
701  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
702  <a name="rfc.section.5"></a><h3>5.&nbsp;Communication Overview</h3>  <a name="rfc.section.5"></a><h3>5.&nbsp;
703    Communication Overview</h3>
704    
705  <p>There are two distinct methods of communication between a  <p>There are two distinct methods of communication between a
706              running instance of LinuxSampler and one or more control              running instance of LinuxSampler and one or more control
# Line 543  Intellectual Property and Copyright Stat Line 714  Intellectual Property and Copyright Stat
714              methods will be described next.              methods will be described next.
715  </p>  </p>
716  <a name="anchor5"></a><br /><hr />  <a name="anchor5"></a><br /><hr />
717  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
718  <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;
719    Request/response communication method</h3>
720    
721  <p>This simple communication method is based on  <p>This simple communication method is based on
722                  <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
723                  front-end application establishes a TCP connection to the                  front-end application establishes a TCP connection to the
724                  LinuxSampler instance on a certain host system. Then the                  LinuxSampler instance on a certain host system. Then the
725                  front-end application will send certain ASCII based commands                  front-end application will send certain ASCII based commands
# Line 588  Intellectual Property and Copyright Stat Line 760  Intellectual Property and Copyright Stat
760                  MUST be sent back in the same order.                  MUST be sent back in the same order.
761  </p>  </p>
762  <a name="anchor6"></a><br /><hr />  <a name="anchor6"></a><br /><hr />
763  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
764  <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;
765    Result format</h3>
766    
767  <p>Result set could be one of the following types:  <p>Result set could be one of the following types:
768  </p>  </p>
# Line 780  Intellectual Property and Copyright Stat Line 953  Intellectual Property and Copyright Stat
953                                            
954  </p>  </p>
955  <a name="anchor7"></a><br /><hr />  <a name="anchor7"></a><br /><hr />
956  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
957  <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;
958    Subscribe/notify communication method</h3>
959    
960  <p>This more sophisticated communication method is actually  <p>This more sophisticated communication method is actually
961                  only an extension of the simple request/response                  only an extension of the simple request/response
# Line 858  Intellectual Property and Copyright Stat Line 1032  Intellectual Property and Copyright Stat
1032  </p>  </p>
1033  <p>where &lt;event-id&gt; will be replace by the respective  <p>where &lt;event-id&gt; will be replace by the respective
1034                  event that client is no longer interested in receiving. For                  event that client is no longer interested in receiving. For
1035                  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>.
1036  </p>  </p>
1037  <p>Example: the fill states of disk stream buffers have  <p>Example: the fill states of disk stream buffers have
1038                  changed on sampler channel 4 and the LinuxSampler instance                  changed on sampler channel 4 and the LinuxSampler instance
# Line 904  Intellectual Property and Copyright Stat Line 1078  Intellectual Property and Copyright Stat
1078                  it wants to receive.                  it wants to receive.
1079  </p>  </p>
1080  <a name="control_commands"></a><br /><hr />  <a name="control_commands"></a><br /><hr />
1081  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1082  <a name="rfc.section.6"></a><h3>6.&nbsp;Description for control commands</h3>  <a name="rfc.section.6"></a><h3>6.&nbsp;
1083    Description for control commands</h3>
1084    
1085  <p>This chapter will describe the available control commands  <p>This chapter will describe the available control commands
1086              that can be sent on the TCP connection in detail. Some certain              that can be sent on the TCP connection in detail. Some certain
1087              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>
1088              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
1089              multiple-line responses. In this case LinuxSampler signals the              multiple-line responses. In this case LinuxSampler signals the
1090              end of the response by a "." (single dot) line.              end of the response by a "." (single dot) line.
1091  </p>  </p>
1092  <a name="anchor8"></a><br /><hr />  <a name="anchor8"></a><br /><hr />
1093  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1094  <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;
1095    Ignored lines and comments</h3>
1096    
1097  <p>White lines, that is lines which only contain space and  <p>White lines, that is lines which only contain space and
1098                  tabulator characters, and lines that start with a "#"                  tabulator characters, and lines that start with a "#"
# Line 925  Intellectual Property and Copyright Stat Line 1101  Intellectual Property and Copyright Stat
1101                  file.                  file.
1102  </p>  </p>
1103  <a name="anchor9"></a><br /><hr />  <a name="anchor9"></a><br /><hr />
1104  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1105  <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;
1106    Configuring audio drivers</h3>
1107    
1108  <p>Instances of drivers in LinuxSampler are called devices.  <p>Instances of drivers in LinuxSampler are called devices.
1109                  You can use multiple audio devices simultaneously, e.g. to                  You can use multiple audio devices simultaneously, e.g. to
# Line 960  Intellectual Property and Copyright Stat Line 1137  Intellectual Property and Copyright Stat
1137                  possible values, etc.                  possible values, etc.
1138  </p>  </p>
1139  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1140  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1141  <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;
1142    Getting amount of available audio output drivers</h3>
1143    
1144  <p>Use the following command to get the number of  <p>Use the following command to get the number of
1145                      audio output drivers currently available for the                      audio output drivers currently available for the
# Line 999  Intellectual Property and Copyright Stat Line 1177  Intellectual Property and Copyright Stat
1177                                            
1178  </p>  </p>
1179  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_AUDIO_OUTPUT_DRIVERS"></a><br /><hr />
1180  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1181  <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;
1182    Getting all available audio output drivers</h3>
1183    
1184  <p>Use the following command to list all audio output  <p>Use the following command to list all audio output
1185                      drivers currently available for the LinuxSampler                      drivers currently available for the LinuxSampler
# Line 1039  Intellectual Property and Copyright Stat Line 1218  Intellectual Property and Copyright Stat
1218                                            
1219  </p>  </p>
1220  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER INFO"></a><br /><hr />
1221  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1222  <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;
1223    Getting information about a specific audio
1224                  output driver</h3>                  output driver</h3>
1225    
1226  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1057  Intellectual Property and Copyright Stat Line 1237  Intellectual Property and Copyright Stat
1237  </p>  </p>
1238  <p>Where &lt;audio-output-driver&gt; is the name of the  <p>Where &lt;audio-output-driver&gt; is the name of the
1239                      audio output driver, returned by the                      audio output driver, returned by the
1240                      <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.
1241  </p>  </p>
1242  <p>Possible Answers:  <p>Possible Answers:
1243  </p>  </p>
# Line 1138  Intellectual Property and Copyright Stat Line 1318  Intellectual Property and Copyright Stat
1318                                            
1319  </p>  </p>
1320  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
1321  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1322  <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;
1323    Getting information about specific audio
1324                  output driver parameter</h3>                  output driver parameter</h3>
1325    
1326  <p>Use the following command to get detailed information  <p>Use the following command to get detailed information
# Line 1154  Intellectual Property and Copyright Stat Line 1335  Intellectual Property and Copyright Stat
1335                                            
1336  </p>  </p>
1337  <p>Where &lt;audio&gt; is the name of the audio output  <p>Where &lt;audio&gt; is the name of the audio output
1338                      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,
1339                      &lt;prm&gt; a specific parameter name for which information should be                      &lt;prm&gt; a specific parameter name for which information should be
1340                      obtained (as returned by the                      obtained (as returned by the
1341                      <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
1342                      &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
1343                      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
1344                      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 1214  Intellectual Property and Copyright Stat Line 1395  Intellectual Property and Copyright Stat
1395  <blockquote class="text">  <blockquote class="text">
1396  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
1397                                  given when the device is to be created with the                                  given when the device is to be created with the
1398                                  <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>
1399                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1400  </p>  </p>
1401  </blockquote>  </blockquote>
# Line 1225  Intellectual Property and Copyright Stat Line 1406  Intellectual Property and Copyright Stat
1406  <blockquote class="text">  <blockquote class="text">
1407  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
1408                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
1409                                  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>
1410                                  command (always returned, no matter which driver parameter)                                  command (always returned, no matter which driver parameter)
1411  </p>  </p>
1412  </blockquote>  </blockquote>
# Line 1264  Intellectual Property and Copyright Stat Line 1445  Intellectual Property and Copyright Stat
1445  <blockquote class="text">  <blockquote class="text">
1446  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
1447                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
1448                                  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,
1449                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
1450                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
1451                                  apostrophes (')                                  apostrophes (')
# Line 1392  Intellectual Property and Copyright Stat Line 1573  Intellectual Property and Copyright Stat
1573                                            
1574  </p>  </p>
1575  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="CREATE AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1576  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1577  <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;
1578    Creating an audio output device</h3>
1579    
1580  <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:
1581  </p>  </p>
# Line 1407  Intellectual Property and Copyright Stat Line 1589  Intellectual Property and Copyright Stat
1589  </p>  </p>
1590  <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
1591                      output system as returned by the                      output system as returned by the
1592                      <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>
1593                      command and &lt;param-list&gt; by an optional list of driver                      command and &lt;param-list&gt; by an optional list of driver
1594                      specific parameters in form of "key1=val1 key2=val2 ...", where                      specific parameters in form of "key1=val1 key2=val2 ...", where
1595                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
# Line 1476  Intellectual Property and Copyright Stat Line 1658  Intellectual Property and Copyright Stat
1658                                            
1659  </p>  </p>
1660  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="DESTROY AUDIO_OUTPUT_DEVICE"></a><br /><hr />
1661  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1662  <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;
1663    Destroying an audio output device</h3>
1664    
1665  <p>Use the following command to destroy a created output device:  <p>Use the following command to destroy a created output device:
1666  </p>  </p>
# Line 1491  Intellectual Property and Copyright Stat Line 1674  Intellectual Property and Copyright Stat
1674  </p>  </p>
1675  <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
1676                      audio output device as given by the                      audio output device as given by the
1677                      <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>
1678                      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>
1679                      command.                      command.
1680  </p>  </p>
1681  <p>Possible Answers:  <p>Possible Answers:
# Line 1545  Intellectual Property and Copyright Stat Line 1728  Intellectual Property and Copyright Stat
1728                                            
1729  </p>  </p>
1730  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICES"></a><br /><hr />
1731  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1732  <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;
1733    Getting all created audio output device count</h3>
1734    
1735  <p>Use the following command to count all created audio output devices:  <p>Use the following command to count all created audio output devices:
1736  </p>  </p>
# Line 1582  Intellectual Property and Copyright Stat Line 1766  Intellectual Property and Copyright Stat
1766                                            
1767  </p>  </p>
1768  <a name="LIST AUDIO_OUTPUT_DEVICES"></a><br /><hr />  <a name="LIST 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.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;
1771    Getting all created audio output device list</h3>
1772    
1773  <p>Use the following command to list all created audio output devices:  <p>Use the following command to list all created audio output devices:
1774  </p>  </p>
# Line 1619  Intellectual Property and Copyright Stat Line 1804  Intellectual Property and Copyright Stat
1804                                            
1805  </p>  </p>
1806  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_DEVICE INFO"></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.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;
1809    Getting current settings of an audio output device</h3>
1810    
1811  <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:
1812  </p>  </p>
# Line 1634  Intellectual Property and Copyright Stat Line 1820  Intellectual Property and Copyright Stat
1820  </p>  </p>
1821  <p>Where &lt;device-id&gt; should be replaced by numerical ID  <p>Where &lt;device-id&gt; should be replaced by numerical ID
1822                      of the audio output device as e.g. returned by the                      of the audio output device as e.g. returned by the
1823                      <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.
1824  </p>  </p>
1825  <p>Possible Answers:  <p>Possible Answers:
1826  </p>  </p>
# Line 1654  Intellectual Property and Copyright Stat Line 1840  Intellectual Property and Copyright Stat
1840  <blockquote class="text">  <blockquote class="text">
1841  <p>identifier of the used audio output driver, as also  <p>identifier of the used audio output driver, as also
1842                                      returned by the                                      returned by the
1843                                      <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>
1844                                      command                                      command
1845  </p>  </p>
1846  </blockquote>  </blockquote>
# Line 1695  Intellectual Property and Copyright Stat Line 1881  Intellectual Property and Copyright Stat
1881                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
1882                      returned by all audio output devices. Every audio output driver                      returned by all audio output devices. Every audio output driver
1883                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
1884                      <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>)
1885                      which are also returned by this command.                      which are also returned by this command.
1886  </p>  </p>
1887  <p>Example:  <p>Example:
# Line 1725  Intellectual Property and Copyright Stat Line 1911  Intellectual Property and Copyright Stat
1911                                            
1912  </p>  </p>
1913  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_DEVICE_PARAMETER"></a><br /><hr />
1914  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1915  <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;
1916    Changing settings of audio output devices</h3>
1917    
1918  <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:
1919  </p>  </p>
# Line 1740  Intellectual Property and Copyright Stat Line 1927  Intellectual Property and Copyright Stat
1927  </p>  </p>
1928  <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
1929                      audio output device as given by the                      audio output device as given by the
1930                      <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>
1931                      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>
1932                      command, &lt;key&gt; by the name of the parameter to change                      command, &lt;key&gt; by the name of the parameter to change
1933                      and &lt;value&gt; by the new value for this parameter.                      and &lt;value&gt; by the new value for this parameter.
1934  </p>  </p>
# Line 1793  Intellectual Property and Copyright Stat Line 1980  Intellectual Property and Copyright Stat
1980                                            
1981  </p>  </p>
1982  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL INFO"></a><br /><hr />
1983  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
1984  <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;
1985    Getting information about an audio channel</h3>
1986    
1987  <p>Use the following command to get information about an audio channel:  <p>Use the following command to get information about an audio channel:
1988  </p>  </p>
# Line 1807  Intellectual Property and Copyright Stat Line 1995  Intellectual Property and Copyright Stat
1995                                            
1996  </p>  </p>
1997  <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
1998                      <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>
1999                      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>
2000                      command and &lt;audio-chan&gt; the audio channel number.                      command and &lt;audio-chan&gt; the audio channel number.
2001  </p>  </p>
2002  <p>Possible Answers:  <p>Possible Answers:
# Line 1935  Intellectual Property and Copyright Stat Line 2123  Intellectual Property and Copyright Stat
2123                                            
2124  </p>  </p>
2125  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />  <a name="GET AUDIO_OUTPUT_CHANNEL_PARAMETER INFO"></a><br /><hr />
2126  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2127  <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;
2128    Getting information about specific audio channel parameter</h3>
2129    
2130  <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:
2131  </p>  </p>
# Line 1949  Intellectual Property and Copyright Stat Line 2138  Intellectual Property and Copyright Stat
2138                                            
2139  </p>  </p>
2140  <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
2141                      <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>
2142                      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>
2143                      command, &lt;chan&gt; the audio channel number                      command, &lt;chan&gt; the audio channel number
2144                      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
2145                      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).
2146  </p>  </p>
2147  <p>Possible Answers:  <p>Possible Answers:
2148  </p>  </p>
# Line 2081  Intellectual Property and Copyright Stat Line 2270  Intellectual Property and Copyright Stat
2270                                            
2271  </p>  </p>
2272  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />  <a name="SET AUDIO_OUTPUT_CHANNEL_PARAMETER"></a><br /><hr />
2273  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2274  <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;
2275    Changing settings of audio output channels</h3>
2276    
2277  <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:
2278  </p>  </p>
# Line 2095  Intellectual Property and Copyright Stat Line 2285  Intellectual Property and Copyright Stat
2285                                            
2286  </p>  </p>
2287  <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
2288                      <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>
2289                      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>
2290                      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
2291                      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.
2292  </p>  </p>
# Line 2158  Intellectual Property and Copyright Stat Line 2348  Intellectual Property and Copyright Stat
2348                                            
2349  </p>  </p>
2350  <a name="anchor10"></a><br /><hr />  <a name="anchor10"></a><br /><hr />
2351  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2352  <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;
2353    Configuring MIDI input drivers</h3>
2354    
2355  <p>Instances of drivers in LinuxSampler are called devices. You can use  <p>Instances of drivers in LinuxSampler are called devices. You can use
2356                  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 2188  Intellectual Property and Copyright Stat Line 2379  Intellectual Property and Copyright Stat
2379                  possible values, etc.                  possible values, etc.
2380  </p>  </p>
2381  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="GET AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2382  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2383  <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;
2384    Getting amount of available MIDI input drivers</h3>
2385    
2386  <p>Use the following command to get the number of  <p>Use the following command to get the number of
2387                      MIDI input drivers currently available for the                      MIDI input drivers currently available for the
# Line 2227  Intellectual Property and Copyright Stat Line 2419  Intellectual Property and Copyright Stat
2419                                            
2420  </p>  </p>
2421  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />  <a name="LIST AVAILABLE_MIDI_INPUT_DRIVERS"></a><br /><hr />
2422  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2423  <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;
2424    Getting all available MIDI input drivers</h3>
2425    
2426  <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
2427                      for the LinuxSampler instance:                      for the LinuxSampler instance:
# Line 2265  Intellectual Property and Copyright Stat Line 2458  Intellectual Property and Copyright Stat
2458                                            
2459  </p>  </p>
2460  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER INFO"></a><br /><hr />
2461  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2462  <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;
2463    Getting information about a specific MIDI input driver</h3>
2464    
2465  <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:
2466  </p>  </p>
# Line 2279  Intellectual Property and Copyright Stat Line 2473  Intellectual Property and Copyright Stat
2473                                            
2474  </p>  </p>
2475  <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
2476                      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.
2477  </p>  </p>
2478  <p>Possible Answers:  <p>Possible Answers:
2479  </p>  </p>
# Line 2346  Intellectual Property and Copyright Stat Line 2540  Intellectual Property and Copyright Stat
2540                                            
2541  </p>  </p>
2542  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DRIVER_PARAMETER INFO"></a><br /><hr />
2543  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2544  <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;
2545    Getting information about specific MIDI input driver parameter</h3>
2546    
2547  <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:
2548  </p>  </p>
# Line 2360  Intellectual Property and Copyright Stat Line 2555  Intellectual Property and Copyright Stat
2555                                            
2556  </p>  </p>
2557  <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
2558                      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
2559                      parameter name for which information should be obtained (as returned by the                      parameter name for which information should be obtained (as returned by the
2560                      <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
2561                      of parameters on which the sought parameter &lt;param&gt; depends on,                      of parameters on which the sought parameter &lt;param&gt; depends on,
2562                      &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 ...",
2563                      where character string values are encapsulated into apostrophes ('). Arguments                      where character string values are encapsulated into apostrophes ('). Arguments
# Line 2409  Intellectual Property and Copyright Stat Line 2604  Intellectual Property and Copyright Stat
2604  <blockquote class="text">  <blockquote class="text">
2605  <p>either true or false, defines if this parameter must be  <p>either true or false, defines if this parameter must be
2606                                  given when the device is to be created with the                                  given when the device is to be created with the
2607                                  <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
2608                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2609  </p>  </p>
2610  </blockquote>  </blockquote>
# Line 2420  Intellectual Property and Copyright Stat Line 2615  Intellectual Property and Copyright Stat
2615  <blockquote class="text">  <blockquote class="text">
2616  <p>either true or false, if false then this parameter can  <p>either true or false, if false then this parameter can
2617                                  be changed at any time, once the device is created by                                  be changed at any time, once the device is created by
2618                                  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
2619                                  (always returned, no matter which driver parameter)                                  (always returned, no matter which driver parameter)
2620  </p>  </p>
2621  </blockquote>  </blockquote>
# Line 2459  Intellectual Property and Copyright Stat Line 2654  Intellectual Property and Copyright Stat
2654  <blockquote class="text">  <blockquote class="text">
2655  <p>reflects the default value for this parameter which is  <p>reflects the default value for this parameter which is
2656                                  used when the device is created and not explicitly                                  used when the device is created and not explicitly
2657                                  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,
2658                                  in case of MULTIPLCITY=true, this is a comma separated                                  in case of MULTIPLCITY=true, this is a comma separated
2659                                  list, that's why character strings are encapsulated into                                  list, that's why character strings are encapsulated into
2660                                  apostrophes (')                                  apostrophes (')
# Line 2533  Intellectual Property and Copyright Stat Line 2728  Intellectual Property and Copyright Stat
2728                                            
2729  </p>  </p>
2730  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="CREATE MIDI_INPUT_DEVICE"></a><br /><hr />
2731  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2732  <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;
2733    Creating a MIDI input device</h3>
2734    
2735  <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:
2736  </p>  </p>
# Line 2547  Intellectual Property and Copyright Stat Line 2743  Intellectual Property and Copyright Stat
2743                                            
2744  </p>  </p>
2745  <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
2746                      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
2747                      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
2748                      character string values should be encapsulated into apostrophes (').                      character string values should be encapsulated into apostrophes (').
2749                      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 2603  Intellectual Property and Copyright Stat Line 2799  Intellectual Property and Copyright Stat
2799                                            
2800  </p>  </p>
2801  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="DESTROY MIDI_INPUT_DEVICE"></a><br /><hr />
2802  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2803  <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;
2804    Destroying a MIDI input device</h3>
2805    
2806  <p>Use the following command to destroy a created MIDI input device:  <p>Use the following command to destroy a created MIDI input device:
2807  </p>  </p>
# Line 2617  Intellectual Property and Copyright Stat Line 2814  Intellectual Property and Copyright Stat
2814                                            
2815  </p>  </p>
2816  <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
2817                      <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>
2818                      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>
2819                      command.                      command.
2820  </p>  </p>
2821  <p>Possible Answers:  <p>Possible Answers:
# Line 2668  Intellectual Property and Copyright Stat Line 2865  Intellectual Property and Copyright Stat
2865                                            
2866  </p>  </p>
2867  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICES"></a><br /><hr />
2868  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2869  <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;
2870    Getting all created MIDI input device count</h3>
2871    
2872  <p>Use the following command to count all created MIDI input devices:  <p>Use the following command to count all created MIDI input devices:
2873  </p>  </p>
# Line 2705  Intellectual Property and Copyright Stat Line 2903  Intellectual Property and Copyright Stat
2903                                            
2904  </p>  </p>
2905  <a name="LIST MIDI_INPUT_DEVICES"></a><br /><hr />  <a name="LIST 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.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;
2908    Getting all created MIDI input device list</h3>
2909    
2910  <p>Use the following command to list all created MIDI input devices:  <p>Use the following command to list all created MIDI input devices:
2911  </p>  </p>
# Line 2752  Intellectual Property and Copyright Stat Line 2951  Intellectual Property and Copyright Stat
2951                                            
2952  </p>  </p>
2953  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_DEVICE INFO"></a><br /><hr />
2954  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
2955  <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;
2956    Getting current settings of a MIDI input device</h3>
2957    
2958  <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:
2959  </p>  </p>
# Line 2766  Intellectual Property and Copyright Stat Line 2966  Intellectual Property and Copyright Stat
2966                                            
2967  </p>  </p>
2968  <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
2969                      <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>
2970                      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>
2971                      command.                      command.
2972  </p>  </p>
2973  <p>Possible Answers:  <p>Possible Answers:
# Line 2790  Intellectual Property and Copyright Stat Line 2990  Intellectual Property and Copyright Stat
2990                                          </p>                                          </p>
2991  <blockquote class="text">  <blockquote class="text">
2992  <p>identifier of the used MIDI input driver, as e.g.  <p>identifier of the used MIDI input driver, as e.g.
2993                                              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>
2994                                              command                                              command
2995  </p>  </p>
2996  </blockquote>  </blockquote>
# Line 2820  Intellectual Property and Copyright Stat Line 3020  Intellectual Property and Copyright Stat
3020                      order. The fields above are only those fields which are                      order. The fields above are only those fields which are
3021                      returned by all MIDI input devices. Every MIDI input driver                      returned by all MIDI input devices. Every MIDI input driver
3022                      might have its own, additional driver specific parameters (see                      might have its own, additional driver specific parameters (see
3023                      <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
3024                      by this command.                      by this command.
3025  </p>  </p>
3026  <p>Example:  <p>Example:
# Line 2840  Intellectual Property and Copyright Stat Line 3040  Intellectual Property and Copyright Stat
3040                                            
3041  </p>  </p>
3042  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_DEVICE_PARAMETER"></a><br /><hr />
3043  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3044  <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;
3045    Changing settings of MIDI input devices</h3>
3046    
3047  <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:
3048  </p>  </p>
# Line 2855  Intellectual Property and Copyright Stat Line 3056  Intellectual Property and Copyright Stat
3056  </p>  </p>
3057  <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
3058                      MIDI input device as returned by the                      MIDI input device as returned by the
3059                      <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>
3060                      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>
3061                      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
3062                      &lt;value&gt; by the new value for this parameter.                      &lt;value&gt; by the new value for this parameter.
3063  </p>  </p>
# Line 2907  Intellectual Property and Copyright Stat Line 3108  Intellectual Property and Copyright Stat
3108                                            
3109  </p>  </p>
3110  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT INFO"></a><br /><hr />
3111  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3112  <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;
3113    Getting information about a MIDI port</h3>
3114    
3115  <p>Use the following command to get information about a MIDI port:  <p>Use the following command to get information about a MIDI port:
3116  </p>  </p>
# Line 2921  Intellectual Property and Copyright Stat Line 3123  Intellectual Property and Copyright Stat
3123                                            
3124  </p>  </p>
3125  <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
3126                      <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>
3127                      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>
3128                      command and &lt;midi-port&gt; the MIDI input port number.                      command and &lt;midi-port&gt; the MIDI input port number.
3129  </p>  </p>
3130  <p>Possible Answers:  <p>Possible Answers:
# Line 2969  Intellectual Property and Copyright Stat Line 3171  Intellectual Property and Copyright Stat
3171                                            
3172  </p>  </p>
3173  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />  <a name="GET MIDI_INPUT_PORT_PARAMETER INFO"></a><br /><hr />
3174  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3175  <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;
3176    Getting information about specific MIDI port parameter</h3>
3177    
3178  <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:
3179  </p>  </p>
# Line 2983  Intellectual Property and Copyright Stat Line 3186  Intellectual Property and Copyright Stat
3186                                            
3187  </p>  </p>
3188  <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
3189                      <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>
3190                      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>
3191                      command, &lt;port&gt; the MIDI port number and                      command, &lt;port&gt; the MIDI port number and
3192                      &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
3193                      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).
3194  </p>  </p>
3195  <p>Possible Answers:  <p>Possible Answers:
3196  </p>  </p>
# Line 3110  Intellectual Property and Copyright Stat Line 3313  Intellectual Property and Copyright Stat
3313                                            
3314  </p>  </p>
3315  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />  <a name="SET MIDI_INPUT_PORT_PARAMETER"></a><br /><hr />
3316  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3317  <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;
3318    Changing settings of MIDI input ports</h3>
3319    
3320  <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:
3321  </p>  </p>
# Line 3125  Intellectual Property and Copyright Stat Line 3329  Intellectual Property and Copyright Stat
3329  </p>  </p>
3330  <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
3331                      MIDI device as returned by the                      MIDI device as returned by the
3332                      <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>
3333                      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>
3334                      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
3335                      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
3336                      parameter.                      parameter (encapsulated into apostrophes) or NONE (not encapsulated into apostrophes)
3337                        for specifying no value for parameters allowing a list of values.
3338  </p>  </p>
3339  <p>Possible Answers:  <p>Possible Answers:
3340  </p>  </p>
# Line 3170  Intellectual Property and Copyright Stat Line 3375  Intellectual Property and Copyright Stat
3375  <p>  <p>
3376                          </p>                          </p>
3377  <blockquote class="text">  <blockquote class="text">
3378    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS='20:0'"
3379    </p>
3380    <p>S: "OK"
3381    </p>
3382    </blockquote><p>
3383                        
3384    </p>
3385  <p>  <p>
3386                            </p>
3387    <blockquote class="text">
3388    <p>C: "SET MIDI_INPUT_PORT_PARAMETER 0 0 ALSA_SEQ_BINDINGS=NONE"
3389    </p>
3390    <p>S: "OK"
3391  </p>  </p>
3392  </blockquote><p>  </blockquote><p>
3393                                            
3394  </p>  </p>
3395  <a name="anchor11"></a><br /><hr />  <a name="anchor11"></a><br /><hr />
3396  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3397  <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;
3398    Configuring sampler channels</h3>
3399    
3400  <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
3401                  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
3402                  MIDI and audio devices.                  MIDI and audio devices.
3403  </p>  </p>
3404  <a name="LOAD INSTRUMENT"></a><br /><hr />  <a name="LOAD INSTRUMENT"></a><br /><hr />
3405  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3406  <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;
3407    Loading an instrument</h3>
3408    
3409  <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:
3410  </p>  </p>
# Line 3203  Intellectual Property and Copyright Stat Line 3422  Intellectual Property and Copyright Stat
3422                      number of the sampler channel the instrument should be assigned to.                      number of the sampler channel the instrument should be assigned to.
3423                      Each sampler channel can only have one instrument.                      Each sampler channel can only have one instrument.
3424  </p>  </p>
3425    <p>Notice: since LSCP 1.2 the &lt;filename&gt; argument supports
3426                        escape characters for special characters (see chapter
3427                        "<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>"
3428                        for details) and accordingly backslash characters in the filename
3429                        MUST now be escaped as well!
3430    </p>
3431  <p>The difference between regular and NON_MODAL versions of the command  <p>The difference between regular and NON_MODAL versions of the command
3432                      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
3433                      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
3434                      returns immediately and a background process is launched to load the instrument                      returns immediately and a background process is launched to load the instrument
3435                      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>
3436                      command can be used to obtain loading                      command can be used to obtain loading
3437                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks                      progress from INSTRUMENT_STATUS field. LOAD command will perform sanity checks
3438                      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 3250  Intellectual Property and Copyright Stat Line 3475  Intellectual Property and Copyright Stat
3475  </blockquote><p>  </blockquote><p>
3476                                            
3477  </p>  </p>
3478  <p>Example:  <p>Example (Unix):
3479  </p>  </p>
3480  <p>  <p>
3481                          </p>                          </p>
3482  <blockquote class="text">  <blockquote class="text">
3483    <p>C: LOAD INSTRUMENT '/home/joe/gigs/cello.gig' 0 0
3484    </p>
3485    <p>S: OK
3486    </p>
3487    </blockquote><p>
3488                        
3489    </p>
3490    <p>Example (Windows):
3491    </p>
3492  <p>  <p>
3493                            </p>
3494    <blockquote class="text">
3495    <p>C: LOAD INSTRUMENT 'D:/MySounds/cello.gig' 0 0
3496    </p>
3497    <p>S: OK
3498  </p>  </p>
3499  </blockquote><p>  </blockquote><p>
3500                                            
3501  </p>  </p>
3502  <a name="LOAD ENGINE"></a><br /><hr />  <a name="LOAD ENGINE"></a><br /><hr />
3503  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3504  <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;
3505    Loading a sampler engine</h3>
3506    
3507  <p>A sampler engine type can be associated to a specific sampler  <p>A sampler engine type can be associated to a specific sampler
3508                      channel by the following command:                      channel by the following command:
# Line 3276  Intellectual Property and Copyright Stat Line 3516  Intellectual Property and Copyright Stat
3516                                            
3517  </p>  </p>
3518  <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
3519                      <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;
3520                      the sampler channel as returned by the                      the sampler channel as returned by the
3521                      <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
3522                      <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
3523                      the engine type should be assigned to. This command should be issued                      the engine type should be assigned to. This command should be issued
3524                      after adding a new sampler channel and before any other control                      after adding a new sampler channel and before any other control
3525                      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 3335  Intellectual Property and Copyright Stat Line 3575  Intellectual Property and Copyright Stat
3575                                            
3576  </p>  </p>
3577  <a name="GET CHANNELS"></a><br /><hr />  <a name="GET CHANNELS"></a><br /><hr />
3578  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3579  <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;
3580    Getting all created sampler channel count</h3>
3581    
3582  <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
3583                      current amount of sampler channels, the front-end can send the                      current amount of sampler channels, the front-end can send the
# Line 3373  Intellectual Property and Copyright Stat Line 3614  Intellectual Property and Copyright Stat
3614                                            
3615  </p>  </p>
3616  <a name="LIST CHANNELS"></a><br /><hr />  <a name="LIST CHANNELS"></a><br /><hr />
3617  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3618  <a name="rfc.section.6.4.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;
3619    Getting all created sampler channel list</h3>
3620    
3621  <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
3622                      current list of sampler channels, the front-end can send the                      current list of sampler channels, the front-end can send the
# Line 3412  Intellectual Property and Copyright Stat Line 3654  Intellectual Property and Copyright Stat
3654                                            
3655  </p>  </p>
3656  <a name="ADD CHANNEL"></a><br /><hr />  <a name="ADD CHANNEL"></a><br /><hr />
3657  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3658  <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;
3659    Adding a new sampler channel</h3>
3660    
3661  <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
3662                      channel list by sending the following command:                      channel list by sending the following command:
# Line 3486  Intellectual Property and Copyright Stat Line 3729  Intellectual Property and Copyright Stat
3729                                            
3730  </p>  </p>
3731  <a name="REMOVE CHANNEL"></a><br /><hr />  <a name="REMOVE CHANNEL"></a><br /><hr />
3732  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3733  <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;
3734    Removing a sampler channel</h3>
3735    
3736  <p>A sampler channel can be removed by sending the following command:  <p>A sampler channel can be removed by sending the following command:
3737  </p>  </p>
# Line 3501  Intellectual Property and Copyright Stat Line 3745  Intellectual Property and Copyright Stat
3745  </p>  </p>
3746  <p>Where &lt;sampler-channel&gt; should be replaced by the  <p>Where &lt;sampler-channel&gt; should be replaced by the
3747                      number of the sampler channel as given by the                      number of the sampler channel as given by the
3748                      <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>
3749                      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>
3750                      command. The channel numbers of all subsequent sampler channels                      command. The channel numbers of all subsequent sampler channels
3751                      remain the same.                      remain the same.
3752  </p>  </p>
# Line 3552  Intellectual Property and Copyright Stat Line 3796  Intellectual Property and Copyright Stat
3796                                            
3797  </p>  </p>
3798  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />  <a name="GET AVAILABLE_ENGINES"></a><br /><hr />
3799  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3800  <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;
3801    Getting amount of available engines</h3>
3802    
3803  <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:
3804  </p>  </p>
# Line 3588  Intellectual Property and Copyright Stat Line 3833  Intellectual Property and Copyright Stat
3833                                            
3834  </p>  </p>
3835  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />  <a name="LIST AVAILABLE_ENGINES"></a><br /><hr />
3836  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3837  <a name="rfc.section.6.4.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;
3838    Getting all available engines</h3>
3839    
3840  <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:
3841  </p>  </p>
# Line 3627  Intellectual Property and Copyright Stat Line 3873  Intellectual Property and Copyright Stat
3873                                            
3874  </p>  </p>
3875  <a name="GET ENGINE INFO"></a><br /><hr />  <a name="GET ENGINE INFO"></a><br /><hr />
3876  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3877  <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;
3878    Getting information about an engine</h3>
3879    
3880  <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
3881                      sending the following command:                      sending the following command:
# Line 3642  Intellectual Property and Copyright Stat Line 3889  Intellectual Property and Copyright Stat
3889                                            
3890  </p>  </p>
3891  <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
3892                      <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.
3893  </p>  </p>
3894  <p>Possible Answers:  <p>Possible Answers:
3895  </p>  </p>
# Line 3662  Intellectual Property and Copyright Stat Line 3909  Intellectual Property and Copyright Stat
3909                                          </p>                                          </p>
3910  <blockquote class="text">  <blockquote class="text">
3911  <p>arbitrary description text about the engine  <p>arbitrary description text about the engine
3912                                                (note that the character string may contain
3913                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
3914  </p>  </p>
3915  </blockquote>  </blockquote>
3916                                                                            
# Line 3699  Intellectual Property and Copyright Stat Line 3948  Intellectual Property and Copyright Stat
3948                                            
3949  </p>  </p>
3950  <a name="GET CHANNEL INFO"></a><br /><hr />  <a name="GET CHANNEL INFO"></a><br /><hr />
3951  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
3952  <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;
3953    Getting sampler channel information</h3>
3954    
3955  <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
3956                      by sending the following command:                      by sending the following command:
# Line 3714  Intellectual Property and Copyright Stat Line 3964  Intellectual Property and Copyright Stat
3964                                            
3965  </p>  </p>
3966  <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
3967                      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>
3968                      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.
3969  </p>  </p>
3970  <p>Possible Answers:  <p>Possible Answers:
3971  </p>  </p>
# Line 3780  Intellectual Property and Copyright Stat Line 4030  Intellectual Property and Copyright Stat
4030  <blockquote class="text">  <blockquote class="text">
4031  <p>the file name of the loaded instrument, "NONE" if  <p>the file name of the loaded instrument, "NONE" if
4032                                              there's no instrument yet loaded for this sampler                                              there's no instrument yet loaded for this sampler
4033                                              channel                                              channel (note: since LSCP 1.2 this path may contain
4034                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4035  </p>  </p>
4036  </blockquote>  </blockquote>
4037                                                                            
# Line 3797  Intellectual Property and Copyright Stat Line 4048  Intellectual Property and Copyright Stat
4048                                          </p>                                          </p>
4049  <blockquote class="text">  <blockquote class="text">
4050  <p>the instrument name of the loaded instrument  <p>the instrument name of the loaded instrument
4051                                                (note: since LSCP 1.2 this character string may contain
4052                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
4053  </p>  </p>
4054  </blockquote>  </blockquote>
4055                                                                            
# Line 3843  Intellectual Property and Copyright Stat Line 4096  Intellectual Property and Copyright Stat
4096                                          </p>                                          </p>
4097  <blockquote class="text">  <blockquote class="text">
4098  <p>optionally dotted number for the channel volume factor  <p>optionally dotted number for the channel volume factor
4099                                              (where a value < 1.0 means attenuation and a value >                                              (where a value &lt; 1.0 means attenuation and a value >
4100                                              1.0 means amplification)                                              1.0 means amplification)
4101  </p>  </p>
4102  </blockquote>  </blockquote>
# Line 3870  Intellectual Property and Copyright Stat Line 4123  Intellectual Property and Copyright Stat
4123  </blockquote>  </blockquote>
4124                                                                            
4125    
4126    <p>MIDI_INSTRUMENT_MAP -
4127                                            </p>
4128    <blockquote class="text">
4129    <p>Determines to which MIDI instrument map this sampler
4130                                                channel is assigned to. Read chapter
4131                                                <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>
4132                                                for a list of possible values.
4133    </p>
4134    </blockquote>
4135                                        
4136    
4137  </blockquote>  </blockquote>
4138                                                            
4139    
# Line 3909  Intellectual Property and Copyright Stat Line 4173  Intellectual Property and Copyright Stat
4173  </p>  </p>
4174  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"  <p>&nbsp;&nbsp;&nbsp;"MIDI_INPUT_CHANNEL: 5"
4175  </p>  </p>
4176    <p>&nbsp;&nbsp;&nbsp;"VOLUME: 1.0"
4177    </p>
4178    <p>&nbsp;&nbsp;&nbsp;"MUTE: false"
4179    </p>
4180    <p>&nbsp;&nbsp;&nbsp;"SOLO: false"
4181    </p>
4182    <p>&nbsp;&nbsp;&nbsp;"MIDI_INSTRUMENT_MAP: NONE"
4183    </p>
4184  <p>&nbsp;&nbsp;&nbsp;"."  <p>&nbsp;&nbsp;&nbsp;"."
4185  </p>  </p>
4186  </blockquote><p>  </blockquote><p>
4187                                            
4188  </p>  </p>
4189  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />  <a name="GET CHANNEL VOICE_COUNT"></a><br /><hr />
4190  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4191  <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;
4192    Current number of active voices</h3>
4193    
4194  <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
4195                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 3930  Intellectual Property and Copyright Stat Line 4203  Intellectual Property and Copyright Stat
4203                                            
4204  </p>  </p>
4205  <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
4206                      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>
4207                      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.
4208  </p>  </p>
4209  <p>Possible Answers:  <p>Possible Answers:
4210  </p>  </p>
# Line 3955  Intellectual Property and Copyright Stat Line 4228  Intellectual Property and Copyright Stat
4228                                            
4229  </p>  </p>
4230  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />  <a name="GET CHANNEL STREAM_COUNT"></a><br /><hr />
4231  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4232  <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;
4233    Current number of active disk streams</h3>
4234    
4235  <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
4236                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 3970  Intellectual Property and Copyright Stat Line 4244  Intellectual Property and Copyright Stat
4244                                            
4245  </p>  </p>
4246  <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
4247                      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>
4248                      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.
4249  </p>  </p>
4250  <p>Possible Answers:  <p>Possible Answers:
4251  </p>  </p>
# Line 3997  Intellectual Property and Copyright Stat Line 4271  Intellectual Property and Copyright Stat
4271                                            
4272  </p>  </p>
4273  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />  <a name="GET CHANNEL BUFFER_FILL"></a><br /><hr />
4274  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4275  <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;
4276    Current fill state of disk stream buffers</h3>
4277    
4278  <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
4279                      on a sampler channel by sending the following command:                      on a sampler channel by sending the following command:
# Line 4023  Intellectual Property and Copyright Stat Line 4298  Intellectual Property and Copyright Stat
4298  </p>  </p>
4299  <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
4300                      sampler channel number the front-end is interested in                      sampler channel number the front-end is interested in
4301                      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>
4302                      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.
4303  </p>  </p>
4304  <p>Possible Answers:  <p>Possible Answers:
4305  </p>  </p>
# Line 4074  Intellectual Property and Copyright Stat Line 4349  Intellectual Property and Copyright Stat
4349                                            
4350  </p>  </p>
4351  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_DEVICE"></a><br /><hr />
4352  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4353  <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;
4354    Setting audio output device</h3>
4355    
4356  <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
4357                      channel by sending the following command:                      channel by sending the following command:
# Line 4089  Intellectual Property and Copyright Stat Line 4365  Intellectual Property and Copyright Stat
4365                                            
4366  </p>  </p>
4367  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4368                      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>
4369                      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
4370                      &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
4371                      <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>
4372                      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>
4373                      command.                      command.
4374  </p>  </p>
4375  <p>Possible Answers:  <p>Possible Answers:
# Line 4140  Intellectual Property and Copyright Stat Line 4416  Intellectual Property and Copyright Stat
4416  </blockquote><p>  </blockquote><p>
4417                                            
4418  </p>  </p>
4419  <a name="SET CHANNEL AUDIO_OUTPUT_TYP"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_TYPE"></a><br /><hr />
4420  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4421  <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;
4422    Setting audio output type</h3>
4423    
4424  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4425  </p>  </p>
# Line 4205  Intellectual Property and Copyright Stat Line 4482  Intellectual Property and Copyright Stat
4482                                            
4483  </p>  </p>
4484  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
4485  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4486  <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;
4487    Setting audio output channel</h3>
4488    
4489  <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
4490                      sampler channel by sending the following command:                      sampler channel by sending the following command:
# Line 4220  Intellectual Property and Copyright Stat Line 4498  Intellectual Property and Copyright Stat
4498                                            
4499  </p>  </p>
4500  <p>Where &lt;sampler-chan&gt; is the sampler channel number  <p>Where &lt;sampler-chan&gt; is the sampler channel number
4501                      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>
4502                      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
4503                      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
4504                      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
4505                      output device where &lt;audio-out&gt; should be routed to.                      output device where &lt;audio-out&gt; should be routed to.
# Line 4271  Intellectual Property and Copyright Stat Line 4549  Intellectual Property and Copyright Stat
4549                                            
4550  </p>  </p>
4551  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_DEVICE"></a><br /><hr />
4552  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4553  <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;
4554    Setting MIDI input device</h3>
4555    
4556  <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
4557                      channel by sending the following command:                      channel by sending the following command:
# Line 4286  Intellectual Property and Copyright Stat Line 4565  Intellectual Property and Copyright Stat
4565                                            
4566  </p>  </p>
4567  <p>Where &lt;sampler-channel&gt; is the sampler channel number  <p>Where &lt;sampler-channel&gt; is the sampler channel number
4568                      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>
4569                      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
4570                      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
4571                      <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>
4572                      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.
4573  </p>  </p>
4574  <p>Possible Answers:  <p>Possible Answers:
4575  </p>  </p>
# Line 4337  Intellectual Property and Copyright Stat Line 4616  Intellectual Property and Copyright Stat
4616                                            
4617  </p>  </p>
4618  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_TYPE"></a><br /><hr />
4619  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4620  <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;
4621    Setting MIDI input type</h3>
4622    
4623  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!  <p>DEPRECATED: THIS COMMAND WILL DISAPPEAR SOON!
4624  </p>  </p>
# Line 4401  Intellectual Property and Copyright Stat Line 4681  Intellectual Property and Copyright Stat
4681                                            
4682  </p>  </p>
4683  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_PORT"></a><br /><hr />
4684  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4685  <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;
4686    Setting MIDI input port</h3>
4687    
4688  <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
4689                      channel by sending the following command:                      channel by sending the following command:
# Line 4464  Intellectual Property and Copyright Stat Line 4745  Intellectual Property and Copyright Stat
4745                                            
4746  </p>  </p>
4747  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />  <a name="SET CHANNEL MIDI_INPUT_CHANNEL"></a><br /><hr />
4748  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4749  <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;
4750    Setting MIDI input channel</h3>
4751    
4752  <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
4753                      listen to by sending the following command:                      listen to by sending the following command:
# Line 4527  Intellectual Property and Copyright Stat Line 4809  Intellectual Property and Copyright Stat
4809                                            
4810  </p>  </p>
4811  <a name="SET CHANNEL VOLUME"></a><br /><hr />  <a name="SET CHANNEL VOLUME"></a><br /><hr />
4812  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4813  <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;
4814    Setting channel volume</h3>
4815    
4816  <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
4817                      the following command:                      the following command:
# Line 4591  Intellectual Property and Copyright Stat Line 4874  Intellectual Property and Copyright Stat
4874                                            
4875  </p>  </p>
4876  <a name="SET CHANNEL MUTE"></a><br /><hr />  <a name="SET CHANNEL MUTE"></a><br /><hr />
4877  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4878  <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;
4879    Muting a sampler channel</h3>
4880    
4881  <p>The front-end can mute/unmute a specific sampler  <p>The front-end can mute/unmute a specific sampler
4882                      channel by sending the following command:                      channel by sending the following command:
# Line 4606  Intellectual Property and Copyright Stat Line 4890  Intellectual Property and Copyright Stat
4890                                            
4891  </p>  </p>
4892  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4893                      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>
4894                      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
4895                      &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"
4896                      to unmute the channel.                      to unmute the channel.
4897  </p>  </p>
# Line 4656  Intellectual Property and Copyright Stat Line 4940  Intellectual Property and Copyright Stat
4940                                            
4941  </p>  </p>
4942  <a name="SET CHANNEL SOLO"></a><br /><hr />  <a name="SET CHANNEL SOLO"></a><br /><hr />
4943  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
4944  <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;
4945    Soloing a sampler channel</h3>
4946    
4947  <p>The front-end can solo/unsolo a specific sampler channel  <p>The front-end can solo/unsolo a specific sampler channel
4948                      by sending the following command:                      by sending the following command:
# Line 4671  Intellectual Property and Copyright Stat Line 4956  Intellectual Property and Copyright Stat
4956                                            
4957  </p>  </p>
4958  <p>Where &lt;sampler-channel&gt; is the respective sampler channel  <p>Where &lt;sampler-channel&gt; is the respective sampler channel
4959                      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>
4960                      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
4961                      &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"
4962                      to unsolo the channel.                      to unsolo the channel.
4963  </p>  </p>
# Line 4720  Intellectual Property and Copyright Stat Line 5005  Intellectual Property and Copyright Stat
5005  </blockquote><p>  </blockquote><p>
5006                                            
5007  </p>  </p>
5008    <a name="SET CHANNEL MIDI_INSTRUMENT_MAP"></a><br /><hr />
5009    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5010    <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;
5011    Assigning a MIDI instrument map to a sampler channel</h3>
5012    
5013    <p>The front-end can assign a MIDI instrument map to a specific sampler channel
5014                        by sending the following command:
5015    </p>
5016    <p>
5017                            </p>
5018    <blockquote class="text">
5019    <p>SET CHANNEL MIDI_INSTRUMENT_MAP &lt;sampler-channel&gt; &lt;map&gt;
5020    </p>
5021    </blockquote><p>
5022                        
5023    </p>
5024    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5025                        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>
5026                        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
5027                        &lt;map&gt; can have the following possibilites:
5028    </p>
5029    <p>
5030                            </p>
5031    <blockquote class="text">
5032    <p>"NONE" -
5033                                    </p>
5034    <blockquote class="text">
5035    <p>This is the default setting. In this case
5036                                        the sampler channel is not assigned any MIDI
5037                                        instrument map and thus will ignore all MIDI
5038                                        program change messages.
5039    </p>
5040    </blockquote>
5041                                
5042    
5043    <p>"DEFAULT" -
5044                                    </p>
5045    <blockquote class="text">
5046    <p>The sampler channel will always use the
5047                                        default MIDI instrument map to handle MIDI
5048                                        program change messages.
5049    </p>
5050    </blockquote>
5051                                
5052    
5053    <p>numeric ID -
5054                                    </p>
5055    <blockquote class="text">
5056    <p>You can assign a specific MIDI instrument map
5057                                        by replacing &lt;map&gt; with the respective numeric
5058                                        ID of the MIDI instrument map as returned by the
5059                                        <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>
5060                                        command. Once that map will be deleted, the sampler
5061                                        channel would fall back to "NONE".
5062    </p>
5063    </blockquote>
5064                                
5065    
5066    </blockquote><p>
5067                        
5068    </p>
5069    <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>
5070                        for details regarding MIDI instrument mapping.
5071    </p>
5072    <p>Possible Answers:
5073    </p>
5074    <p>
5075                            </p>
5076    <blockquote class="text">
5077    <p>"OK" -
5078                                    </p>
5079    <blockquote class="text">
5080    <p>on success
5081    </p>
5082    </blockquote>
5083                                
5084    
5085    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5086                                    </p>
5087    <blockquote class="text">
5088    <p>in case it failed, providing an appropriate error code and error message
5089    </p>
5090    </blockquote>
5091                                
5092    
5093    </blockquote><p>
5094                        
5095    </p>
5096    <p>Examples:
5097    </p>
5098    <p>
5099                            </p>
5100    <blockquote class="text">
5101    <p>
5102    </p>
5103    </blockquote><p>
5104                        
5105    </p>
5106    <a name="CREATE FX_SEND"></a><br /><hr />
5107    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5108    <a name="rfc.section.6.4.25"></a><h3>6.4.25.&nbsp;
5109    Adding an effect send to a sampler channel</h3>
5110    
5111    <p>The front-end can create an additional effect send on a specific sampler channel
5112                        by sending the following command:
5113    </p>
5114    <p>
5115                            </p>
5116    <blockquote class="text">
5117    <p>CREATE FX_SEND &lt;sampler-channel&gt; &lt;midi-ctrl&gt; [&lt;name&gt;]
5118    </p>
5119    </blockquote><p>
5120                        
5121    </p>
5122    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5123                        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>
5124                        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
5125                        sampler channel on which the effect send should be created on, &lt;midi-ctrl&gt;
5126                        is a number between 0..127 defining the MIDI controller which can alter the
5127                        effect send level and &lt;name&gt; is an optional argument defining a name
5128                        for the effect send entity. The name does not have to be unique, but MUST be
5129                        encapsulated into apostrophes and supports escape sequences as described in chapter
5130                        "<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>".
5131    </p>
5132    <p>By default, that is as initial routing, the effect send's audio channels
5133                        are automatically routed to the last audio channels of the sampler channel's
5134                        audio output device, that way you can i.e. first increase the amount of audio
5135                        channels on the audio output device for having dedicated effect send output
5136                        channels and when "CREATE FX_SEND" is called, those channels will automatically
5137                        be picked. You can alter the destination channels however with
5138                        <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>.
5139                        
5140    </p>
5141    <p>Note: Create effect sends on a sampler channel only when needed, because having effect
5142                        sends on a sampler channel will decrease runtime performance, because for implementing channel
5143                        effect sends, separate (sampler channel local) audio buffers are needed to render and mix
5144                        the voices and route the audio signal afterwards to the master outputs and effect send
5145                        outputs (along with their respective effect send levels). A sampler channel without effect
5146                        sends however can mix its voices directly into the audio output devices's audio buffers
5147                        and is thus faster.
5148                        
5149    </p>
5150    <p>Possible Answers:
5151    </p>
5152    <p>
5153                            </p>
5154    <blockquote class="text">
5155    <p>"OK[&lt;fx-send-id&gt;]" -
5156                                    </p>
5157    <blockquote class="text">
5158    <p>in case a new effect send could be added to the
5159                                        sampler channel, where &lt;fx-send-id&gt; reflects the
5160                                        unique ID of the newly created effect send entity
5161    </p>
5162    </blockquote>
5163                                
5164    
5165    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5166                                    </p>
5167    <blockquote class="text">
5168    <p>when a new effect send could not be added, i.e.
5169                                        due to invalid parameters
5170    </p>
5171    </blockquote>
5172                                
5173    
5174    </blockquote><p>
5175                        
5176    </p>
5177    <p>Examples:
5178    </p>
5179    <p>
5180                            </p>
5181    <blockquote class="text">
5182    <p>C: "CREATE FX_SEND 0 91 'Reverb Send'"
5183    </p>
5184    <p>S: "OK[0]"
5185    </p>
5186    </blockquote><p>
5187                        
5188    </p>
5189    <p>
5190                            </p>
5191    <blockquote class="text">
5192    <p>C: "CREATE FX_SEND 0 93"
5193    </p>
5194    <p>S: "OK[1]"
5195    </p>
5196    </blockquote><p>
5197                        
5198    </p>
5199    <a name="DESTROY FX_SEND"></a><br /><hr />
5200    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5201    <a name="rfc.section.6.4.26"></a><h3>6.4.26.&nbsp;
5202    Removing an effect send from a sampler channel</h3>
5203    
5204    <p>The front-end can remove an existing effect send on a specific sampler channel
5205                        by sending the following command:
5206    </p>
5207    <p>
5208                            </p>
5209    <blockquote class="text">
5210    <p>DESTROY FX_SEND &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5211    </p>
5212    </blockquote><p>
5213                        
5214    </p>
5215    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5216                        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>
5217                        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
5218                        sampler channel from which the effect send should be removed from and
5219                        &lt;fx-send-id&gt; is the respective effect send number as returned by the
5220                        <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>
5221                        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.
5222    </p>
5223    <p>Possible Answers:
5224    </p>
5225    <p>
5226                            </p>
5227    <blockquote class="text">
5228    <p>"OK" -
5229                                    </p>
5230    <blockquote class="text">
5231    <p>on success
5232    </p>
5233    </blockquote>
5234                                
5235    
5236    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5237                                    </p>
5238    <blockquote class="text">
5239    <p>in case it failed, providing an appropriate error code and
5240                                        error message
5241    </p>
5242    </blockquote>
5243                                
5244    
5245    </blockquote><p>
5246                        
5247    </p>
5248    <p>Example:
5249    </p>
5250    <p>
5251                            </p>
5252    <blockquote class="text">
5253    <p>C: "DESTROY FX_SEND 0 0"
5254    </p>
5255    <p>S: "OK"
5256    </p>
5257    </blockquote><p>
5258                        
5259    </p>
5260    <a name="GET FX_SENDS"></a><br /><hr />
5261    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5262    <a name="rfc.section.6.4.27"></a><h3>6.4.27.&nbsp;
5263    Getting amount of effect sends on a sampler channel</h3>
5264    
5265    <p>The front-end can ask for the amount of effect sends on a specific sampler channel
5266                        by sending the following command:
5267    </p>
5268    <p>
5269                            </p>
5270    <blockquote class="text">
5271    <p>GET FX_SENDS &lt;sampler-channel&gt;
5272    </p>
5273    </blockquote><p>
5274                        
5275    </p>
5276    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5277                        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>
5278                        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.
5279    </p>
5280    <p>Possible Answers:
5281    </p>
5282    <p>
5283                            </p>
5284    <blockquote class="text">
5285    <p>The sampler will answer by returning the number of effect
5286                                sends on the given sampler channel.
5287    </p>
5288    </blockquote><p>
5289                        
5290    </p>
5291    <p>Example:
5292    </p>
5293    <p>
5294                            </p>
5295    <blockquote class="text">
5296    <p>C: "GET FX_SENDS 0"
5297    </p>
5298    <p>S: "2"
5299    </p>
5300    </blockquote><p>
5301                        
5302    </p>
5303    <a name="LIST FX_SENDS"></a><br /><hr />
5304    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5305    <a name="rfc.section.6.4.28"></a><h3>6.4.28.&nbsp;
5306    Listing all effect sends on a sampler channel</h3>
5307    
5308    <p>The front-end can ask for a list of effect sends on a specific sampler channel
5309                        by sending the following command:
5310    </p>
5311    <p>
5312                            </p>
5313    <blockquote class="text">
5314    <p>LIST FX_SENDS &lt;sampler-channel&gt;
5315    </p>
5316    </blockquote><p>
5317                        
5318    </p>
5319    <p>Where &lt;sampler-channel&gt; is the respective sampler channel
5320                        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>
5321                        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.
5322    </p>
5323    <p>Possible Answers:
5324    </p>
5325    <p>
5326                            </p>
5327    <blockquote class="text">
5328    <p>The sampler will answer by returning a comma separated list
5329                                with all effect sends' numerical IDs on the given sampler
5330                                channel.
5331    </p>
5332    </blockquote><p>
5333                        
5334    </p>
5335    <p>Examples:
5336    </p>
5337    <p>
5338                            </p>
5339    <blockquote class="text">
5340    <p>C: "LIST FX_SENDS 0"
5341    </p>
5342    <p>S: "0,1"
5343    </p>
5344    </blockquote><p>
5345                        
5346    </p>
5347    <p>
5348                            </p>
5349    <blockquote class="text">
5350    <p>C: "LIST FX_SENDS 1"
5351    </p>
5352    <p>S: ""
5353    </p>
5354    </blockquote><p>
5355                        
5356    </p>
5357    <a name="GET FX_SEND INFO"></a><br /><hr />
5358    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5359    <a name="rfc.section.6.4.29"></a><h3>6.4.29.&nbsp;
5360    Getting effect send information</h3>
5361    
5362    <p>The front-end can ask for the current settings of an effect send entity
5363                        by sending the following command:
5364    </p>
5365    <p>
5366                            </p>
5367    <blockquote class="text">
5368    <p>GET FX_SEND INFO &lt;sampler-channel&gt; &lt;fx-send-id&gt;
5369    </p>
5370    </blockquote><p>
5371                        
5372    </p>
5373    <p>Where &lt;sampler-channel&gt; is the sampler channel number
5374                        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>
5375                        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
5376                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5377                        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>
5378                        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.
5379                      
5380    </p>
5381    <p>Possible Answers:
5382    </p>
5383    <p>
5384                            </p>
5385    <blockquote class="text">
5386    <p>The sampler will answer by sending a &lt;CRLF&gt; separated list.
5387                                Each answer line begins with the settings category name
5388                                followed by a colon and then a space character &lt;SP&gt; and finally
5389                                the info character string to that setting category. At the
5390                                moment the following categories are defined:
5391    </p>
5392    <p>
5393                                    </p>
5394    <blockquote class="text">
5395    <p>NAME -
5396                                            </p>
5397    <blockquote class="text">
5398    <p>name of the effect send entity
5399                                                (note that this character string may contain
5400                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
5401    </p>
5402    </blockquote>
5403                                        
5404    
5405    <p>MIDI_CONTROLLER -
5406                                            </p>
5407    <blockquote class="text">
5408    <p>a value between 0 and 127 reflecting the MIDI controller
5409                                                which is able to modify the effect send's send level
5410    </p>
5411    </blockquote>
5412                                        
5413    
5414    <p>LEVEL -
5415                                            </p>
5416    <blockquote class="text">
5417    <p>optionally dotted number reflecting the effect send's
5418                                                current send level (where a value &lt; 1.0 means attenuation
5419                                                and a value > 1.0 means amplification)
5420    </p>
5421    </blockquote>
5422                                        
5423    
5424    <p>AUDIO_OUTPUT_ROUTING -
5425                                            </p>
5426    <blockquote class="text">
5427    <p>comma separated list which reflects to which audio
5428                                                channel of the selected audio output device each
5429                                                effect send output channel is routed to, e.g. "0,3" would
5430                                                mean the effect send's output channel 0 is routed to channel
5431                                                0 of the audio output device and the effect send's output
5432                                                channel 1 is routed to the channel 3 of the audio
5433                                                output device (see
5434                                                <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>
5435                                                for details)
5436    </p>
5437    </blockquote>
5438                                        
5439    
5440    </blockquote>
5441                                
5442    
5443    </blockquote><p>
5444                        
5445    </p>
5446    <p>The mentioned fields above don't have to be in particular order.
5447    </p>
5448    <p>Example:
5449    </p>
5450    <p>
5451                            </p>
5452    <blockquote class="text">
5453    <p>C: "GET FX_SEND INFO 0 0"
5454    </p>
5455    <p>S: "NAME: Reverb Send"
5456    </p>
5457    <p>&nbsp;&nbsp;&nbsp;"MIDI_CONTROLLER: 91"
5458    </p>
5459    <p>&nbsp;&nbsp;&nbsp;"LEVEL: 0.3"
5460    </p>
5461    <p>&nbsp;&nbsp;&nbsp;"AUDIO_OUTPUT_ROUTING: 2,3"
5462    </p>
5463    <p>&nbsp;&nbsp;&nbsp;"."
5464    </p>
5465    </blockquote><p>
5466                        
5467    </p>
5468    <a name="SET FX_SEND NAME"></a><br /><hr />
5469    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5470    <a name="rfc.section.6.4.30"></a><h3>6.4.30.&nbsp;
5471    Changing effect send's name</h3>
5472    
5473    <p>The front-end can alter the current name of an effect
5474                        send entity by sending the following command:
5475    </p>
5476    <p>
5477                            </p>
5478    <blockquote class="text">
5479    <p>SET FX_SEND NAME &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;name&gt;
5480    </p>
5481    </blockquote><p>
5482                        
5483    </p>
5484    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5485                        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>
5486                        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,
5487                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5488                        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>
5489                        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
5490                        &lt;name&gt; is the new name of the effect send entity, which
5491                        does not have to be unique (name MUST be encapsulated into apostrophes
5492                        and supports escape sequences as described in chapter
5493                        "<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>").
5494                        
5495    </p>
5496    <p>Possible Answers:
5497    </p>
5498    <p>
5499                            </p>
5500    <blockquote class="text">
5501    <p>"OK" -
5502                                    </p>
5503    <blockquote class="text">
5504    <p>on success
5505    </p>
5506    </blockquote>
5507                                
5508    
5509    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5510                                    </p>
5511    <blockquote class="text">
5512    <p>in case it failed, providing an appropriate error code and error message
5513    </p>
5514    </blockquote>
5515                                
5516    
5517    </blockquote><p>
5518                        
5519    </p>
5520    <p>Example:
5521    </p>
5522    <p>
5523                            </p>
5524    <blockquote class="text">
5525    <p>C: "SET FX_SEND NAME 0 0 'Fx Send 1'"
5526    </p>
5527    <p>S: "OK"
5528    </p>
5529    </blockquote><p>
5530                        
5531    </p>
5532    <a name="SET FX_SEND AUDIO_OUTPUT_CHANNEL"></a><br /><hr />
5533    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5534    <a name="rfc.section.6.4.31"></a><h3>6.4.31.&nbsp;
5535    Altering effect send's audio routing</h3>
5536    
5537    <p>The front-end can alter the destination of an effect send's audio channel on a specific
5538                        sampler channel by sending the following command:
5539    </p>
5540    <p>
5541                            </p>
5542    <blockquote class="text">
5543    <p>SET FX_SEND AUDIO_OUTPUT_CHANNEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;audio-src&gt; &lt;audio-dst&gt;
5544    </p>
5545    </blockquote><p>
5546                        
5547    </p>
5548    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5549                        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>
5550                        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,
5551                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5552                        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>
5553                        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,
5554                        &lt;audio-src&gt; is the numerical ID of the effect send's audio channel
5555                        which should be rerouted and &lt;audio-dst&gt; is the numerical ID of
5556                        the audio channel of the selected audio output device where &lt;audio-src&gt;
5557                        should be routed to.
5558    </p>
5559    <p>Note that effect sends can only route audio to the same audio output
5560                        device as assigned to the effect send's sampler channel. Also note that an
5561                        effect send entity does always have exactly as much audio channels as its
5562                        sampler channel. So if the sampler channel is stereo, the effect send does
5563                        have two audio channels as well. Also keep in mind that the amount of audio
5564                        channels on a sampler channel might be dependant not only to the deployed
5565                        sampler engine on the sampler channel, but also dependant to the instrument
5566                        currently loaded. However you can (effectively) turn an i.e. stereo effect
5567                        send into a mono one by simply altering its audio routing appropriately.
5568    </p>
5569    <p>Possible Answers:
5570    </p>
5571    <p>
5572                            </p>
5573    <blockquote class="text">
5574    <p>"OK" -
5575                                    </p>
5576    <blockquote class="text">
5577    <p>on success
5578    </p>
5579    </blockquote>
5580                                
5581    
5582    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5583                                    </p>
5584    <blockquote class="text">
5585    <p>if audio output channel was set, but there are noteworthy
5586                                        issue(s) related, providing an appropriate warning code and
5587                                        warning message
5588    </p>
5589    </blockquote>
5590                                
5591    
5592    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5593                                    </p>
5594    <blockquote class="text">
5595    <p>in case it failed, providing an appropriate error code and error message
5596    </p>
5597    </blockquote>
5598                                
5599    
5600    </blockquote><p>
5601                        
5602    </p>
5603    <p>Example:
5604    </p>
5605    <p>
5606                            </p>
5607    <blockquote class="text">
5608    <p>C: "SET FX_SEND AUDIO_OUTPUT_CHANNEL 0 0 0 2"
5609    </p>
5610    <p>S: "OK"
5611    </p>
5612    </blockquote><p>
5613                        
5614    </p>
5615    <a name="SET FX_SEND MIDI_CONTROLLER"></a><br /><hr />
5616    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5617    <a name="rfc.section.6.4.32"></a><h3>6.4.32.&nbsp;
5618    Altering effect send's MIDI controller</h3>
5619    
5620    <p>The front-end can alter the MIDI controller of an effect
5621                        send entity by sending the following command:
5622    </p>
5623    <p>
5624                            </p>
5625    <blockquote class="text">
5626    <p>SET FX_SEND MIDI_CONTROLLER &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;midi-ctrl&gt;
5627    </p>
5628    </blockquote><p>
5629                        
5630    </p>
5631    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5632                        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>
5633                        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,
5634                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5635                        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>
5636                        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
5637                        &lt;midi-ctrl&gt; reflects the MIDI controller which shall be
5638                        able to modify the effect send's send level.
5639    </p>
5640    <p>Possible Answers:
5641    </p>
5642    <p>
5643                            </p>
5644    <blockquote class="text">
5645    <p>"OK" -
5646                                    </p>
5647    <blockquote class="text">
5648    <p>on success
5649    </p>
5650    </blockquote>
5651                                
5652    
5653    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5654                                    </p>
5655    <blockquote class="text">
5656    <p>if MIDI controller was set, but there are noteworthy
5657                                        issue(s) related, providing an appropriate warning code and
5658                                        warning message
5659    </p>
5660    </blockquote>
5661                                
5662    
5663    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5664                                    </p>
5665    <blockquote class="text">
5666    <p>in case it failed, providing an appropriate error code and error message
5667    </p>
5668    </blockquote>
5669                                
5670    
5671    </blockquote><p>
5672                        
5673    </p>
5674    <p>Example:
5675    </p>
5676    <p>
5677                            </p>
5678    <blockquote class="text">
5679    <p>C: "SET FX_SEND MIDI_CONTROLLER 0 0 91"
5680    </p>
5681    <p>S: "OK"
5682    </p>
5683    </blockquote><p>
5684                        
5685    </p>
5686    <a name="SET FX_SEND LEVEL"></a><br /><hr />
5687    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5688    <a name="rfc.section.6.4.33"></a><h3>6.4.33.&nbsp;
5689    Altering effect send's send level</h3>
5690    
5691    <p>The front-end can alter the current send level of an effect
5692                        send entity by sending the following command:
5693    </p>
5694    <p>
5695                            </p>
5696    <blockquote class="text">
5697    <p>SET FX_SEND LEVEL &lt;sampler-chan&gt; &lt;fx-send-id&gt; &lt;volume&gt;
5698    </p>
5699    </blockquote><p>
5700                        
5701    </p>
5702    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5703                        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>
5704                        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,
5705                        &lt;fx-send-id&gt; reflects the numerical ID of the effect send entity
5706                        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>
5707                        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
5708                        &lt;volume&gt; is an optionally dotted positive number (a value
5709                        smaller than 1.0 means attenuation, whereas a value greater than
5710                        1.0 means amplification) reflecting the new send level.
5711    </p>
5712    <p>Possible Answers:
5713    </p>
5714    <p>
5715                            </p>
5716    <blockquote class="text">
5717    <p>"OK" -
5718                                    </p>
5719    <blockquote class="text">
5720    <p>on success
5721    </p>
5722    </blockquote>
5723                                
5724    
5725    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
5726                                    </p>
5727    <blockquote class="text">
5728    <p>if new send level was set, but there are noteworthy
5729                                        issue(s) related, providing an appropriate warning code and
5730                                        warning message
5731    </p>
5732    </blockquote>
5733                                
5734    
5735    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5736                                    </p>
5737    <blockquote class="text">
5738    <p>in case it failed, providing an appropriate error code and error message
5739    </p>
5740    </blockquote>
5741                                
5742    
5743    </blockquote><p>
5744                        
5745    </p>
5746    <p>Example:
5747    </p>
5748    <p>
5749                            </p>
5750    <blockquote class="text">
5751    <p>C: "SET FX_SEND LEVEL 0 0 0.15"
5752    </p>
5753    <p>S: "OK"
5754    </p>
5755    </blockquote><p>
5756                        
5757    </p>
5758    <a name="SEND CHANNEL MIDI_DATA"></a><br /><hr />
5759    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5760    <a name="rfc.section.6.4.34"></a><h3>6.4.34.&nbsp;
5761    Sending MIDI messages to sampler channel</h3>
5762    
5763    <p>The front-end can send MIDI events to specific sampler channel
5764                        by sending the following command:
5765    </p>
5766    <p>
5767                            </p>
5768    <blockquote class="text">
5769    <p>SEND CHANNEL MIDI_DATA &lt;midi-msg&gt; &lt;sampler-chan&gt; &lt;arg1&gt; &lt;arg2&gt;
5770    </p>
5771    </blockquote><p>
5772                        
5773    </p>
5774    <p>Where &lt;sampler-chan&gt; is the sampler channel number
5775                        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>
5776                        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,
5777                        &lt;arg1&gt; and &lt;arg2&gt; arguments depend on the &lt;midi-msg&gt; argument, which
5778                        specifies the MIDI message type. Currently, the following MIDI messages are supported:
5779    </p>
5780    <p>
5781                            </p>
5782    <blockquote class="text">
5783    <p>"NOTE_ON" -
5784                                    </p>
5785    <blockquote class="text">
5786    <p>For turning on MIDI notes, where &lt;arg1&gt;
5787                                        specifies the key number and &lt;arg2&gt; the velocity
5788                                        as described in the MIDI specification.
5789    </p>
5790    </blockquote>
5791                                
5792    
5793    <p>"NOTE_OFF" -
5794                                    </p>
5795    <blockquote class="text">
5796    <p>For turning a currently playing MIDI note off, where &lt;arg1&gt;
5797                                        specifies the key number and &lt;arg2&gt; the velocity
5798                                        as described in the MIDI specification.
5799    </p>
5800    </blockquote>
5801                                
5802    
5803    </blockquote><p>
5804                        
5805    </p>
5806    <p>CAUTION: This command is provided for implementations of virtual MIDI keyboards
5807                        and no realtime guarantee whatsoever will be made!
5808    </p>
5809    <p>Possible Answers:
5810    </p>
5811    <p>
5812                            </p>
5813    <blockquote class="text">
5814    <p>"OK" -
5815                                    </p>
5816    <blockquote class="text">
5817    <p>on success
5818    </p>
5819    </blockquote>
5820                                
5821    
5822    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
5823                                    </p>
5824    <blockquote class="text">
5825    <p>in case it failed, providing an appropriate error code and error message
5826    </p>
5827    </blockquote>
5828                                
5829    
5830    </blockquote><p>
5831                        
5832    </p>
5833    <p>Example:
5834    </p>
5835    <p>
5836                            </p>
5837    <blockquote class="text">
5838    <p>C: "SEND CHANNEL MIDI_DATA NOTE_ON 0 56 112"
5839    </p>
5840    <p>S: "OK"
5841    </p>
5842    </blockquote><p>
5843                        
5844    </p>
5845  <a name="RESET CHANNEL"></a><br /><hr />  <a name="RESET CHANNEL"></a><br /><hr />
5846  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5847  <a name="rfc.section.6.4.24"></a><h3>6.4.24.&nbsp;Resetting a sampler channel</h3>  <a name="rfc.section.6.4.35"></a><h3>6.4.35.&nbsp;
5848    Resetting a sampler channel</h3>
5849    
5850  <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:
5851  </p>  </p>
# Line 4786  Intellectual Property and Copyright Stat Line 5909  Intellectual Property and Copyright Stat
5909                                            
5910  </p>  </p>
5911  <a name="anchor12"></a><br /><hr />  <a name="anchor12"></a><br /><hr />
5912  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5913  <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;
5914    Controlling connection</h3>
5915    
5916  <p>The following commands are used to control the connection to LinuxSampler.  <p>The following commands are used to control the connection to LinuxSampler.
5917  </p>  </p>
5918  <a name="SUBSCRIBE"></a><br /><hr />  <a name="SUBSCRIBE"></a><br /><hr />
5919  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5920  <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;
5921    Register front-end for receiving event messages</h3>
5922    
5923  <p>The front-end can register itself to the LinuxSampler application to  <p>The front-end can register itself to the LinuxSampler application to
5924                      be informed about noteworthy events by sending this command:                      be informed about noteworthy events by sending this command:
# Line 4855  Intellectual Property and Copyright Stat Line 5980  Intellectual Property and Copyright Stat
5980                                            
5981  </p>  </p>
5982  <a name="UNSUBSCRIBE"></a><br /><hr />  <a name="UNSUBSCRIBE"></a><br /><hr />
5983  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
5984  <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;
5985    Unregister front-end for not receiving event messages</h3>
5986    
5987  <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
5988                      messages anymore by sending the following command:                      messages anymore by sending the following command:
# Line 4918  Intellectual Property and Copyright Stat Line 6044  Intellectual Property and Copyright Stat
6044                                            
6045  </p>  </p>
6046  <a name="SET ECHO"></a><br /><hr />  <a name="SET ECHO"></a><br /><hr />
6047  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6048  <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;
6049    Enable or disable echo of commands</h3>
6050    
6051  <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:
6052  </p>  </p>
# Line 4974  Intellectual Property and Copyright Stat Line 6101  Intellectual Property and Copyright Stat
6101                                            
6102  </p>  </p>
6103  <a name="QUIT"></a><br /><hr />  <a name="QUIT"></a><br /><hr />
6104  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6105  <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;
6106    Close client connection</h3>
6107    
6108  <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:
6109  </p>  </p>
# Line 4991  Intellectual Property and Copyright Stat Line 6119  Intellectual Property and Copyright Stat
6119                      LinuxSampler than really useful for a front-end implementation.                      LinuxSampler than really useful for a front-end implementation.
6120  </p>  </p>
6121  <a name="anchor13"></a><br /><hr />  <a name="anchor13"></a><br /><hr />
6122  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6123  <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;
6124    Global commands</h3>
6125    
6126  <p>The following commands have global impact on the sampler.  <p>The following commands have global impact on the sampler.
6127  </p>  </p>
6128  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT"></a><br /><hr />
6129  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6130  <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;
6131    Current number of active voices</h3>
6132    
6133  <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
6134                      the sampler by sending the following command:                      the sampler by sending the following command:
# Line 5023  Intellectual Property and Copyright Stat Line 6153  Intellectual Property and Copyright Stat
6153                                            
6154  </p>  </p>
6155  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />  <a name="GET TOTAL_VOICE_COUNT_MAX"></a><br /><hr />
6156  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6157  <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;
6158    Maximum amount of active voices</h3>
6159    
6160  <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
6161                      by sending the following command:                      by sending the following command:
# Line 5048  Intellectual Property and Copyright Stat Line 6179  Intellectual Property and Copyright Stat
6179  </blockquote><p>  </blockquote><p>
6180                                            
6181  </p>  </p>
6182    <a name="GET TOTAL_STREAM_COUNT"></a><br /><hr />
6183    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6184    <a name="rfc.section.6.6.3"></a><h3>6.6.3.&nbsp;
6185    Current number of active disk streams</h3>
6186    
6187    <p>The front-end can ask for the current number of active disk streams on
6188                        the sampler by sending the following command:
6189    </p>
6190    <p>
6191                            </p>
6192    <blockquote class="text">
6193    <p>GET TOTAL_STREAM_COUNT
6194    </p>
6195    </blockquote><p>
6196                        
6197    </p>
6198    <p>Possible Answers:
6199    </p>
6200    <p>
6201                            </p>
6202    <blockquote class="text">
6203    <p>LinuxSampler will answer by returning the number of all active
6204                                disk streams on the sampler.
6205    </p>
6206    </blockquote><p>
6207                        
6208    </p>
6209  <a name="RESET"></a><br /><hr />  <a name="RESET"></a><br /><hr />
6210  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6211  <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;
6212    Reset sampler</h3>
6213    
6214  <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:
6215  </p>  </p>
# Line 5089  Intellectual Property and Copyright Stat Line 6248  Intellectual Property and Copyright Stat
6248                                            
6249  </p>  </p>
6250  <a name="GET SERVER INFO"></a><br /><hr />  <a name="GET SERVER INFO"></a><br /><hr />
6251  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6252  <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;
6253    General sampler informations</h3>
6254    
6255  <p>The client can ask for general informations about the LinuxSampler  <p>The client can ask for general informations about the LinuxSampler
6256                         instance by sending the following command:                         instance by sending the following command:
# Line 5122  Intellectual Property and Copyright Stat Line 6282  Intellectual Property and Copyright Stat
6282                                          </p>                                          </p>
6283  <blockquote class="text">  <blockquote class="text">
6284  <p>arbitrary textual description about the sampler  <p>arbitrary textual description about the sampler
6285                                                (note that the character string may contain
6286                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6287  </p>  </p>
6288  </blockquote>  </blockquote>
6289                                                                            
# Line 5138  Intellectual Property and Copyright Stat Line 6300  Intellectual Property and Copyright Stat
6300                                          </p>                                          </p>
6301  <blockquote class="text">  <blockquote class="text">
6302  <p>version of the LSCP specification the sampler  <p>version of the LSCP specification the sampler
6303                                              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)
6304    </p>
6305    </blockquote>
6306                                        
6307    
6308    <p>INSTRUMENTS_DB_SUPPORT -
6309                                            </p>
6310    <blockquote class="text">
6311    <p>either yes or no, specifies whether the
6312                                                sampler is build with instruments database support.
6313  </p>  </p>
6314  </blockquote>  </blockquote>
6315                                                                            
# Line 5152  Intellectual Property and Copyright Stat Line 6323  Intellectual Property and Copyright Stat
6323  <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.
6324                      Other fields might be added in future.                      Other fields might be added in future.
6325  </p>  </p>
6326  <a name="anchor14"></a><br /><hr />  <a name="GET VOLUME"></a><br /><hr />
6327  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6328  <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;MIDI Instrument Mapping</h3>  <a name="rfc.section.6.6.6"></a><h3>6.6.6.&nbsp;
6329    Getting global volume attenuation</h3>
6330    
6331    <p>The client can ask for the current global sampler-wide volume
6332                        attenuation by sending the following command:
6333    </p>
6334    <p>
6335                            </p>
6336    <blockquote class="text">
6337    <p>GET VOLUME
6338    </p>
6339    </blockquote><p>
6340                        
6341    </p>
6342    <p>Possible Answers:
6343    </p>
6344    <p>
6345                            </p>
6346    <blockquote class="text">
6347    <p>The sampler will always answer by returning the optional
6348                                dotted floating point coefficient, reflecting the current
6349                                global volume attenuation.
6350                                
6351    </p>
6352    </blockquote><p>
6353                        
6354    </p>
6355    <p>Note: it is up to the respective sampler engine whether to obey
6356                        that global volume parameter or not, but in general all engines SHOULD
6357                        use this parameter.
6358    </p>
6359    <a name="SET VOLUME"></a><br /><hr />
6360    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6361    <a name="rfc.section.6.6.7"></a><h3>6.6.7.&nbsp;
6362    Setting global volume attenuation</h3>
6363    
6364    <p>The client can alter the current global sampler-wide volume
6365                        attenuation by sending the following command:
6366    </p>
6367    <p>
6368                            </p>
6369    <blockquote class="text">
6370    <p>SET VOLUME &lt;volume&gt;
6371    </p>
6372    </blockquote><p>
6373                        
6374    </p>
6375    <p>Where &lt;volume&gt; should be replaced by the optional dotted
6376                       floating point value, reflecting the new global volume parameter.
6377                       This value might usually be in the range between 0.0 and 1.0, that
6378                       is for attenuating the overall volume.
6379    </p>
6380    <p>Possible Answers:
6381    </p>
6382    <p>
6383                            </p>
6384    <blockquote class="text">
6385    <p>"OK" -
6386                                    </p>
6387    <blockquote class="text">
6388    <p>on success
6389    </p>
6390    </blockquote>
6391                                
6392    
6393    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6394                                    </p>
6395    <blockquote class="text">
6396    <p>if the global volume was set, but there are noteworthy
6397                                        issue(s) related, providing an appropriate warning code and
6398                                        warning message
6399    </p>
6400    </blockquote>
6401                                
6402    
6403    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6404                                    </p>
6405    <blockquote class="text">
6406    <p>in case it failed, providing an appropriate error code and error message
6407    </p>
6408    </blockquote>
6409                                
6410    
6411    </blockquote><p>
6412                        
6413    </p>
6414    <a name="GET VOICES"></a><br /><hr />
6415    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6416    <a name="rfc.section.6.6.8"></a><h3>6.6.8.&nbsp;
6417    Getting global voice limit</h3>
6418    
6419    <p>The client can ask for the current global sampler-wide limit
6420                           for maximum voices by sending the following command:
6421    </p>
6422    <p>
6423                            </p>
6424    <blockquote class="text">
6425    <p>GET VOICES
6426    </p>
6427    </blockquote><p>
6428                        
6429    </p>
6430    <p>Possible Answers:
6431    </p>
6432    <p>
6433                            </p>
6434    <blockquote class="text">
6435    <p>LinuxSampler will answer by returning the number for
6436                                   the current limit of maximum voices.
6437    </p>
6438    </blockquote><p>
6439                        
6440    </p>
6441    <p>The voice limit setting defines how many voices should maximum
6442                           be processed by the sampler at the same time. If the user
6443                           triggers new notes which would exceed that voice limit, the
6444                           sampler engine will react by stealing old voices for those
6445                           newly triggered notes. Note that the amount of voices triggered
6446                           by a new note can be larger than one and is dependent to the
6447                           respective instrument and probably further criterias.
6448    </p>
6449    <a name="SET VOICES"></a><br /><hr />
6450    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6451    <a name="rfc.section.6.6.9"></a><h3>6.6.9.&nbsp;
6452    Setting global voice limit</h3>
6453    
6454    <p>The client can alter the current global sampler-wide limit
6455                        for maximum voices by sending the following command:
6456    </p>
6457    <p>
6458                            </p>
6459    <blockquote class="text">
6460    <p>SET VOICES &lt;max-voices&gt;
6461    </p>
6462    </blockquote><p>
6463                        
6464    </p>
6465    <p>Where &lt;max-voices&gt; should be replaced by the integer
6466                       value, reflecting the new global amount limit of maximum voices.
6467                       This value has to be larger than 0.
6468    </p>
6469    <p>Possible Answers:
6470    </p>
6471    <p>
6472                            </p>
6473    <blockquote class="text">
6474    <p>"OK" -
6475                                    </p>
6476    <blockquote class="text">
6477    <p>on success
6478    </p>
6479    </blockquote>
6480                                
6481    
6482    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6483                                    </p>
6484    <blockquote class="text">
6485    <p>if the voice limit was set, but there are noteworthy
6486                                        issue(s) related, providing an appropriate warning code and
6487                                        warning message
6488    </p>
6489    </blockquote>
6490                                
6491    
6492    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6493                                    </p>
6494    <blockquote class="text">
6495    <p>in case it failed, providing an appropriate error code and error message
6496    </p>
6497    </blockquote>
6498                                
6499    
6500    </blockquote><p>
6501                        
6502    </p>
6503    <p>Note: the given value will be passed to all sampler engine instances.
6504                           The total amount of maximum voices on the running system might thus
6505                           be as big as the given value multiplied by the current amount of engine
6506                           instances.
6507    </p>
6508    <p>Caution: when adjusting the voice limit, you SHOULD also
6509                            adjust the disk stream limit respectively and vice versa.
6510    </p>
6511    <a name="GET STREAMS"></a><br /><hr />
6512    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6513    <a name="rfc.section.6.6.10"></a><h3>6.6.10.&nbsp;
6514    Getting global disk stream limit</h3>
6515    
6516    <p>The client can ask for the current global sampler-wide limit
6517                           for maximum disk streams by sending the following command:
6518    </p>
6519    <p>
6520                            </p>
6521    <blockquote class="text">
6522    <p>GET STREAMS
6523    </p>
6524    </blockquote><p>
6525                        
6526    </p>
6527    <p>Possible Answers:
6528    </p>
6529    <p>
6530                            </p>
6531    <blockquote class="text">
6532    <p>LinuxSampler will answer by returning the number for
6533                                   the current limit of maximum disk streams.
6534    </p>
6535    </blockquote><p>
6536                        
6537    </p>
6538    <p>The disk stream limit setting defines how many disk streams should
6539                           maximum be processed by a sampler engine at the same time. The
6540                           higher this value, the more memory (RAM) will be occupied, since
6541                           every disk streams allocates a certain buffer size for being able
6542                           to perform its streaming operations.
6543    </p>
6544    <a name="SET STREAMS"></a><br /><hr />
6545    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6546    <a name="rfc.section.6.6.11"></a><h3>6.6.11.&nbsp;
6547    Setting global disk stream limit</h3>
6548    
6549    <p>The client can alter the current global sampler-wide limit
6550                        for maximum disk streams by sending the following command:
6551    </p>
6552    <p>
6553                            </p>
6554    <blockquote class="text">
6555    <p>SET STREAMS &lt;max-streams&gt;
6556    </p>
6557    </blockquote><p>
6558                        
6559    </p>
6560    <p>Where &lt;max-streams&gt; should be replaced by the integer
6561                       value, reflecting the new global amount limit of maximum disk streams.
6562                       This value has to be positive.
6563    </p>
6564    <p>Possible Answers:
6565    </p>
6566    <p>
6567                            </p>
6568    <blockquote class="text">
6569    <p>"OK" -
6570                                    </p>
6571    <blockquote class="text">
6572    <p>on success
6573    </p>
6574    </blockquote>
6575                                
6576    
6577    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
6578                                    </p>
6579    <blockquote class="text">
6580    <p>if the disk stream limit was set, but there are noteworthy
6581                                        issue(s) related, providing an appropriate warning code and
6582                                        warning message
6583    </p>
6584    </blockquote>
6585                                
6586    
6587    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6588                                    </p>
6589    <blockquote class="text">
6590    <p>in case it failed, providing an appropriate error code and error message
6591    </p>
6592    </blockquote>
6593                                
6594    
6595    </blockquote><p>
6596                        
6597    </p>
6598    <p>Note: the given value will be passed to all sampler engine instances.
6599                           The total amount of maximum disk streams on the running system might
6600                           thus be as big as the given value multiplied by the current amount of
6601                           engine instances.
6602    </p>
6603    <p>Caution: when adjusting the disk stream limit, you SHOULD also
6604                            adjust the voice limit respectively and vice versa.
6605    </p>
6606    <a name="MIDI Instrument Mapping"></a><br /><hr />
6607    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6608    <a name="rfc.section.6.7"></a><h3>6.7.&nbsp;
6609    MIDI Instrument Mapping</h3>
6610    
6611  <p>The MIDI protocol provides a way to switch between instruments  <p>The MIDI protocol provides a way to switch between instruments
6612                  by sending so called MIDI bank select and MIDI program change                  by sending so called MIDI bank select and MIDI program change
# Line 5162  Intellectual Property and Copyright Stat Line 6614  Intellectual Property and Copyright Stat
6614                  allow to actually map arbitrary MIDI bank select / program change                  allow to actually map arbitrary MIDI bank select / program change
6615                  numbers with real instruments.                  numbers with real instruments.
6616  </p>  </p>
6617  <p>By default, that is when the sampler is launched, this map will  <p>The sampler allows to manage an arbitrary amount of MIDI
6618                  be empty, thus the sampler will simply ignore all program change                  instrument maps which define which instrument to load on
6619                  messages. The front-end has to explicitly add entries to the map                  which MIDI program change message.
6620                  so the sampler knows how to react on a given program change  </p>
6621                  message, that is by switching to the respectively defined engine  <p>By default, that is when the sampler is launched, there is no
6622                  type and loading the respective instrument.                  map, thus the sampler will simply ignore all program change
6623                    messages. The front-end has to explicitly create at least one
6624                    map, add entries to the map and tell the respective sampler
6625                    channel(s) which MIDI instrument map to use, so the sampler
6626                    knows how to react on a given program change message on the
6627                    respective sampler channel, that is by switching to the
6628                    respectively defined engine type and loading the respective
6629                    instrument. See command
6630                    <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>
6631                    for how to assign a MIDI instrument map to a sampler channel.
6632  </p>  </p>
6633  <p>Also note per MIDI specification a bank select message does not  <p>Also note per MIDI specification a bank select message does not
6634                  cause to switch to another instrument. Instead when receiving a                  cause to switch to another instrument. Instead when receiving a
# Line 5176  Intellectual Property and Copyright Stat Line 6637  Intellectual Property and Copyright Stat
6637                  cause the sampler to switch to the respective instrument as                  cause the sampler to switch to the respective instrument as
6638                  reflected by the current MIDI instrument map.                  reflected by the current MIDI instrument map.
6639  </p>  </p>
6640    <a name="ADD MIDI_INSTRUMENT_MAP"></a><br /><hr />
6641    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6642    <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;
6643    Create a new MIDI instrument map</h3>
6644    
6645    <p>The front-end can add a new MIDI instrument map by sending
6646                        the following command:
6647    </p>
6648    <p>
6649                            </p>
6650    <blockquote class="text">
6651    <p>ADD MIDI_INSTRUMENT_MAP [&lt;name&gt;]
6652    </p>
6653    </blockquote><p>
6654                        
6655    </p>
6656    <p>Where &lt;name&gt; is an optional argument allowing to
6657                        assign a custom name to the new map. MIDI instrument Map
6658                        names do not have to be unique, but MUST be encapsulated
6659                        into apostrophes and support escape sequences as described
6660                        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>".
6661                        
6662    </p>
6663    <p>Possible Answers:
6664    </p>
6665    <p>
6666                            </p>
6667    <blockquote class="text">
6668    <p>"OK[&lt;map&gt;]" -
6669                                    </p>
6670    <blockquote class="text">
6671    <p>in case a new MIDI instrument map could
6672                                        be added, where &lt;map&gt; reflects the
6673                                        unique ID of the newly created MIDI
6674                                        instrument map
6675    </p>
6676    </blockquote>
6677                                
6678    
6679    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6680                                    </p>
6681    <blockquote class="text">
6682    <p>when a new map could not be created, which
6683                                        might never occur in practice
6684    </p>
6685    </blockquote>
6686                                
6687    
6688    </blockquote><p>
6689                        
6690    </p>
6691    <p>Examples:
6692    </p>
6693    <p>
6694                            </p>
6695    <blockquote class="text">
6696    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Map'"
6697    </p>
6698    <p>S: "OK[0]"
6699    </p>
6700    </blockquote><p>
6701                        
6702    </p>
6703    <p>
6704                            </p>
6705    <blockquote class="text">
6706    <p>C: "ADD MIDI_INSTRUMENT_MAP 'Standard Drumkit'"
6707    </p>
6708    <p>S: "OK[1]"
6709    </p>
6710    </blockquote><p>
6711                        
6712    </p>
6713    <p>
6714                            </p>
6715    <blockquote class="text">
6716    <p>C: "ADD MIDI_INSTRUMENT_MAP"
6717    </p>
6718    <p>S: "OK[5]"
6719    </p>
6720    </blockquote><p>
6721                        
6722    </p>
6723    <a name="REMOVE MIDI_INSTRUMENT_MAP"></a><br /><hr />
6724    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6725    <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;
6726    Delete one particular or all MIDI instrument maps</h3>
6727    
6728    <p>The front-end can delete a particular MIDI instrument map
6729                        by sending the following command:
6730    </p>
6731    <p>
6732                            </p>
6733    <blockquote class="text">
6734    <p>REMOVE MIDI_INSTRUMENT_MAP &lt;map&gt;
6735    </p>
6736    </blockquote><p>
6737                        
6738    </p>
6739    <p>Where &lt;map&gt; reflects the unique ID of the map to delete
6740                        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>
6741                        command.
6742    </p>
6743    <p>The front-end can delete all MIDI instrument maps by
6744                        sending the following command:
6745    </p>
6746    <p>
6747                            </p>
6748    <blockquote class="text">
6749    <p>REMOVE MIDI_INSTRUMENT_MAP ALL
6750    </p>
6751    </blockquote><p>
6752                        
6753    </p>
6754    <p>Possible Answers:
6755    </p>
6756    <p>
6757                            </p>
6758    <blockquote class="text">
6759    <p>"OK" -
6760                                    </p>
6761    <blockquote class="text">
6762    <p>in case the map(s) could be deleted
6763    </p>
6764    </blockquote>
6765                                
6766    
6767    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6768                                    </p>
6769    <blockquote class="text">
6770    <p>when the given map does not exist
6771    </p>
6772    </blockquote>
6773                                
6774    
6775    </blockquote><p>
6776                        
6777    </p>
6778    <p>Examples:
6779    </p>
6780    <p>
6781                            </p>
6782    <blockquote class="text">
6783    <p>C: "REMOVE MIDI_INSTRUMENT_MAP 0"
6784    </p>
6785    <p>S: "OK"
6786    </p>
6787    </blockquote><p>
6788                        
6789    </p>
6790    <p>
6791                            </p>
6792    <blockquote class="text">
6793    <p>C: "REMOVE MIDI_INSTRUMENT_MAP ALL"
6794    </p>
6795    <p>S: "OK"
6796    </p>
6797    </blockquote><p>
6798                        
6799    </p>
6800    <a name="GET MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6801    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6802    <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;
6803    Get amount of existing MIDI instrument maps</h3>
6804    
6805    <p>The front-end can retrieve the current amount of MIDI
6806                        instrument maps by sending the following command:
6807    </p>
6808    <p>
6809                            </p>
6810    <blockquote class="text">
6811    <p>GET MIDI_INSTRUMENT_MAPS
6812    </p>
6813    </blockquote><p>
6814                        
6815    </p>
6816    <p>Possible Answers:
6817    </p>
6818    <p>
6819                            </p>
6820    <blockquote class="text">
6821    <p>The sampler will answer by returning the current
6822                                number of MIDI instrument maps.
6823    </p>
6824    </blockquote><p>
6825                        
6826    </p>
6827    <p>Example:
6828    </p>
6829    <p>
6830                            </p>
6831    <blockquote class="text">
6832    <p>C: "GET MIDI_INSTRUMENT_MAPS"
6833    </p>
6834    <p>S: "2"
6835    </p>
6836    </blockquote><p>
6837                        
6838    </p>
6839    <a name="LIST MIDI_INSTRUMENT_MAPS"></a><br /><hr />
6840    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6841    <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;
6842    Getting all created MIDI instrument maps</h3>
6843    
6844    <p>The number of MIDI instrument maps can change on runtime. To get the
6845                        current list of MIDI instrument maps, the front-end can send the
6846                        following command:
6847    </p>
6848    <p>
6849                            </p>
6850    <blockquote class="text">
6851    <p>LIST MIDI_INSTRUMENT_MAPS
6852    </p>
6853    </blockquote><p>
6854                        
6855    </p>
6856    <p>Possible Answers:
6857    </p>
6858    <p>
6859                            </p>
6860    <blockquote class="text">
6861    <p>The sampler will answer by returning a comma separated list
6862                                with all MIDI instrument maps' numerical IDs.
6863    </p>
6864    </blockquote><p>
6865                        
6866    </p>
6867    <p>Example:
6868    </p>
6869    <p>
6870                            </p>
6871    <blockquote class="text">
6872    <p>C: "LIST MIDI_INSTRUMENT_MAPS"
6873    </p>
6874    <p>S: "0,1,5,12"
6875    </p>
6876    </blockquote><p>
6877                        
6878    </p>
6879    <a name="GET MIDI_INSTRUMENT_MAP INFO"></a><br /><hr />
6880    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6881    <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;
6882    Getting MIDI instrument map information</h3>
6883    
6884    <p>The front-end can ask for the current settings of a MIDI
6885                        instrument map by sending the following command:
6886    </p>
6887    <p>
6888                            </p>
6889    <blockquote class="text">
6890    <p>GET MIDI_INSTRUMENT_MAP INFO &lt;map&gt;
6891    </p>
6892    </blockquote><p>
6893                        
6894    </p>
6895    <p>Where &lt;map&gt; is the numerical ID of the map the
6896                        front-end is interested in as returned by the
6897                        <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>
6898                        command.
6899    </p>
6900    <p>Possible Answers:
6901    </p>
6902    <p>
6903                            </p>
6904    <blockquote class="text">
6905    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
6906                                Each answer line begins with the settings category name
6907                                followed by a colon and then a space character &lt;SP&gt; and finally
6908                                the info character string to that setting category. At the
6909                                moment the following categories are defined:
6910    </p>
6911    <p>
6912                                    </p>
6913    <blockquote class="text">
6914    <p>NAME -
6915                                            </p>
6916    <blockquote class="text">
6917    <p>custom name of the given map,
6918                                                which does not have to be unique
6919                                                (note that this character string may contain
6920                                                 <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
6921    </p>
6922    </blockquote>
6923                                        
6924    
6925    <p>DEFAULT -
6926                                            </p>
6927    <blockquote class="text">
6928    <p>either true or false,
6929                                                defines whether this map is the default map
6930    </p>
6931    </blockquote>
6932                                        
6933    
6934    </blockquote>
6935                                
6936    
6937    </blockquote><p>
6938                        
6939    </p>
6940    <p>The mentioned fields above don't have to be in particular order.
6941    </p>
6942    <p>Example:
6943    </p>
6944    <p>
6945                            </p>
6946    <blockquote class="text">
6947    <p>C: "GET MIDI_INSTRUMENT_MAP INFO 0"
6948    </p>
6949    <p>S: "NAME: Standard Map"
6950    </p>
6951    <p>&nbsp;&nbsp;&nbsp;"DEFAULT: true"
6952    </p>
6953    <p>&nbsp;&nbsp;&nbsp;"."
6954    </p>
6955    </blockquote><p>
6956                        
6957    </p>
6958    <a name="SET MIDI_INSTRUMENT_MAP NAME"></a><br /><hr />
6959    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
6960    <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;
6961    Renaming a MIDI instrument map</h3>
6962    
6963    <p>The front-end can alter the custom name of a MIDI
6964                        instrument map by sending the following command:
6965    </p>
6966    <p>
6967                            </p>
6968    <blockquote class="text">
6969    <p>SET MIDI_INSTRUMENT_MAP NAME &lt;map&gt; &lt;name&gt;
6970    </p>
6971    </blockquote><p>
6972                        
6973    </p>
6974    <p>Where &lt;map&gt; is the numerical ID of the map and
6975                        &lt;name&gt; the new custom name of the map, which does not
6976                        have to be unique (name MUST be encapsulated into apostrophes
6977                        and supports escape sequences as described in chapter
6978                        "<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>").
6979                        
6980    </p>
6981    <p>Possible Answers:
6982    </p>
6983    <p>
6984                            </p>
6985    <blockquote class="text">
6986    <p>"OK" -
6987                                    </p>
6988    <blockquote class="text">
6989    <p>on success
6990    </p>
6991    </blockquote>
6992                                
6993    
6994    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
6995                                    </p>
6996    <blockquote class="text">
6997    <p>in case the given map does not exist
6998    </p>
6999    </blockquote>
7000                                
7001    
7002    </blockquote><p>
7003                        
7004    </p>
7005    <p>Example:
7006    </p>
7007    <p>
7008                            </p>
7009    <blockquote class="text">
7010    <p>C: "SET MIDI_INSTRUMENT_MAP NAME 0 'Foo instruments'"
7011    </p>
7012    <p>S: "OK"
7013    </p>
7014    </blockquote><p>
7015                        
7016    </p>
7017  <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />  <a name="MAP MIDI_INSTRUMENT"></a><br /><hr />
7018  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7019  <a name="rfc.section.6.7.1"></a><h3>6.7.1.&nbsp;Create or replace a MIDI instrument map entry</h3>  <a name="rfc.section.6.7.7"></a><h3>6.7.7.&nbsp;
7020    Create or replace a MIDI instrument map entry</h3>
7021    
7022  <p>The front-end can create a new or replace an existing entry  <p>The front-end can create a new or replace an existing entry
7023                      in the sampler's MIDI instrument map by sending the following                      in a sampler's MIDI instrument map by sending the following
7024                      command:                      command:
7025  </p>  </p>
7026  <p>  <p>
7027                          </p>                          </p>
7028  <blockquote class="text">  <blockquote class="text">
7029  <p>MAP MIDI_INSTRUMENT &lt;midi_bank_msb&gt;  <p>MAP MIDI_INSTRUMENT [NON_MODAL] &lt;map&gt;
7030                              &lt;midi_bank_lsb&gt; &lt;midi_prog&gt; &lt;engine_name&gt;                              &lt;midi_bank&gt; &lt;midi_prog&gt; &lt;engine_name&gt;
7031                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;                              &lt;filename&gt; &lt;instrument_index&gt; &lt;volume_value&gt;
7032                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]                              [&lt;instr_load_mode&gt;] [&lt;name&gt;]
7033  </p>  </p>
7034  </blockquote><p>  </blockquote><p>
7035                                            
7036  </p>  </p>
7037  <p>Where &lt;midi_bank_msb&gt; is an integer value between  <p>Where &lt;map&gt; is the numeric ID of the map to alter,
7038                      0..127 reflecting the MIDI bank select MSB (coarse) index,                      &lt;midi_bank&gt; is an integer value between
7039                      &lt;midi_bank_lsb&gt; an integer value between 0..127 reflecting                      0..16383 reflecting the MIDI bank select index,
7040                      the MIDI bank select LSB (fine) index, &lt;midi_prog&gt; an                      &lt;midi_prog&gt; an
7041                      integer value between 0..127 reflecting the MIDI program change                      integer value between 0..127 reflecting the MIDI program change
7042                      index, &lt;engine_name&gt; a sampler engine name as returned by                      index, &lt;engine_name&gt; a sampler engine name as returned by
7043                      the <a class="info" href="#LIST AVAILABLE_ENGINES">"LIST AVAILABLE_ENGINES"<span> (</span><span class="info">Getting all available engines</span><span>)</span></a>                      the <a class='info' href='#LIST AVAILABLE_ENGINES'>"LIST AVAILABLE_ENGINES"<span> (</span><span class='info'>Getting all available engines</span><span>)</span></a>
7044                      command (not encapsulated into apostrophes), &lt;filename&gt; the name                      command (not encapsulated into apostrophes), &lt;filename&gt; the name
7045                      of the instrument's file to be deployed (encapsulated into apostrophes), &lt;instrument_index&gt; the index (integer value) of the instrument                      of the instrument's file to be deployed (encapsulated into apostrophes,
7046                        supporting escape sequences as described in chapter
7047                        "<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>"),
7048                        &lt;instrument_index&gt; the index (integer value) of the instrument
7049                      within the given file, &lt;volume_value&gt; reflects the master                      within the given file, &lt;volume_value&gt; reflects the master
7050                      volume of the instrument as optionally dotted number (where a                      volume of the instrument as optionally dotted number (where a
7051                      value < 1.0 means attenuation and a value > 1.0 means                      value &lt; 1.0 means attenuation and a value > 1.0 means
7052                      amplification). This parameter easily allows to adjust the                      amplification). This parameter easily allows to adjust the
7053                      volume of all intruments within a custom instrument map                      volume of all intruments within a custom instrument map
7054                      without having to adjust their instrument files. The                      without having to adjust their instrument files. The
# Line 5250  Intellectual Property and Copyright Stat Line 7092  Intellectual Property and Copyright Stat
7092                                  </p>                                  </p>
7093  <blockquote class="text">  <blockquote class="text">
7094  <p>The instrument will immediately be loaded  <p>The instrument will immediately be loaded
7095                                      into memory in the background when this mapping                                      into memory when this mapping
7096                                      command is sent and the instrument is kept all                                      command is sent and the instrument is kept all
7097                                      the time. Instruments with this mode are                                      the time. Instruments with this mode are
7098                                      only freed when the sampler is reset or all                                      only freed when the sampler is reset or all
# Line 5298  Intellectual Property and Copyright Stat Line 7140  Intellectual Property and Copyright Stat
7140                      individually. Due to this, in case the frontend shows the                      individually. Due to this, in case the frontend shows the
7141                      load modes of entries, the frontend should retrieve the actual                      load modes of entries, the frontend should retrieve the actual
7142                      mode by i.e. sending                      mode by i.e. sending
7143                      <a class="info" href="#GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"<span> (</span><span class="info">Get current settings of MIDI instrument map entry</span><span>)</span></a>                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
7144                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to                      command(s). Finally the OPTIONAL &lt;name&gt; argument allows to set a custom name
7145                      set a custom name (encapsulated into apostrophes) for the mapping                      (encapsulated into apostrophes, supporting escape sequences as described in chapter
7146                      entry, useful for frontends for displaying an appropriate name for                      "<a class='info' href='#character_set'>Character Set and Escape Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") for the
7147                        mapping entry, useful for frontends for displaying an appropriate name for
7148                      mapped instruments (using                      mapped instruments (using
7149                      <a class="info" href="#GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"<span> (</span><span class="info">Get current settings of MIDI instrument map entry</span><span>)</span></a>).                      <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>).
7150                                            
7151  </p>  </p>
7152  <p>  <p>
7153                      The "MAP MIDI_INSTRUMENT" command                      By default, "MAP MIDI_INSTRUMENT" commands block until the mapping is
7154                      will immediately return, thus it will not block when an                      completely established in the sampler. The OPTIONAL "NON_MODAL" argument
7155                      instrument is to be loaded due to a "PERSISTENT" type                      however causes the respective "MAP MIDI_INSTRUMENT" command to return
7156                      entry as instruments are loaded in the background. As a                      immediately, that is to let the sampler establish the mapping in the
7157                      consequence this command may not necessarily return an error                      background. So this argument might be especially useful for mappings with
7158                      i.e. when the given instrument file does not exist or may                      a "PERSISTENT" type, because these have to load the respective instruments
7159                      turn out to be corrupt.                      immediately and might thus block for a very long time. It is recommended
7160                        however to use the OPTIONAL "NON_MODAL" argument only if really necessary,
7161                        because it has the following drawbacks: as "NON_MODAL" instructions return
7162                        immediately, they may not necessarily return an error i.e. when the given
7163                        instrument file turns out to be corrupt, beside that subsequent commands
7164                        in a LSCP instruction sequence might fail, because mandatory mappings are
7165                        not yet completed.
7166                                            
7167  </p>  </p>
7168  <p>Possible Answers:  <p>Possible Answers:
# Line 5332  Intellectual Property and Copyright Stat Line 7181  Intellectual Property and Copyright Stat
7181  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -  <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7182                                  </p>                                  </p>
7183  <blockquote class="text">  <blockquote class="text">
7184  <p>when the given engine does not exist or a value  <p>when the given map or engine does not exist or a value
7185                                      is out of range                                      is out of range
7186  </p>  </p>
7187  </blockquote>  </blockquote>
# Line 5346  Intellectual Property and Copyright Stat Line 7195  Intellectual Property and Copyright Stat
7195  <p>  <p>
7196                          </p>                          </p>
7197  <blockquote class="text">  <blockquote class="text">
7198  <p>C: "MAP MIDI_INSTRUMENT 3 0 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"  <p>C: "MAP MIDI_INSTRUMENT 0 3 0 gig '/usr/share/Steinway D.gig' 0 0.8 PERSISTENT"
7199  </p>  </p>
7200  <p>S: "OK"  <p>S: "OK"
7201  </p>  </p>
# Line 5356  Intellectual Property and Copyright Stat Line 7205  Intellectual Property and Copyright Stat
7205  <p>  <p>
7206                          </p>                          </p>
7207  <blockquote class="text">  <blockquote class="text">
7208  <p>C: "MAP MIDI_INSTRUMENT 127 4 50 gig '/home/john/foostrings.gig' 7 1.0"  <p>C: "MAP MIDI_INSTRUMENT 0 4 50 gig '/home/john/foostrings.gig' 7 1.0"
7209  </p>  </p>
7210  <p>S: "OK"  <p>S: "OK"
7211  </p>  </p>
# Line 5370  Intellectual Property and Copyright Stat Line 7219  Intellectual Property and Copyright Stat
7219  </p>  </p>
7220  <p>S: "OK"  <p>S: "OK"
7221  </p>  </p>
7222  <p>C: "MAP MIDI_INSTRUMENT 1 0 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"  <p>C: "MAP MIDI_INSTRUMENT 0 1 0 gig '/usr/share/piano.gig' 0 0.25 'Silent Piano'"
7223  </p>  </p>
7224  <p>S: "OK"  <p>S: "OK"
7225  </p>  </p>
# Line 5380  Intellectual Property and Copyright Stat Line 7229  Intellectual Property and Copyright Stat
7229  <p>  <p>
7230                          </p>                          </p>
7231  <blockquote class="text">  <blockquote class="text">
7232  <p>C: "MAP MIDI_INSTRUMENT 99 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"  <p>C: "MAP MIDI_INSTRUMENT NON_MODAL 1 8 120 gig '/home/joe/foodrums.gig' 0 1.0 PERSISTENT 'Foo Drumkit'"
7233  </p>  </p>
7234  <p>S: "OK"  <p>S: "OK"
7235  </p>  </p>
# Line 5388  Intellectual Property and Copyright Stat Line 7237  Intellectual Property and Copyright Stat
7237                                            
7238  </p>  </p>
7239  <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />  <a name="GET MIDI_INSTRUMENTS"></a><br /><hr />
7240  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7241  <a name="rfc.section.6.7.2"></a><h3>6.7.2.&nbsp;Getting ammount of MIDI instrument map entries</h3>  <a name="rfc.section.6.7.8"></a><h3>6.7.8.&nbsp;
7242    Getting ammount of MIDI instrument map entries</h3>
7243    
7244  <p>The front-end can query the amount of currently existing MIDI  <p>The front-end can query the amount of currently existing
7245                      instrument map entries by sending the following                      entries in a MIDI instrument map by sending the following
7246                      command:                      command:
7247  </p>  </p>
7248  <p>  <p>
7249                          </p>                          </p>
7250  <blockquote class="text">  <blockquote class="text">
7251  <p>GET MIDI_INSTRUMENTS  <p>GET MIDI_INSTRUMENTS &lt;map&gt;
7252    </p>
7253    </blockquote><p>
7254                        
7255    </p>
7256    <p>The front-end can query the amount of currently existing
7257                        entries in all MIDI instrument maps by sending the following
7258                        command:
7259    </p>
7260    <p>
7261                            </p>
7262    <blockquote class="text">
7263    <p>GET MIDI_INSTRUMENTS ALL
7264  </p>  </p>
7265  </blockquote><p>  </blockquote><p>
7266                                            
# Line 5408  Intellectual Property and Copyright Stat Line 7270  Intellectual Property and Copyright Stat
7270  <p>  <p>
7271                          </p>                          </p>
7272  <blockquote class="text">  <blockquote class="text">
7273  <p>LinuxSampler will answer by sending the current number of  <p>The sampler will answer by sending the current number of
7274                              entries in the sampler's MIDI instrument map.                              entries in the MIDI instrument map(s).
7275  </p>  </p>
7276  </blockquote><p>  </blockquote><p>
7277                                            
# Line 5419  Intellectual Property and Copyright Stat Line 7281  Intellectual Property and Copyright Stat
7281  <p>  <p>
7282                          </p>                          </p>
7283  <blockquote class="text">  <blockquote class="text">
7284  <p>C: "GET MIDI_INSTRUMENTS"  <p>C: "GET MIDI_INSTRUMENTS 0"
7285    </p>
7286    <p>S: "234"
7287    </p>
7288    </blockquote><p>
7289                        
7290    </p>
7291    <p>
7292                            </p>
7293    <blockquote class="text">
7294    <p>C: "GET MIDI_INSTRUMENTS ALL"
7295  </p>  </p>
7296  <p>S: "634"  <p>S: "954"
7297  </p>  </p>
7298  </blockquote><p>  </blockquote><p>
7299                                            
7300  </p>  </p>
7301  <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />  <a name="LIST MIDI_INSTRUMENTS"></a><br /><hr />
7302  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7303  <a name="rfc.section.6.7.3"></a><h3>6.7.3.&nbsp;Getting indeces of all MIDI instrument map entries</h3>  <a name="rfc.section.6.7.9"></a><h3>6.7.9.&nbsp;
7304    Getting indeces of all entries of a MIDI instrument map</h3>
7305    
7306  <p>The front-end can query a list of all currently existing MIDI  <p>The front-end can query a list of all currently existing
7307                      instrument map entries by sending the following command:                      entries in a certain MIDI instrument map by sending the following
7308                        command:
7309    </p>
7310    <p>
7311                            </p>
7312    <blockquote class="text">
7313    <p>LIST MIDI_INSTRUMENTS &lt;map&gt;
7314    </p>
7315    </blockquote><p>
7316                        
7317    </p>
7318    <p>Where &lt;map&gt; is the numeric ID of the MIDI instrument map.
7319    </p>
7320    <p>The front-end can query a list of all currently existing
7321                        entries of all MIDI instrument maps by sending the following
7322                        command:
7323  </p>  </p>
7324  <p>  <p>
7325                          </p>                          </p>
7326  <blockquote class="text">  <blockquote class="text">
7327  <p>LIST MIDI_INSTRUMENTS  <p>LIST MIDI_INSTRUMENTS ALL
7328  </p>  </p>
7329  </blockquote><p>  </blockquote><p>
7330                                            
# Line 5446  Intellectual Property and Copyright Stat Line 7334  Intellectual Property and Copyright Stat
7334  <p>  <p>
7335                          </p>                          </p>
7336  <blockquote class="text">  <blockquote class="text">
7337  <p>LinuxSampler will answer by sending a comma separated  <p>The sampler will answer by sending a comma separated
7338                              list of MIDI bank MSB (coarse) - MIDI bank LSB (fine) -                              list of map ID - MIDI bank - MIDI program triples, where
7339                              MIDI program triples, where each triple is encapsulated                              each triple is encapsulated into curly braces. The
7340                              into curly braces. The list is returned in one single                              list is returned in one single line. Each triple
7341                              line. Each triple just reflects the key of the respective                              just reflects the key of the respective map entry,
7342                              map entry, thus subsequent                              thus subsequent
7343                              <a class="info" href="#GET MIDI_INSTRUMENT INFO">"GET MIDI_INSTRUMENT INFO"<span> (</span><span class="info">Get current settings of MIDI instrument map entry</span><span>)</span></a>                              <a class='info' href='#GET MIDI_INSTRUMENT INFO'>"GET MIDI_INSTRUMENT INFO"<span> (</span><span class='info'>Get current settings of MIDI instrument map entry</span><span>)</span></a>
7344                              command(s) are necessary to retrieve detailed informations                              command(s) are necessary to retrieve detailed informations
7345                              about each entry.                              about each entry.
7346  </p>  </p>
# Line 5464  Intellectual Property and Copyright Stat Line 7352  Intellectual Property and Copyright Stat
7352  <p>  <p>
7353                          </p>                          </p>
7354  <blockquote class="text">  <blockquote class="text">
7355  <p>C: "LIST MIDI_INSTRUMENTS"  <p>C: "LIST MIDI_INSTRUMENTS 0"
7356  </p>  </p>
7357  <p>S: "{0,0,0},{0,0,1},{120,0,3},{120,0,4},{23,127,127}"  <p>S: "{0,0,0},{0,0,1},{0,0,3},{0,1,4},{1,127,127}"
7358  </p>  </p>
7359  </blockquote><p>  </blockquote><p>
7360                                            
7361  </p>  </p>
7362  <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />  <a name="UNMAP MIDI_INSTRUMENT"></a><br /><hr />
7363  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7364  <a name="rfc.section.6.7.4"></a><h3>6.7.4.&nbsp;Remove an entry from the MIDI instrument map</h3>  <a name="rfc.section.6.7.10"></a><h3>6.7.10.&nbsp;
7365    Remove an entry from the MIDI instrument map</h3>
7366    
7367  <p>The front-end can delete an entry from the MIDI instrument  <p>The front-end can delete an entry from a MIDI instrument
7368                      map by sending the following command:                      map by sending the following command:
7369  </p>  </p>
7370  <p>  <p>
7371                          </p>                          </p>
7372  <blockquote class="text">  <blockquote class="text">
7373  <p>UNMAP MIDI_INSTRUMENT &lt;midi_bank_msb&gt; &lt;midi_bank_lsb&gt; &lt;midi_prog&gt;  <p>UNMAP MIDI_INSTRUMENT &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7374  </p>  </p>
7375  </blockquote><p>  </blockquote><p>
7376                                            
7377  </p>  </p>
7378  <p>  <p>
7379                      Where &lt;midi_bank_msb&gt; is an integer value between 0..127                      Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7380                      reflecting the MIDI bank MSB (coarse) value, &lt;midi_bank_lsb&gt;                      &lt;midi_bank&gt; is an integer value between 0..16383
7381                      an integer value between 0..127 reflecting the MIDI bank LSB                      reflecting the MIDI bank value and
7382                      (fine) value and &lt;midi_prog&gt; an integer value between                      &lt;midi_prog&gt; an integer value between
7383                      0..127 reflecting the MIDI program value of the map entrie's key                      0..127 reflecting the MIDI program value of the map's entrie's key
7384                      index triple.                      index triple.
7385                                            
7386  </p>  </p>
# Line 5524  Intellectual Property and Copyright Stat Line 7413  Intellectual Property and Copyright Stat
7413  <p>  <p>
7414                          </p>                          </p>
7415  <blockquote class="text">  <blockquote class="text">
7416  <p>C: "UNMAP MIDI_INSTRUMENT 2 40 127"  <p>C: "UNMAP MIDI_INSTRUMENT 0 2 127"
7417  </p>  </p>
7418  <p>S: "OK"  <p>S: "OK"
7419  </p>  </p>
# Line 5532  Intellectual Property and Copyright Stat Line 7421  Intellectual Property and Copyright Stat
7421                                            
7422  </p>  </p>
7423  <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />  <a name="GET MIDI_INSTRUMENT INFO"></a><br /><hr />
7424  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7425  <a name="rfc.section.6.7.5"></a><h3>6.7.5.&nbsp;Get current settings of MIDI instrument map entry</h3>  <a name="rfc.section.6.7.11"></a><h3>6.7.11.&nbsp;
7426    Get current settings of MIDI instrument map entry</h3>
7427    
7428  <p>The front-end can retrieve the current settings of a certain  <p>The front-end can retrieve the current settings of a certain
7429                      instrument map entry by sending the following command:                      instrument map entry by sending the following command:
# Line 5541  Intellectual Property and Copyright Stat Line 7431  Intellectual Property and Copyright Stat
7431  <p>  <p>
7432                          </p>                          </p>
7433  <blockquote class="text">  <blockquote class="text">
7434  <p>GET MIDI_INSTRUMENT INFO &lt;midi_bank_msb&gt; &lt;midi_bank_lsb&gt; &lt;midi_prog&gt;  <p>GET MIDI_INSTRUMENT INFO &lt;map&gt; &lt;midi_bank&gt; &lt;midi_prog&gt;
7435  </p>  </p>
7436  </blockquote><p>  </blockquote><p>
7437                                            
7438  </p>  </p>
7439  <p>  <p>
7440                      Where &lt;midi_bank_msb&gt; is an integer value between 0..127                      Where &lt;map&gt; is the numeric ID of the MIDI instrument map,
7441                      reflecting the MIDI bank MSB (coarse) value, &lt;midi_bank_lsb&gt;                      &lt;midi_bank&gt; is an integer value between 0..16383
7442                      an integer value between 0..127 reflecting the MIDI bank LSB                      reflecting the MIDI bank value, &lt;midi_bank&gt;
7443                      (fine) value and &lt;midi_prog&gt; an integer value between                      and &lt;midi_prog&gt; an integer value between
7444                      0..127 reflecting the MIDI program value of the map entrie's key                      0..127 reflecting the MIDI program value of the map's entrie's key
7445                      index triple.                      index triple.
7446                                            
7447  </p>  </p>
# Line 5574  Intellectual Property and Copyright Stat Line 7464  Intellectual Property and Copyright Stat
7464                                      This name shall be used by frontends for displaying a                                      This name shall be used by frontends for displaying a
7465                                      name for this mapped instrument. It can be set and                                      name for this mapped instrument. It can be set and
7466                                      changed with the                                      changed with the
7467                                      <a class="info" href="#MAP MIDI_INSTRUMENT">"MAP MIDI_INSTRUMENT"<span> (</span><span class="info">Create or replace a MIDI instrument map entry</span><span>)</span></a>                                      <a class='info' href='#MAP MIDI_INSTRUMENT'>"MAP MIDI_INSTRUMENT"<span> (</span><span class='info'>Create or replace a MIDI instrument map entry</span><span>)</span></a>
7468                                      command and does not have to be unique.                                      command and does not have to be unique.
7469                                        (note that this character string may contain
7470                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>)
7471  </p>  </p>
7472  </blockquote>  </blockquote>
7473                                                            
# Line 5592  Intellectual Property and Copyright Stat Line 7484  Intellectual Property and Copyright Stat
7484  <p>"INSTRUMENT_FILE" -  <p>"INSTRUMENT_FILE" -
7485                                  </p>                                  </p>
7486  <blockquote class="text">  <blockquote class="text">
7487  <p>File name of the instrument.  <p>File name of the instrument
7488                                        (note that this path may contain
7489                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7490  </p>  </p>
7491  </blockquote>  </blockquote>
7492                                                            
# Line 5610  Intellectual Property and Copyright Stat Line 7504  Intellectual Property and Copyright Stat
7504  <blockquote class="text">  <blockquote class="text">
7505  <p>Name of the loaded instrument as reflected by its file.  <p>Name of the loaded instrument as reflected by its file.
7506                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field                                      In contrast to the "NAME" field, the "INSTRUMENT_NAME" field
7507                                      cannot be changed.                                      cannot be changed (note that this character string may contain
7508                                        <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>).
7509  </p>  </p>
7510  </blockquote>  </blockquote>
7511                                                            
# Line 5619  Intellectual Property and Copyright Stat Line 7514  Intellectual Property and Copyright Stat
7514                                  </p>                                  </p>
7515  <blockquote class="text">  <blockquote class="text">
7516  <p>Life time of instrument  <p>Life time of instrument
7517                                      (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).                                      (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).
7518  </p>  </p>
7519  </blockquote>  </blockquote>
7520                                                            
# Line 5628  Intellectual Property and Copyright Stat Line 7523  Intellectual Property and Copyright Stat
7523                                  </p>                                  </p>
7524  <blockquote class="text">  <blockquote class="text">
7525  <p>master volume of the instrument as optionally  <p>master volume of the instrument as optionally
7526                                      dotted number (where a value < 1.0 means attenuation                                      dotted number (where a value &lt; 1.0 means attenuation
7527                                      and a value > 1.0 means amplification)                                      and a value > 1.0 means amplification)
7528  </p>  </p>
7529  </blockquote>  </blockquote>
# Line 5644  Intellectual Property and Copyright Stat Line 7539  Intellectual Property and Copyright Stat
7539  <p>  <p>
7540                          </p>                          </p>
7541  <blockquote class="text">  <blockquote class="text">
7542  <p>C: "GET MIDI_INSTRUMENT INFO 3 45 120"  <p>C: "GET MIDI_INSTRUMENT INFO 1 45 120"
7543  </p>  </p>
7544  <p>S: "NAME: Drums for Foo Song"  <p>S: "NAME: Drums for Foo Song"
7545  </p>  </p>
# Line 5666  Intellectual Property and Copyright Stat Line 7561  Intellectual Property and Copyright Stat
7561                                            
7562  </p>  </p>
7563  <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />  <a name="CLEAR MIDI_INSTRUMENTS"></a><br /><hr />
7564  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7565  <a name="rfc.section.6.7.6"></a><h3>6.7.6.&nbsp;Clear MIDI instrument map</h3>  <a name="rfc.section.6.7.12"></a><h3>6.7.12.&nbsp;
7566    Clear MIDI instrument map</h3>
7567    
7568  <p>The front-end can clear the whole MIDI instrument map, that  <p>The front-end can clear a whole MIDI instrument map, that
7569                      is delete all entries by sending the following command:                      is delete all its entries by sending the following command:
7570  </p>  </p>
7571  <p>  <p>
7572                          </p>                          </p>
7573  <blockquote class="text">  <blockquote class="text">
7574  <p>CLEAR MIDI_INSTRUMENTS  <p>CLEAR MIDI_INSTRUMENTS &lt;map&gt;
7575  </p>  </p>
7576  </blockquote><p>  </blockquote><p>
7577                                            
7578  </p>  </p>
7579    <p>Where &lt;map&gt; is the numeric ID of the map to clear.
7580    </p>
7581    <p>The front-end can clear all MIDI instrument maps, that
7582                        is delete all entries of all maps by sending the following
7583                        command:
7584    </p>
7585    <p>
7586                            </p>
7587    <blockquote class="text">
7588    <p>CLEAR MIDI_INSTRUMENTS ALL
7589    </p>
7590    </blockquote><p>
7591                        
7592    </p>
7593    <p>The command "CLEAR MIDI_INSTRUMENTS ALL" does not delete the
7594                        maps, only their entries, thus the map's settings like
7595                        custom name will be preservevd.
7596    </p>
7597  <p>Possible Answers:  <p>Possible Answers:
7598  </p>  </p>
7599  <p>  <p>
# Line 5696  Intellectual Property and Copyright Stat Line 7610  Intellectual Property and Copyright Stat
7610  </blockquote><p>  </blockquote><p>
7611                                            
7612  </p>  </p>
7613  <p>Example:  <p>Examples:
7614  </p>  </p>
7615  <p>  <p>
7616                         </p>                         </p>
7617  <blockquote class="text">  <blockquote class="text">
7618  <p>C: "CLEAR MIDI_INSTRUMENTS"  <p>C: "CLEAR MIDI_INSTRUMENTS 0"
7619    </p>
7620    <p>S: "OK"
7621    </p>
7622    </blockquote><p>
7623                        
7624    </p>
7625    <p>
7626                           </p>
7627    <blockquote class="text">
7628    <p>C: "CLEAR MIDI_INSTRUMENTS ALL"
7629    </p>
7630    <p>S: "OK"
7631    </p>
7632    </blockquote><p>
7633                        
7634    </p>
7635    <a name="Managing Instruments Database"></a><br /><hr />
7636    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7637    <a name="rfc.section.6.8"></a><h3>6.8.&nbsp;
7638    Managing Instruments Database</h3>
7639    
7640    <p>The following commands describe how to use and manage
7641                    the instruments database.
7642    </p>
7643    <p>Notice:
7644    </p>
7645    <p>
7646                            </p>
7647    <blockquote class="text">
7648    <p>All command arguments representing a path or
7649                                instrument/directory name support escape sequences as described in chapter
7650                                "<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>".
7651                                
7652    </p>
7653    <p>All occurrences of a forward slash in instrument and directory
7654                                   names are escaped with its hex (\x2f) or octal (\057) escape sequence.
7655                                
7656    </p>
7657    </blockquote><p>
7658                        
7659    </p>
7660    <a name="ADD DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7661    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7662    <a name="rfc.section.6.8.1"></a><h3>6.8.1.&nbsp;
7663    Creating a new instrument directory</h3>
7664    
7665    <p>The front-end can add a new instrument directory to the
7666                        instruments database by sending the following command:
7667    </p>
7668    <p>
7669                            </p>
7670    <blockquote class="text">
7671    <p>ADD DB_INSTRUMENT_DIRECTORY &lt;dir&gt;
7672    </p>
7673    </blockquote><p>
7674                        
7675    </p>
7676    <p>Where &lt;dir&gt; is the absolute path name of the directory
7677                        to be created (encapsulated into apostrophes).
7678    </p>
7679    <p>Possible Answers:
7680    </p>
7681    <p>
7682                            </p>
7683    <blockquote class="text">
7684    <p>"OK" -
7685                                    </p>
7686    <blockquote class="text">
7687    <p>on success
7688    </p>
7689    </blockquote>
7690                                
7691    
7692    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7693                                    </p>
7694    <blockquote class="text">
7695    <p>when the directory could not be created, which
7696                                        can happen if the directory already exists or the
7697                                        name contains not allowed symbols
7698    </p>
7699    </blockquote>
7700                                
7701    
7702    </blockquote><p>
7703                        
7704    </p>
7705    <p>Examples:
7706    </p>
7707    <p>
7708                            </p>
7709    <blockquote class="text">
7710    <p>C: "ADD DB_INSTRUMENT_DIRECTORY '/Piano Collection'"
7711    </p>
7712    <p>S: "OK"
7713    </p>
7714    </blockquote><p>
7715                        
7716    </p>
7717    <a name="REMOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
7718    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7719    <a name="rfc.section.6.8.2"></a><h3>6.8.2.&nbsp;
7720    Deleting an instrument directory</h3>
7721    
7722    <p>The front-end can delete a particular instrument directory
7723                        from the instruments database by sending the following command:
7724    </p>
7725    <p>
7726                            </p>
7727    <blockquote class="text">
7728    <p>REMOVE DB_INSTRUMENT_DIRECTORY [FORCE] &lt;dir&gt;
7729    </p>
7730    </blockquote><p>
7731                        
7732    </p>
7733    <p>Where &lt;dir&gt; is the absolute path name of the directory
7734                        to delete. The optional FORCE argument can be used to
7735                        force the deletion of a non-empty directory and all its content.
7736    </p>
7737    <p>Possible Answers:
7738    </p>
7739    <p>
7740                            </p>
7741    <blockquote class="text">
7742    <p>"OK" -
7743                                    </p>
7744    <blockquote class="text">
7745    <p>if the directory is deleted successfully
7746    </p>
7747    </blockquote>
7748                                
7749    
7750    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7751                                    </p>
7752    <blockquote class="text">
7753    <p>if the given directory does not exist, or
7754                                        if trying to delete a non-empty directory,
7755                                        without using the FORCE argument.
7756    </p>
7757    </blockquote>
7758                                
7759    
7760    </blockquote><p>
7761                        
7762    </p>
7763    <p>Examples:
7764    </p>
7765    <p>
7766                            </p>
7767    <blockquote class="text">
7768    <p>C: "REMOVE DB_INSTRUMENT_DIRECTORY FORCE '/Piano Collection'"
7769    </p>
7770    <p>S: "OK"
7771    </p>
7772    </blockquote><p>
7773                        
7774    </p>
7775    <a name="GET DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7776    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7777    <a name="rfc.section.6.8.3"></a><h3>6.8.3.&nbsp;
7778    Getting amount of instrument directories</h3>
7779    
7780    <p>The front-end can retrieve the current amount of
7781                        directories in a specific directory by sending the following command:
7782    </p>
7783    <p>
7784                            </p>
7785    <blockquote class="text">
7786    <p>GET DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7787    </p>
7788    </blockquote><p>
7789                        
7790    </p>
7791    <p>Where &lt;dir&gt; should be replaced by the absolute path
7792                        name of the directory. If RECURSIVE is specified, the number of
7793                        all directories, including those located in subdirectories of the
7794                        specified directory, will be returned.
7795    </p>
7796    <p>Possible Answers:
7797    </p>
7798    <p>
7799                            </p>
7800    <blockquote class="text">
7801    <p>The current number of instrument directories
7802                                in the specified directory.
7803    </p>
7804    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7805                                    </p>
7806    <blockquote class="text">
7807    <p>if the given directory does not exist.
7808    </p>
7809    </blockquote>
7810                                
7811    
7812    </blockquote><p>
7813                        
7814    </p>
7815    <p>Example:
7816    </p>
7817    <p>
7818                            </p>
7819    <blockquote class="text">
7820    <p>C: "GET DB_INSTRUMENT_DIRECTORIES '/'"
7821    </p>
7822    <p>S: "2"
7823    </p>
7824    </blockquote><p>
7825                        
7826    </p>
7827    <a name="LIST DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
7828    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7829    <a name="rfc.section.6.8.4"></a><h3>6.8.4.&nbsp;
7830    Listing all directories in specific directory</h3>
7831    
7832    <p>The front-end can retrieve the current list of directories
7833                        in specific directory by sending the following command:
7834    </p>
7835    <p>
7836                            </p>
7837    <blockquote class="text">
7838    <p>LIST DB_INSTRUMENT_DIRECTORIES [RECURSIVE] &lt;dir&gt;
7839    </p>
7840    </blockquote><p>
7841                        
7842    </p>
7843    <p>Where &lt;dir&gt; should be replaced by the absolute path
7844                        name of the directory. If RECURSIVE is specified, the absolute path names
7845                        of all directories, including those located in subdirectories of the
7846                        specified directory, will be returned.
7847    </p>
7848    <p>Possible Answers:
7849    </p>
7850    <p>
7851                            </p>
7852    <blockquote class="text">
7853    <p>A comma separated list of all instrument directories
7854                                (encapsulated into apostrophes) in the specified directory.
7855    </p>
7856    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
7857                                    </p>
7858    <blockquote class="text">
7859    <p>if the given directory does not exist.
7860    </p>
7861    </blockquote>
7862                                
7863    
7864    </blockquote><p>
7865                        
7866    </p>
7867    <p>Example:
7868    </p>
7869    <p>
7870                            </p>
7871    <blockquote class="text">
7872    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES '/'"
7873    </p>
7874    <p>S: "'Piano Collection','Percussion Collection'"
7875    </p>
7876    </blockquote><p>
7877                        
7878    </p>
7879    <p>
7880                            </p>
7881    <blockquote class="text">
7882    <p>C: "LIST DB_INSTRUMENT_DIRECTORIES RECURSIVE '/'"
7883    </p>
7884    <p>S: "'/Piano Collection','/Piano Collection/Acoustic','/Piano Collection/Acoustic/New','/Percussion Collection'"
7885    </p>
7886    </blockquote><p>
7887                        
7888    </p>
7889    <a name="GET DB_INSTRUMENT_DIRECTORY INFO"></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.5"></a><h3>6.8.5.&nbsp;
7892    Getting instrument directory information</h3>
7893    
7894    <p>The front-end can ask for the current settings of an
7895                        instrument directory by sending the following command:
7896    </p>
7897    <p>
7898                            </p>
7899    <blockquote class="text">
7900    <p>GET DB_INSTRUMENT_DIRECTORY INFO &lt;dir&gt;
7901    </p>
7902    </blockquote><p>
7903                        
7904    </p>
7905    <p>Where &lt;dir&gt; should be replaced by the absolute path
7906                        name of the directory the front-end is interested in.
7907    </p>
7908    <p>Possible Answers:
7909    </p>
7910    <p>
7911                            </p>
7912    <blockquote class="text">
7913    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
7914                                Each answer line begins with the settings category name
7915                                followed by a colon and then a space character &lt;SP&gt; and finally
7916                                the info character string to that setting category. At the
7917                                moment the following categories are defined:
7918    </p>
7919    <p>
7920                                    </p>
7921    <blockquote class="text">
7922    <p>DESCRIPTION -
7923                                            </p>
7924    <blockquote class="text">
7925    <p>A brief description of the directory content.
7926                                                Note that the character string may contain
7927                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
7928    </p>
7929    </blockquote>
7930                                        
7931    
7932    <p>CREATED -
7933                                            </p>
7934    <blockquote class="text">
7935    <p>The creation date and time of the directory,
7936                                                represented in "YYYY-MM-DD HH:MM:SS" format
7937    </p>
7938    </blockquote>
7939                                        
7940    
7941    <p>MODIFIED -
7942                                            </p>
7943    <blockquote class="text">
7944    <p>The date and time of the last modification of the
7945                                                directory, represented in "YYYY-MM-DD HH:MM:SS" format
7946    </p>
7947    </blockquote>
7948                                        
7949    
7950    </blockquote>
7951                                
7952    
7953    </blockquote><p>
7954                        
7955    </p>
7956    <p>The mentioned fields above don't have to be in particular order.
7957    </p>
7958    <p>Example:
7959    </p>
7960    <p>
7961                            </p>
7962    <blockquote class="text">
7963    <p>C: "GET DB_INSTRUMENT_DIRECTORY INFO '/Piano Collection'"
7964    </p>
7965    <p>S: "DESCRIPTION: Piano collection of instruments in GigaSampler format."
7966    </p>
7967    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
7968    </p>
7969    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
7970    </p>
7971    <p>&nbsp;&nbsp;&nbsp;"."
7972    </p>
7973    </blockquote><p>
7974                        
7975    </p>
7976    <a name="SET DB_INSTRUMENT_DIRECTORY NAME"></a><br /><hr />
7977    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
7978    <a name="rfc.section.6.8.6"></a><h3>6.8.6.&nbsp;
7979    Renaming an instrument directory</h3>
7980    
7981    <p>The front-end can alter the name of a specific
7982                        instrument directory by sending the following command:
7983    </p>
7984    <p>
7985                            </p>
7986    <blockquote class="text">
7987    <p>SET DB_INSTRUMENT_DIRECTORY NAME &lt;dir&gt; &lt;name&gt;
7988    </p>
7989    </blockquote><p>
7990                        
7991    </p>
7992    <p>Where &lt;dir&gt; is the absolute path name of the directory and
7993                        &lt;name&gt; is the new name for that directory.
7994    </p>
7995    <p>Possible Answers:
7996    </p>
7997    <p>
7998                            </p>
7999    <blockquote class="text">
8000    <p>"OK" -
8001                                    </p>
8002    <blockquote class="text">
8003    <p>on success
8004    </p>
8005    </blockquote>
8006                                
8007    
8008    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8009                                    </p>
8010    <blockquote class="text">
8011    <p>in case the given directory does not exists,
8012                                        or if a directory with name equal to the new
8013                                        name already exists.
8014    </p>
8015    </blockquote>
8016                                
8017    
8018    </blockquote><p>
8019                        
8020    </p>
8021    <p>Example:
8022    </p>
8023    <p>
8024                            </p>
8025    <blockquote class="text">
8026    <p>C: "SET DB_INSTRUMENT_DIRECTORY NAME '/Piano Collection/Acustic' 'Acoustic'"
8027    </p>
8028    <p>S: "OK"
8029    </p>
8030    </blockquote><p>
8031                        
8032    </p>
8033    <a name="MOVE DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8034    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8035    <a name="rfc.section.6.8.7"></a><h3>6.8.7.&nbsp;
8036    Moving an instrument directory</h3>
8037    
8038    <p>The front-end can move a specific
8039                        instrument directory by sending the following command:
8040    </p>
8041    <p>
8042                            </p>
8043    <blockquote class="text">
8044    <p>MOVE DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8045    </p>
8046    </blockquote><p>
8047                        
8048    </p>
8049    <p>Where &lt;dir&gt; is the absolute path name of the directory
8050                        to move and &lt;dst&gt; is the location where the directory will
8051                        be moved to.
8052    </p>
8053    <p>Possible Answers:
8054    </p>
8055    <p>
8056                            </p>
8057    <blockquote class="text">
8058    <p>"OK" -
8059                                    </p>
8060    <blockquote class="text">
8061    <p>on success
8062    </p>
8063    </blockquote>
8064                                
8065    
8066    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8067                                    </p>
8068    <blockquote class="text">
8069    <p>in case a given directory does not exists,
8070                                        or if a directory with name equal to the name
8071                                        of the specified directory already exists in
8072                                        the destination directory. Error is also thrown
8073                                        when trying to move a directory to a subdirectory
8074                                        of itself.
8075    </p>
8076    </blockquote>
8077                                
8078    
8079    </blockquote><p>
8080                        
8081    </p>
8082    <p>Example:
8083    </p>
8084    <p>
8085                            </p>
8086    <blockquote class="text">
8087    <p>C: "MOVE DB_INSTRUMENT_DIRECTORY '/Acoustic' '/Piano Collection/Acoustic'"
8088    </p>
8089    <p>S: "OK"
8090    </p>
8091    </blockquote><p>
8092                        
8093    </p>
8094    <a name="COPY DB_INSTRUMENT_DIRECTORY"></a><br /><hr />
8095    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8096    <a name="rfc.section.6.8.8"></a><h3>6.8.8.&nbsp;
8097    Copying instrument directories</h3>
8098    
8099    <p>The front-end can copy a specific
8100                        instrument directory by sending the following command:
8101    </p>
8102    <p>
8103                            </p>
8104    <blockquote class="text">
8105    <p>COPY DB_INSTRUMENT_DIRECTORY &lt;dir&gt; &lt;dst&gt;
8106    </p>
8107    </blockquote><p>
8108                        
8109    </p>
8110    <p>Where &lt;dir&gt; is the absolute path name of the directory
8111                        to copy and &lt;dst&gt; is the location where the directory will
8112                        be copied to.
8113    </p>
8114    <p>Possible Answers:
8115    </p>
8116    <p>
8117                            </p>
8118    <blockquote class="text">
8119    <p>"OK" -
8120                                    </p>
8121    <blockquote class="text">
8122    <p>on success
8123    </p>
8124    </blockquote>
8125                                
8126    
8127    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8128                                    </p>
8129    <blockquote class="text">
8130    <p>in case a given directory does not exists,
8131                                        or if a directory with name equal to the name
8132                                        of the specified directory already exists in
8133                                        the destination directory. Error is also thrown
8134                                        when trying to copy a directory to a subdirectory
8135                                        of itself.
8136    </p>
8137    </blockquote>
8138                                
8139    
8140    </blockquote><p>
8141                        
8142    </p>
8143    <p>Example:
8144    </p>
8145    <p>
8146                            </p>
8147    <blockquote class="text">
8148    <p>C: "COPY DB_INSTRUMENT_DIRECTORY '/Piano Collection/Acoustic' '/Acoustic/Pianos'"
8149    </p>
8150    <p>S: "OK"
8151    </p>
8152    </blockquote><p>
8153                        
8154    </p>
8155    <a name="SET DB_INSTRUMENT_DIRECTORY DESCRIPTION"></a><br /><hr />
8156    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8157    <a name="rfc.section.6.8.9"></a><h3>6.8.9.&nbsp;
8158    Changing the description of directory</h3>
8159    
8160    <p>The front-end can alter the description of a specific
8161                        instrument directory by sending the following command:
8162    </p>
8163    <p>
8164                            </p>
8165    <blockquote class="text">
8166    <p>SET DB_INSTRUMENT_DIRECTORY DESCRIPTION &lt;dir&gt; &lt;desc&gt;
8167    </p>
8168    </blockquote><p>
8169                        
8170    </p>
8171    <p>Where &lt;dir&gt; is the absolute path name of the directory and
8172                        &lt;desc&gt; is the new description for the directory
8173                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
8174                        "<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>").
8175    </p>
8176    <p>Possible Answers:
8177    </p>
8178    <p>
8179                            </p>
8180    <blockquote class="text">
8181    <p>"OK" -
8182                                    </p>
8183    <blockquote class="text">
8184    <p>on success
8185    </p>
8186    </blockquote>
8187                                
8188    
8189    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8190                                    </p>
8191    <blockquote class="text">
8192    <p>in case the given directory does not exists.
8193    </p>
8194    </blockquote>
8195                                
8196    
8197    </blockquote><p>
8198                        
8199    </p>
8200    <p>Example:
8201    </p>
8202    <p>
8203                            </p>
8204    <blockquote class="text">
8205    <p>C: "SET DB_INSTRUMENT_DIRECTORY DESCRIPTION '/Piano Collection' 'A collection of piano instruments in various format.'"
8206    </p>
8207    <p>S: "OK"
8208    </p>
8209    </blockquote><p>
8210                        
8211    </p>
8212    <a name="FIND DB_INSTRUMENT_DIRECTORIES"></a><br /><hr />
8213    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8214    <a name="rfc.section.6.8.10"></a><h3>6.8.10.&nbsp;
8215    Finding directories</h3>
8216    
8217    <p>The front-end can search for directories
8218                        in specific directory by sending the following command:
8219    </p>
8220    <p>
8221                            </p>
8222    <blockquote class="text">
8223    <p>FIND DB_INSTRUMENT_DIRECTORIES [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
8224    </p>
8225    </blockquote><p>
8226                        
8227    </p>
8228    <p>Where &lt;dir&gt; should be replaced by the absolute path
8229                        name of the directory to search in. If NON_RECURSIVE is specified, the
8230                        directories located in subdirectories of the specified directory will not
8231                        be searched. &lt;criteria-list&gt; is a list of search criterias
8232                        in form of "key1=val1 key2=val2 ...". The following criterias are
8233                        allowed:
8234    </p>
8235    <p>
8236                          
8237    <p>NAME='&lt;search-string&gt;'
8238                              </p>
8239    <blockquote class="text">
8240    <p>Restricts the search to directories, which names
8241                                  satisfy the supplied search string (encapsulated into apostrophes,
8242                                  supporting escape sequences as described in chapter
8243                                  "<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>").
8244    </p>
8245    </blockquote><p>
8246                          
8247    </p>
8248    
8249                          
8250    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8251                              </p>
8252    <blockquote class="text">
8253    <p>Restricts the search to directories, which creation
8254                                  date satisfies the specified period, where &lt;date-after&gt;
8255                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
8256                                  If &lt;date-after&gt; is omitted the search is restricted to
8257                                  directories created before &lt;date-before&gt;. If
8258                                  &lt;date-before&gt; is omitted, the search is restricted
8259                                  to directories created after &lt;date-after&gt;.
8260    </p>
8261    </blockquote><p>
8262                          
8263    </p>
8264    
8265                          
8266    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
8267                              </p>
8268    <blockquote class="text">
8269    <p>Restricts the search to directories, which
8270                                  date of last modification satisfies the specified period, where
8271                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
8272                                  format. If &lt;date-after&gt; is omitted the search is restricted to
8273                                  directories, which are last modified before &lt;date-before&gt;. If
8274                                  &lt;date-before&gt; is omitted, the search is restricted to directories,
8275                                  which are last modified after &lt;date-after&gt;.
8276    </p>
8277    </blockquote><p>
8278                          
8279    </p>
8280    
8281                          
8282    <p>DESCRIPTION='&lt;search-string&gt;'
8283                              </p>
8284    <blockquote class="text">
8285    <p>Restricts the search to directories with description
8286                                  that satisfies the supplied search string
8287                                  (encapsulated into apostrophes, supporting escape
8288                                  sequences as described in chapter
8289                                  "<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>").
8290    </p>
8291    </blockquote><p>
8292                          
8293    </p>
8294                        
8295    
8296    <p>Where &lt;search-string&gt; is either a regular expression, or a
8297                        word list separated with spaces for OR search and with '+' for AND search.
8298    </p>
8299    <p>Possible Answers:
8300    </p>
8301    <p>
8302                            </p>
8303    <blockquote class="text">
8304    <p>A comma separated list with the absolute path names (encapsulated into
8305                                apostrophes) of all directories in the specified directory that satisfy
8306                                the supplied search criterias.
8307    </p>
8308    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8309                                    </p>
8310    <blockquote class="text">
8311    <p>if the given directory does not exist.
8312    </p>
8313    </blockquote>
8314                                
8315    
8316    </blockquote><p>
8317                        
8318    </p>
8319    <p>Example:
8320    </p>
8321    <p>
8322                            </p>
8323    <blockquote class="text">
8324    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' NAME='Piano'"
8325    </p>
8326    <p>S: "'/Piano Collection'"
8327    </p>
8328    </blockquote><p>
8329                        
8330    </p>
8331    <p>
8332                            </p>
8333    <blockquote class="text">
8334    <p>C: "FIND DB_INSTRUMENT_DIRECTORIES '/' CREATED='..2007-04-01 09:30:13'"
8335    </p>
8336    <p>S: "'/Piano Collection','/Percussions'"
8337    </p>
8338    </blockquote><p>
8339                        
8340    </p>
8341    <a name="ADD DB_INSTRUMENTS"></a><br /><hr />
8342    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8343    <a name="rfc.section.6.8.11"></a><h3>6.8.11.&nbsp;
8344    Adding instruments to the instruments database</h3>
8345    
8346    <p>The front-end can add one or more instruments
8347                        to the instruments database by sending the following command:
8348    </p>
8349    <p>
8350                            </p>
8351    <blockquote class="text">
8352    <p>ADD DB_INSTRUMENTS [NON_MODAL] [&lt;mode&gt;[ FILE_AS_DIR]] &lt;db_dir&gt; &lt;file_path&gt; [&lt;instr_index&gt;]
8353    </p>
8354    </blockquote><p>
8355                        
8356    </p>
8357    <p>Where &lt;db_dir&gt; is the absolute path name of a directory
8358                        (encapsulated into apostrophes) in the instruments database in which
8359                        only the new instruments (that are not already in the database) will
8360                        be added, &lt;file_path&gt; is the absolute path name of a file or
8361                        directory in the file system (encapsulated into apostrophes). In case
8362                        an instrument file is supplied, only the instruments in the specified
8363                        file will be added to the instruments database. If the optional
8364                        &lt;instr_index&gt; (the index of the instrument within the given file)
8365                        is supplied too, then only the specified instrument will be added.
8366                        In case a directory is supplied, the instruments in that directory
8367                        will be added. The OPTIONAL &lt;mode&gt; argument is only applied
8368                        when a directory is provided as &lt;file_path&gt; and specifies how the
8369                        scanning will be done and has exactly the following possibilities:
8370    </p>
8371    <p>
8372                            </p>
8373    <blockquote class="text">
8374    <p>"RECURSIVE" -
8375                                    </p>
8376    <blockquote class="text">
8377    <p>All instruments will be processed, including those
8378                                        in the subdirectories, and the respective subdirectory
8379                                        tree structure will be recreated in the instruments
8380                                        database
8381    </p>
8382    </blockquote>
8383                                
8384    
8385    <p>"NON_RECURSIVE" -
8386                                    </p>
8387    <blockquote class="text">
8388    <p>Only the instruments in the specified directory
8389                                        will be added, the instruments in the subdirectories
8390                                        will not be processed.
8391    </p>
8392    </blockquote>
8393                                
8394    
8395    <p>"FLAT" -
8396                                    </p>
8397    <blockquote class="text">
8398    <p>All instruments will be processed, including those
8399                                        in the subdirectories, but the respective subdirectory
8400                                        structure will not be recreated in the instruments
8401                                        database. All instruments will be added directly in
8402                                        the specified database directory.
8403    </p>
8404    </blockquote>
8405                                
8406    
8407    </blockquote><p>
8408                        
8409    </p>
8410    <p> If FILE_AS_DIR argument is supplied, all instruments in an instrument
8411                     file will be added to a separate directory in the instruments database, which
8412                     name will be the name of the instrument file with the file extension stripped off.
8413                    
8414    </p>
8415    <p>The difference between regular and NON_MODAL versions of the command
8416                        is that the regular command returns when the scanning is finished
8417                        while NON_MODAL version returns immediately and a background process is launched.
8418                        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>
8419                        command can be used to monitor the scanning progress.
8420    </p>
8421    <p>Possible Answers:
8422    </p>
8423    <p>
8424                            </p>
8425    <blockquote class="text">
8426    <p>"OK" -
8427                                    </p>
8428    <blockquote class="text">
8429    <p>on success when NON_MODAL is not supplied
8430    </p>
8431    </blockquote>
8432                                
8433    
8434    <p>"OK[&lt;job-id&gt;]" -
8435                                    </p>
8436    <blockquote class="text">
8437    <p>on success when NON_MODAL is supplied, where &lt;job-id&gt;
8438                                        is a numerical ID used to obtain status information about the job progress.
8439                                        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>
8440                                        
8441    </p>
8442    </blockquote>
8443                                
8444    
8445    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8446                                    </p>
8447    <blockquote class="text">
8448    <p>if an invalid path is specified.
8449    </p>
8450    </blockquote>
8451                                
8452    
8453    </blockquote><p>
8454                        
8455    </p>
8456    <p>Examples:
8457    </p>
8458    <p>
8459                            </p>
8460    <blockquote class="text">
8461    <p>C: "ADD DB_INSTRUMENTS '/Piano Collection' '/home/me/gigs/PMI Bosendorfer 290.gig' 0"
8462    </p>
8463    <p>S: "OK"
8464    </p>
8465    </blockquote><p>
8466                        
8467    </p>
8468    <a name="REMOVE DB_INSTRUMENT"></a><br /><hr />
8469    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8470    <a name="rfc.section.6.8.12"></a><h3>6.8.12.&nbsp;
8471    Removing an instrument</h3>
8472    
8473    <p>The front-end can remove a particular instrument
8474                        from the instruments database by sending the following command:
8475    </p>
8476    <p>
8477                            </p>
8478    <blockquote class="text">
8479    <p>REMOVE DB_INSTRUMENT &lt;instr_path&gt;
8480    </p>
8481    </blockquote><p>
8482                        
8483    </p>
8484    <p>Where &lt;instr_path&gt; is the absolute path name
8485                        (in the instruments database) of the instrument to remove.
8486    </p>
8487    <p>Possible Answers:
8488    </p>
8489    <p>
8490                            </p>
8491    <blockquote class="text">
8492    <p>"OK" -
8493                                    </p>
8494    <blockquote class="text">
8495    <p>if the instrument is removed successfully
8496    </p>
8497    </blockquote>
8498                                
8499    
8500    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8501                                    </p>
8502    <blockquote class="text">
8503    <p>if the given path does not exist or
8504                                        is a directory.
8505    </p>
8506    </blockquote>
8507                                
8508    
8509    </blockquote><p>
8510                        
8511    </p>
8512    <p>Examples:
8513    </p>
8514    <p>
8515                            </p>
8516    <blockquote class="text">
8517    <p>C: "REMOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290'"
8518    </p>
8519    <p>S: "OK"
8520    </p>
8521    </blockquote><p>
8522                        
8523    </p>
8524    <a name="GET DB_INSTRUMENTS"></a><br /><hr />
8525    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8526    <a name="rfc.section.6.8.13"></a><h3>6.8.13.&nbsp;
8527    Getting amount of instruments</h3>
8528    
8529    <p>The front-end can retrieve the current amount of
8530                        instruments in a specific directory by sending the following command:
8531    </p>
8532    <p>
8533                            </p>
8534    <blockquote class="text">
8535    <p>GET DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8536    </p>
8537    </blockquote><p>
8538                        
8539    </p>
8540    <p>Where &lt;dir&gt; should be replaced by the absolute path name
8541                        of the directory. If RECURSIVE is specified, the number of all
8542                        instruments, including those located in subdirectories of the
8543                        specified directory, will be returned.
8544    </p>
8545    <p>Possible Answers:
8546    </p>
8547    <p>
8548                            </p>
8549    <blockquote class="text">
8550    <p>The current number of instruments
8551                                in the specified directory.
8552    </p>
8553    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8554                                    </p>
8555    <blockquote class="text">
8556    <p>if the given directory does not exist.
8557    </p>
8558    </blockquote>
8559                                
8560    
8561    </blockquote><p>
8562                        
8563    </p>
8564    <p>Example:
8565    </p>
8566    <p>
8567                            </p>
8568    <blockquote class="text">
8569    <p>C: "GET DB_INSTRUMENTS '/Piano Collection'"
8570    </p>
8571    <p>S: "2"
8572    </p>
8573    </blockquote><p>
8574                        
8575    </p>
8576    <a name="LIST DB_INSTRUMENTS"></a><br /><hr />
8577    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8578    <a name="rfc.section.6.8.14"></a><h3>6.8.14.&nbsp;
8579    Listing all instruments in specific directory</h3>
8580    
8581    <p>The front-end can retrieve the current list of instruments
8582                        in specific directory by sending the following command:
8583    </p>
8584    <p>
8585                            </p>
8586    <blockquote class="text">
8587    <p>LIST DB_INSTRUMENTS [RECURSIVE] &lt;dir&gt;
8588    </p>
8589    </blockquote><p>
8590                        
8591    </p>
8592    <p>Where &lt;dir&gt; should be replaced by the absolute path
8593                        name of the directory. If RECURSIVE is specified, the absolute path
8594                        names of all instruments, including those located in subdirectories
8595                        of the specified directory, will be returned.
8596    </p>
8597    <p>Possible Answers:
8598    </p>
8599    <p>
8600                            </p>
8601    <blockquote class="text">
8602    <p>A comma separated list of all instruments
8603                                (encapsulated into apostrophes) in the specified directory.
8604    </p>
8605    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8606                                    </p>
8607    <blockquote class="text">
8608    <p>if the given directory does not exist.
8609    </p>
8610    </blockquote>
8611                                
8612    
8613    </blockquote><p>
8614                        
8615    </p>
8616    <p>Example:
8617    </p>
8618    <p>
8619                            </p>
8620    <blockquote class="text">
8621    <p>C: "LIST DB_INSTRUMENTS '/Piano Collection'"
8622    </p>
8623    <p>S: "'Bosendorfer 290','Steinway D'"
8624    </p>
8625    </blockquote><p>
8626                        
8627    </p>
8628    <p>
8629                            </p>
8630    <blockquote class="text">
8631    <p>C: "LIST DB_INSTRUMENTS RECURSIVE '/Piano Collection'"
8632    </p>
8633    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D','/Piano Collection/Lite/Free Piano'"
8634    </p>
8635    </blockquote><p>
8636                        
8637    </p>
8638    <a name="GET DB_INSTRUMENT INFO"></a><br /><hr />
8639    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8640    <a name="rfc.section.6.8.15"></a><h3>6.8.15.&nbsp;
8641    Getting instrument information</h3>
8642    
8643    <p>The front-end can ask for the current settings of an
8644                        instrument by sending the following command:
8645    </p>
8646    <p>
8647                            </p>
8648    <blockquote class="text">
8649    <p>GET DB_INSTRUMENT INFO &lt;instr_path&gt;
8650    </p>
8651    </blockquote><p>
8652                        
8653    </p>
8654    <p>Where &lt;instr_path&gt; should be replaced by the absolute path
8655                        name of the instrument the front-end is interested in.
8656    </p>
8657    <p>Possible Answers:
8658    </p>
8659    <p>
8660                            </p>
8661    <blockquote class="text">
8662    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
8663                                Each answer line begins with the settings category name
8664                                followed by a colon and then a space character &lt;SP&gt; and finally
8665                                the info character string to that setting category. At the
8666                                moment the following categories are defined:
8667    </p>
8668    <p>
8669                                    </p>
8670    <blockquote class="text">
8671    <p>INSTRUMENT_FILE -
8672                                            </p>
8673    <blockquote class="text">
8674    <p>File name of the instrument.
8675                                                Note that the character string may contain
8676                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8677    </p>
8678    </blockquote>
8679                                        
8680    
8681    <p>INSTRUMENT_NR -
8682                                            </p>
8683    <blockquote class="text">
8684    <p>Index of the instrument within the file.
8685    </p>
8686    </blockquote>
8687                                        
8688    
8689    <p>FORMAT_FAMILY -
8690                                            </p>
8691    <blockquote class="text">
8692    <p>The format family of the instrument.
8693    </p>
8694    </blockquote>
8695                                        
8696    
8697    <p>FORMAT_VERSION -
8698                                            </p>
8699    <blockquote class="text">
8700    <p>The format version of the instrument.
8701    </p>
8702    </blockquote>
8703                                        
8704    
8705    <p>SIZE -
8706                                            </p>
8707    <blockquote class="text">
8708    <p>The size of the instrument in bytes.
8709    </p>
8710    </blockquote>
8711                                        
8712    
8713    <p>CREATED -
8714                                            </p>
8715    <blockquote class="text">
8716    <p>The date and time when the instrument is added
8717                                                in the instruments database, represented in
8718                                               "YYYY-MM-DD HH:MM:SS" format
8719    </p>
8720    </blockquote>
8721                                        
8722    
8723    <p>MODIFIED -
8724                                            </p>
8725    <blockquote class="text">
8726    <p>The date and time of the last modification of the
8727                                                instrument's database settings, represented in
8728                                                "YYYY-MM-DD HH:MM:SS" format
8729    </p>
8730    </blockquote>
8731                                        
8732    
8733    <p>DESCRIPTION -
8734                                            </p>
8735    <blockquote class="text">
8736    <p>A brief description of the instrument.
8737                                                Note that the character string may contain
8738                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8739    </p>
8740    </blockquote>
8741                                        
8742    
8743    <p>IS_DRUM -
8744                                            </p>
8745    <blockquote class="text">
8746    <p>either true or false, determines whether the
8747                                                instrument is a drumkit or a chromatic instrument
8748    </p>
8749    </blockquote>
8750                                        
8751    
8752    <p>PRODUCT -
8753                                            </p>
8754    <blockquote class="text">
8755    <p>The product title of the instrument.
8756                                                Note that the character string may contain
8757                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8758    </p>
8759    </blockquote>
8760                                        
8761    
8762    <p>ARTISTS -
8763                                            </p>
8764    <blockquote class="text">
8765    <p>Lists the artist names.
8766                                                Note that the character string may contain
8767                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8768    </p>
8769    </blockquote>
8770                                        
8771    
8772    <p>KEYWORDS -
8773                                            </p>
8774    <blockquote class="text">
8775    <p>Provides a list of keywords that refer to the instrument.
8776                                                Keywords are separated with semicolon and blank.
8777                                                Note that the character string may contain
8778                                                <a class='info' href='#character_set'>escape sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>.
8779    </p>
8780    </blockquote>
8781                                        
8782    
8783    </blockquote>
8784                                
8785    
8786    </blockquote><p>
8787                        
8788    </p>
8789    <p>The mentioned fields above don't have to be in particular order.
8790    </p>
8791    <p>Example:
8792    </p>
8793    <p>
8794                            </p>
8795    <blockquote class="text">
8796    <p>C: "GET DB_INSTRUMENT INFO '/Piano Collection/Bosendorfer 290'"
8797    </p>
8798    <p>S: "INSTRUMENT_FILE: /home/me/gigs/Bosendorfer 290.gig"
8799    </p>
8800    <p>&nbsp;&nbsp;&nbsp;"INSTRUMENT_NR: 0"
8801    </p>
8802    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
8803    </p>
8804    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 2"
8805    </p>
8806    <p>&nbsp;&nbsp;&nbsp;"SIZE: 2050871870"
8807    </p>
8808    <p>&nbsp;&nbsp;&nbsp;"CREATED: 2007-02-05 10:23:12"
8809    </p>
8810    <p>&nbsp;&nbsp;&nbsp;"MODIFIED: 2007-04-07 12:50:21"
8811    </p>
8812    <p>&nbsp;&nbsp;&nbsp;"DESCRIPTION: "
8813    </p>
8814    <p>&nbsp;&nbsp;&nbsp;"IS_DRUM: false"
8815    </p>
8816    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: GRANDIOSO Bosendorfer 290"
8817    </p>
8818    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Post Musical Instruments"
8819    </p>
8820    <p>&nbsp;&nbsp;&nbsp;"KEYWORDS: Bosendorfer"
8821    </p>
8822    <p>&nbsp;&nbsp;&nbsp;"."
8823    </p>
8824    </blockquote><p>
8825                        
8826    </p>
8827    <a name="SET DB_INSTRUMENT NAME"></a><br /><hr />
8828    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8829    <a name="rfc.section.6.8.16"></a><h3>6.8.16.&nbsp;
8830    Renaming an instrument</h3>
8831    
8832    <p>The front-end can alter the name of a specific
8833                        instrument by sending the following command:
8834    </p>
8835    <p>
8836                            </p>
8837    <blockquote class="text">
8838    <p>SET DB_INSTRUMENT NAME &lt;instr&gt; &lt;name&gt;
8839    </p>
8840    </blockquote><p>
8841                        
8842    </p>
8843    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
8844                        &lt;name&gt; is the new name for that instrument.
8845    </p>
8846    <p>Possible Answers:
8847    </p>
8848    <p>
8849                            </p>
8850    <blockquote class="text">
8851    <p>"OK" -
8852                                    </p>
8853    <blockquote class="text">
8854    <p>on success
8855    </p>
8856    </blockquote>
8857                                
8858    
8859    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8860                                    </p>
8861    <blockquote class="text">
8862    <p>in case the given instrument does not exists,
8863                                        or if an instrument with name equal to the new
8864                                        name already exists.
8865    </p>
8866    </blockquote>
8867                                
8868    
8869    </blockquote><p>
8870                        
8871    </p>
8872    <p>Example:
8873    </p>
8874    <p>
8875                            </p>
8876    <blockquote class="text">
8877    <p>C: "SET DB_INSTRUMENT NAME '/Piano Collection/Bosendorfer' 'Bosendorfer 290'"
8878    </p>
8879    <p>S: "OK"
8880    </p>
8881    </blockquote><p>
8882                        
8883    </p>
8884    <a name="MOVE DB_INSTRUMENT"></a><br /><hr />
8885    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8886    <a name="rfc.section.6.8.17"></a><h3>6.8.17.&nbsp;
8887    Moving an instrument</h3>
8888    
8889    <p>The front-end can move a specific instrument to another directory by
8890                        sending the following command:
8891    </p>
8892    <p>
8893                            </p>
8894    <blockquote class="text">
8895    <p>MOVE DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8896    </p>
8897    </blockquote><p>
8898                        
8899    </p>
8900    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8901                        to move and &lt;dst&gt; is the directory where the instrument will
8902                        be moved to.
8903    </p>
8904    <p>Possible Answers:
8905    </p>
8906    <p>
8907                            </p>
8908    <blockquote class="text">
8909    <p>"OK" -
8910                                    </p>
8911    <blockquote class="text">
8912    <p>on success
8913    </p>
8914    </blockquote>
8915                                
8916    
8917    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8918                                    </p>
8919    <blockquote class="text">
8920    <p>in case the given instrument does not exists,
8921                                        or if an instrument with name equal to the name of the
8922                                        specified instrument already exists in the destination
8923                                        directory.
8924    </p>
8925    </blockquote>
8926                                
8927    
8928    </blockquote><p>
8929                        
8930    </p>
8931    <p>Example:
8932    </p>
8933    <p>
8934                            </p>
8935    <blockquote class="text">
8936    <p>C: "MOVE DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Piano Collection/Acoustic'"
8937    </p>
8938    <p>S: "OK"
8939    </p>
8940    </blockquote><p>
8941                        
8942    </p>
8943    <a name="COPY DB_INSTRUMENT"></a><br /><hr />
8944    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
8945    <a name="rfc.section.6.8.18"></a><h3>6.8.18.&nbsp;
8946    Copying instruments</h3>
8947    
8948    <p>The front-end can copy a specific instrument to another directory by
8949                        sending the following command:
8950    </p>
8951    <p>
8952                            </p>
8953    <blockquote class="text">
8954    <p>COPY DB_INSTRUMENT &lt;instr&gt; &lt;dst&gt;
8955    </p>
8956    </blockquote><p>
8957                        
8958    </p>
8959    <p>Where &lt;instr&gt; is the absolute path name of the instrument
8960                        to copy and &lt;dst&gt; is the directory where the instrument will
8961                        be copied to.
8962    </p>
8963    <p>Possible Answers:
8964    </p>
8965    <p>
8966                            </p>
8967    <blockquote class="text">
8968    <p>"OK" -
8969                                    </p>
8970    <blockquote class="text">
8971    <p>on success
8972    </p>
8973    </blockquote>
8974                                
8975    
8976    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
8977                                    </p>
8978    <blockquote class="text">
8979    <p>in case the given instrument does not exists,
8980                                        or if an instrument with name equal to the name of the
8981                                        specified instrument already exists in the destination
8982                                        directory.
8983    </p>
8984    </blockquote>
8985                                
8986    
8987    </blockquote><p>
8988                        
8989    </p>
8990    <p>Example:
8991    </p>
8992    <p>
8993                            </p>
8994    <blockquote class="text">
8995    <p>C: "COPY DB_INSTRUMENT '/Piano Collection/Bosendorfer 290' '/Acoustic/Pianos/'"
8996    </p>
8997    <p>S: "OK"
8998    </p>
8999    </blockquote><p>
9000                        
9001    </p>
9002    <a name="SET DB_INSTRUMENT DESCRIPTION"></a><br /><hr />
9003    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9004    <a name="rfc.section.6.8.19"></a><h3>6.8.19.&nbsp;
9005    Changing the description of instrument</h3>
9006    
9007    <p>The front-end can alter the description of a specific
9008                        instrument by sending the following command:
9009    </p>
9010    <p>
9011                            </p>
9012    <blockquote class="text">
9013    <p>SET DB_INSTRUMENT DESCRIPTION &lt;instr&gt; &lt;desc&gt;
9014    </p>
9015    </blockquote><p>
9016                        
9017    </p>
9018    <p>Where &lt;instr&gt; is the absolute path name of the instrument and
9019                        &lt;desc&gt; is the new description for the instrument
9020                        (encapsulated into apostrophes, supporting escape sequences as described in chapter
9021                        "<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>").
9022    </p>
9023    <p>Possible Answers:
9024    </p>
9025    <p>
9026                            </p>
9027    <blockquote class="text">
9028    <p>"OK" -
9029                                    </p>
9030    <blockquote class="text">
9031    <p>on success
9032    </p>
9033    </blockquote>
9034                                
9035    
9036    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9037                                    </p>
9038    <blockquote class="text">
9039    <p>in case the given instrument does not exists.
9040    </p>
9041    </blockquote>
9042                                
9043    
9044    </blockquote><p>
9045                        
9046    </p>
9047    <p>Example:
9048    </p>
9049    <p>
9050                            </p>
9051    <blockquote class="text">
9052    <p>C: "SET DB_INSTRUMENT DESCRIPTION '/Piano Collection/Acoustic/Bosendorfer 290' 'No comment :)'"
9053    </p>
9054    <p>S: "OK"
9055    </p>
9056    </blockquote><p>
9057                        
9058    </p>
9059    <a name="FIND DB_INSTRUMENTS"></a><br /><hr />
9060    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9061    <a name="rfc.section.6.8.20"></a><h3>6.8.20.&nbsp;
9062    Finding instruments</h3>
9063    
9064    <p>The front-end can search for instruments
9065                        in specific directory by sending the following command:
9066    </p>
9067    <p>
9068                            </p>
9069    <blockquote class="text">
9070    <p>FIND DB_INSTRUMENTS [NON_RECURSIVE] &lt;dir&gt; &lt;criteria-list&gt;
9071    </p>
9072    </blockquote><p>
9073                        
9074    </p>
9075    <p>Where &lt;dir&gt; should be replaced by the absolute path
9076                        name of the directory to search in. If NON_RECURSIVE is specified, the
9077                        directories located in subdirectories of the specified directory will not
9078                        be searched. &lt;criteria-list&gt; is a list of search criterias
9079                        in form of "key1=val1 key2=val2 ...". The following criterias are
9080                        allowed:
9081    </p>
9082    <p>
9083                          
9084    <p>NAME='&lt;search-string&gt;'
9085                              </p>
9086    <blockquote class="text">
9087    <p>Restricts the search to instruments, which names
9088                                  satisfy the supplied search string (encapsulated into apostrophes,
9089                                  supporting escape sequences as described in chapter
9090                                  "<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>").
9091    </p>
9092    </blockquote><p>
9093                          
9094    </p>
9095    
9096                          
9097    <p>SIZE=[&lt;min&gt;]..[&lt;max&gt;]
9098                              </p>
9099    <blockquote class="text">
9100    <p>Restricts the search to instruments, which
9101                                  size is in the specified range. If &lt;min&gt; is omitted,
9102                                  the search results are restricted to instruments with size less then
9103                                  or equal to &lt;max&gt;. If &lt;max&gt; is omitted, the
9104                                  search is restricted to instruments with size greater then
9105                                  or equal to &lt;min&gt;.
9106    </p>
9107    </blockquote><p>
9108                          
9109    </p>
9110    
9111                          
9112    <p>CREATED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9113                              </p>
9114    <blockquote class="text">
9115    <p>Restricts the search to instruments, which creation
9116                                  date satisfies the specified period, where &lt;date-after&gt;
9117                                  and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS" format.
9118                                  If &lt;date-after&gt; is omitted the search is restricted to
9119                                  instruments created before &lt;date-before&gt;. If
9120                                  &lt;date-before&gt; is omitted, the search is restricted
9121                                  to instruments created after &lt;date-after&gt;.
9122    </p>
9123    </blockquote><p>
9124                          
9125    </p>
9126    
9127                          
9128    <p>MODIFIED='[&lt;date-after&gt;]..[&lt;date-before&gt;]'
9129                              </p>
9130    <blockquote class="text">
9131    <p>Restricts the search to instruments, which
9132                                  date of last modification satisfies the specified period, where
9133                                  &lt;date-after&gt; and &lt;date-before&gt; are in "YYYY-MM-DD HH:MM:SS"
9134                                  format. If &lt;date-after&gt; is omitted the search is restricted to
9135                                  instruments, which are last modified before &lt;date-before&gt;. If
9136                                  &lt;date-before&gt; is omitted, the search is restricted to instruments,
9137                                  which are last modified after &lt;date-after&gt;.
9138    </p>
9139    </blockquote><p>
9140                          
9141    </p>
9142    
9143                          
9144    <p>DESCRIPTION='&lt;search-string&gt;'
9145                              </p>
9146    <blockquote class="text">
9147    <p>Restricts the search to instruments with description
9148                                  that satisfies the supplied search string (encapsulated into apostrophes,
9149                                  supporting escape sequences as described in chapter
9150                                  "<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>").
9151    </p>
9152    </blockquote><p>
9153                          
9154    </p>
9155    
9156                          
9157    <p>PRODUCT='&lt;search-string&gt;'
9158                              </p>
9159    <blockquote class="text">
9160    <p>Restricts the search to instruments with product info
9161                                  that satisfies the supplied search string (encapsulated into apostrophes,
9162                                  supporting escape sequences as described in chapter
9163                                  "<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>").
9164    </p>
9165    </blockquote><p>
9166                          
9167    </p>
9168    
9169                          
9170    <p>ARTISTS='&lt;search-string&gt;'
9171                              </p>
9172    <blockquote class="text">
9173    <p>Restricts the search to instruments with artists info
9174                                  that satisfies the supplied search string (encapsulated into apostrophes,
9175                                  supporting escape sequences as described in chapter
9176                                  "<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>").
9177    </p>
9178    </blockquote><p>
9179                          
9180    </p>
9181    
9182                          
9183    <p>KEYWORDS='&lt;search-string&gt;'
9184                              </p>
9185    <blockquote class="text">
9186    <p>Restricts the search to instruments with keyword list
9187                                  that satisfies the supplied search string (encapsulated into apostrophes,
9188                                  supporting escape sequences as described in chapter
9189                                  "<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>").
9190    </p>
9191    </blockquote><p>
9192                          
9193    </p>
9194    
9195                          
9196    <p>IS_DRUM=true | false
9197                              </p>
9198    <blockquote class="text">
9199    <p>Either true or false. Restricts the search to
9200                                  drum kits or chromatic instruments.
9201    </p>
9202    </blockquote><p>
9203                          
9204    </p>
9205    
9206                          
9207    <p>FORMAT_FAMILIES='&lt;format-list&gt;'
9208                              </p>
9209    <blockquote class="text">
9210    <p>Restricts the search to instruments of the supplied format families,
9211                                  where &lt;format-list&gt; is a comma separated list of format families.
9212    </p>
9213    </blockquote><p>
9214                          
9215    </p>
9216                        
9217    
9218    <p>Where &lt;search-string&gt; is either a regular expression, or a
9219                        word list separated with spaces for OR search and with '+' for AND search.
9220    </p>
9221    <p>Possible Answers:
9222    </p>
9223    <p>
9224                            </p>
9225    <blockquote class="text">
9226    <p>A comma separated list with the absolute path names (encapsulated into
9227                                apostrophes) of all instruments in the specified directory that satisfy
9228                                the supplied search criterias.
9229    </p>
9230    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9231                                    </p>
9232    <blockquote class="text">
9233    <p>if the given directory does not exist.
9234    </p>
9235    </blockquote>
9236                                
9237    
9238    </blockquote><p>
9239                        
9240    </p>
9241    <p>Example:
9242    </p>
9243    <p>
9244                            </p>
9245    <blockquote class="text">
9246    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' NAME='bosendorfer+290'"
9247    </p>
9248    <p>S: "'/Piano Collection/Bosendorfer 290'"
9249    </p>
9250    </blockquote><p>
9251                        
9252    </p>
9253    <p>
9254                            </p>
9255    <blockquote class="text">
9256    <p>C: "FIND DB_INSTRUMENTS '/Piano Collection' CREATED='2007-04-01 09:30:13..'"
9257    </p>
9258    <p>S: "'/Piano Collection/Bosendorfer 290','/Piano Collection/Steinway D'"
9259    </p>
9260    </blockquote><p>
9261                        
9262    </p>
9263    <a name="GET DB_INSTRUMENTS_JOB INFO"></a><br /><hr />
9264    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9265    <a name="rfc.section.6.8.21"></a><h3>6.8.21.&nbsp;
9266    Getting job status information</h3>
9267    
9268    <p>The front-end can ask for the current status of a
9269                        particular database instruments job by sending the following command:
9270    </p>
9271    <p>
9272                            </p>
9273    <blockquote class="text">
9274    <p>GET DB_INSTRUMENTS_JOB INFO &lt;job-id&gt;
9275    </p>
9276    </blockquote><p>
9277                        
9278    </p>
9279    <p>Where &lt;job-id&gt; should be replaced by the numerical ID
9280                        of the job the front-end is interested in.
9281    </p>
9282    <p>Possible Answers:
9283    </p>
9284    <p>
9285                            </p>
9286    <blockquote class="text">
9287    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9288                                Each answer line begins with the settings category name
9289                                followed by a colon and then a space character &lt;SP&gt; and finally
9290                                the info character string to that setting category. At the
9291                                moment the following categories are defined:
9292    </p>
9293    <p>
9294                                    </p>
9295    <blockquote class="text">
9296    <p>FILES_TOTAL -
9297                                            </p>
9298    <blockquote class="text">
9299    <p>The total number of files scheduled for scanning
9300    </p>
9301    </blockquote>
9302                                        
9303    
9304    <p>FILES_SCANNED -
9305                                            </p>
9306    <blockquote class="text">
9307    <p>The current number of scanned files
9308    </p>
9309    </blockquote>
9310                                        
9311    
9312    <p>SCANNING -
9313                                            </p>
9314    <blockquote class="text">
9315    <p>The absolute path name of the file which is currently
9316                                                being scanned
9317    </p>
9318    </blockquote>
9319                                        
9320    
9321    <p>STATUS -
9322                                            </p>
9323    <blockquote class="text">
9324    <p>An integer value between 0 and 100 indicating the
9325                                                scanning progress percentage of the file which is
9326                                                currently being scanned
9327    </p>
9328    </blockquote>
9329                                        
9330    
9331    </blockquote>
9332                                
9333    
9334    </blockquote><p>
9335                        
9336    </p>
9337    <p>The mentioned fields above don't have to be in particular order.
9338    </p>
9339    <p>Example:
9340    </p>
9341    <p>
9342                            </p>
9343    <blockquote class="text">
9344    <p>C: "GET DB_INSTRUMENTS_JOB INFO 2"
9345    </p>
9346    <p>S: "FILES_TOTAL: 12"
9347    </p>
9348    <p>&nbsp;&nbsp;&nbsp;"FILES_SCANNED: 7"
9349    </p>
9350    <p>&nbsp;&nbsp;&nbsp;"SCANNING: /home/me/gigs/Bosendorfer 290.gig"
9351    </p>
9352    <p>&nbsp;&nbsp;&nbsp;"STATUS: 42"
9353    </p>
9354    <p>&nbsp;&nbsp;&nbsp;"."
9355    </p>
9356    </blockquote><p>
9357                        
9358    </p>
9359    <a name="FORMAT INSTRUMENTS_DB"></a><br /><hr />
9360    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9361    <a name="rfc.section.6.8.22"></a><h3>6.8.22.&nbsp;
9362    Formatting the instruments database</h3>
9363    
9364    <p>The front-end can remove all instruments and directories and re-create
9365                        the instruments database structure (e.g., in case of a database corruption)
9366                        by sending the following command:
9367    </p>
9368    <p>
9369                            </p>
9370    <blockquote class="text">
9371    <p>FORMAT INSTRUMENTS_DB
9372    </p>
9373    </blockquote><p>
9374                        
9375    </p>
9376    <p>Possible Answers:
9377    </p>
9378    <p>
9379                            </p>
9380    <blockquote class="text">
9381    <p>"OK" -
9382                                    </p>
9383    <blockquote class="text">
9384    <p>on success
9385    </p>
9386    </blockquote>
9387                                
9388    
9389    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9390                                    </p>
9391    <blockquote class="text">
9392    <p>If the formatting of the instruments database
9393                                        failed.
9394    </p>
9395    </blockquote>
9396                                
9397    
9398    </blockquote><p>
9399                        
9400    </p>
9401    <a name="FIND LOST DB_INSTRUMENT_FILES"></a><br /><hr />
9402    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9403    <a name="rfc.section.6.8.23"></a><h3>6.8.23.&nbsp;
9404    Checking for lost instrument files</h3>
9405    
9406    <p>The front-end can retrieve the list of all instrument files in the instruments database
9407                        that don't exist in the filesystem by sending the following command:
9408    </p>
9409    <p>
9410                            </p>
9411    <blockquote class="text">
9412    <p>FIND LOST DB_INSTRUMENT_FILES
9413    </p>
9414    </blockquote><p>
9415                        
9416    </p>
9417    <p>Possible Answers:
9418    </p>
9419    <p>
9420                            </p>
9421    <blockquote class="text">
9422    <p>A comma separated list with the absolute path names
9423                                (encapsulated into apostrophes) of all lost instrument files.
9424    </p>
9425    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9426                                    </p>
9427    <blockquote class="text">
9428    <p>in case it failed, providing an appropriate error code and error message.
9429    </p>
9430    </blockquote>
9431                                
9432    
9433    </blockquote><p>
9434                        
9435    </p>
9436    <p>Example:
9437    </p>
9438    <p>
9439                            </p>
9440    <blockquote class="text">
9441    <p>C: "FIND LOST DB_INSTRUMENT_FILES"
9442    </p>
9443    <p>S: "'/gigs/Bosendorfer 290.gig','/gigs/Steinway D.gig','/gigs/Free Piano.gig'"
9444    </p>
9445    </blockquote><p>
9446                        
9447    </p>
9448    <a name="SET DB_INSTRUMENT FILE_PATH"></a><br /><hr />
9449    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9450    <a name="rfc.section.6.8.24"></a><h3>6.8.24.&nbsp;
9451    Replacing an instrument file</h3>
9452    
9453    <p>The front-end can substitute all occurrences of an instrument file
9454                        in the instruments database with a new one by sending the following command:
9455    </p>
9456    <p>
9457                            </p>
9458    <blockquote class="text">
9459    <p>SET DB_INSTRUMENT FILE_PATH &lt;old_path&gt; &lt;new_path&gt;
9460    </p>
9461    </blockquote><p>
9462                        
9463    </p>
9464    <p>Where &lt;old_path&gt; is the absolute path name of the instrument file
9465                        to substitute with &lt;new_path&gt;.
9466    </p>
9467    <p>Possible Answers:
9468    </p>
9469    <p>
9470                            </p>
9471    <blockquote class="text">
9472    <p>"OK" -
9473                                    </p>
9474    <blockquote class="text">
9475    <p>on success
9476    </p>
9477    </blockquote>
9478                                
9479    
9480    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9481                                    </p>
9482    <blockquote class="text">
9483    <p>in case it failed, providing an appropriate error code and error message.
9484    </p>
9485    </blockquote>
9486                                
9487    
9488    </blockquote><p>
9489                        
9490    </p>
9491    <p>Example:
9492    </p>
9493    <p>
9494                            </p>
9495    <blockquote class="text">
9496    <p>C: "SET DB_INSTRUMENT FILE_PATH '/gigs/Bosendorfer 290.gig' '/gigs/pianos/Bosendorfer 290.gig'"
9497  </p>  </p>
9498  <p>S: "OK"  <p>S: "OK"
9499  </p>  </p>
9500  </blockquote><p>  </blockquote><p>
9501                                            
9502  </p>  </p>
9503    <a name="editing_instruments"></a><br /><hr />
9504    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9505    <a name="rfc.section.6.9"></a><h3>6.9.&nbsp;
9506    Editing Instruments</h3>
9507    
9508    <p>The sampler allows to edit instruments while playing with the
9509                    sampler by spawning an external (3rd party) instrument editor
9510                    application for a given instrument. The 3rd party instrument
9511                    editor applications have to place a respective plugin DLL file
9512                    into the sampler's plugins directory. The sampler will
9513                    automatically try to load all plugin DLLs in that directory on
9514                    startup and only on startup!
9515    </p>
9516    <p>At the moment there is only one command for this feature set,
9517                    but this will most probably change in future.
9518    </p>
9519    <a name="EDIT INSTRUMENT"></a><br /><hr />
9520    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9521    <a name="rfc.section.6.9.1"></a><h3>6.9.1.&nbsp;
9522    Opening an appropriate instrument editor application</h3>
9523    
9524    <p>The front-end can request to open an appropriate instrument
9525                        editor application by sending the following command:
9526    </p>
9527    <p>
9528                            </p>
9529    <blockquote class="text">
9530    <p>EDIT CHANNEL INSTRUMENT &lt;sampler-channel&gt;
9531    </p>
9532    </blockquote><p>
9533                        
9534    </p>
9535    <p>Where &lt;sampler-channel&gt; should be replaced by the
9536                        number of the sampler channel as given by the
9537                        <a class='info' href='#ADD CHANNEL'>"ADD CHANNEL"<span> (</span><span class='info'>Adding a new sampler channel</span><span>)</span></a>
9538                        or <a class='info' href='#LIST CHANNELS'>"LIST CHANNELS"<span> (</span><span class='info'>Getting all created sampler channel list</span><span>)</span></a>
9539                        command.
9540    </p>
9541    <p>The sampler will try to ask all registered instrument
9542                        editors (or to be more specific: their sampler plugins)
9543                        whether they are capable to handle the instrument on the
9544                        given sampler channel. The sampler will simply use the first
9545                        instrument editor application which replied with a positive
9546                        answer and spawn that instrument editor application within
9547                        the sampler's process and provide that application access
9548                        to the instrument's data structures, so both applications
9549                        can share and access the same instruments data at the same
9550                        time, thus allowing to immediately hear changes with the
9551                        sampler made by the instrument editor.
9552    </p>
9553    <p>Note: consequently instrument editors are always spawned
9554                        locally on the same machine where the sampler is running
9555                        on!
9556    </p>
9557    <p>Possible Answers:
9558    </p>
9559    <p>
9560                            </p>
9561    <blockquote class="text">
9562    <p>"OK" -
9563                                    </p>
9564    <blockquote class="text">
9565    <p>when an appropriate instrument editor was
9566                                        launched
9567    </p>
9568    </blockquote>
9569                                
9570    
9571    <p>"WRN:&lt;warning-code&gt;:&lt;warning-message&gt;" -
9572                                    </p>
9573    <blockquote class="text">
9574    <p>when an appropriate instrument editor was
9575                                        launched, but there are noteworthy issues
9576    </p>
9577    </blockquote>
9578                                
9579    
9580    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9581                                    </p>
9582    <blockquote class="text">
9583    <p>when an appropriate instrument editor
9584                                        could not be launched
9585    </p>
9586    </blockquote>
9587                                
9588    
9589    </blockquote><p>
9590                        
9591    </p>
9592    <p>Examples:
9593    </p>
9594    <p>
9595                            </p>
9596    <blockquote class="text">
9597    <p>C: "EDIT CHANNEL INSTRUMENT 0"
9598    </p>
9599    <p>S: "OK"
9600    </p>
9601    </blockquote><p>
9602                        
9603    </p>
9604    <a name="file_management"></a><br /><hr />
9605    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9606    <a name="rfc.section.6.10"></a><h3>6.10.&nbsp;
9607    Managing Files</h3>
9608    
9609    <p>You can query detailed informations about files located
9610                    at the same system where the sampler instance is running on.
9611                    Using this command set allows to retrieve file informations
9612                    even remotely from another machine.
9613    </p>
9614    <a name="GET FILE INSTRUMENTS"></a><br /><hr />
9615    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9616    <a name="rfc.section.6.10.1"></a><h3>6.10.1.&nbsp;
9617    Retrieving amount of instruments of a file</h3>
9618    
9619    <p>The front-end can retrieve the amount of instruments
9620                        within a given instrument file by sending the
9621                        following command:
9622    </p>
9623    <p>
9624                            </p>
9625    <blockquote class="text">
9626    <p>GET FILE INSTRUMENTS &lt;filename&gt;
9627    </p>
9628    </blockquote><p>
9629                        
9630    </p>
9631    <p>Where &lt;filename&gt; is the name of the instrument
9632                        file (encapsulated into apostrophes, supporting escape
9633                        sequences as described in chapter
9634                        "<a class='info' href='#character_set'>Character Set and Escape
9635                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9636    </p>
9637    <p>The sampler will try to ask all sampler engines,
9638                        whether they support the given file and ask the first
9639                        engine with a positive answer for the amount of
9640                        instruments.
9641    </p>
9642    <p>Possible Answers:
9643    </p>
9644    <p>
9645                            </p>
9646    <blockquote class="text">
9647    <p>On success, the sampler will answer by
9648                                   returning the amount of instruments.
9649                                
9650    </p>
9651    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9652                                    </p>
9653    <blockquote class="text">
9654    <p>if the file could not be handled
9655    </p>
9656    </blockquote>
9657                                
9658    
9659    </blockquote><p>
9660                        
9661    </p>
9662    <p>Examples:
9663    </p>
9664    <p>
9665                            </p>
9666    <blockquote class="text">
9667    <p>C: "GET FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9668    </p>
9669    <p>S: "10"
9670    </p>
9671    </blockquote><p>
9672                        
9673    </p>
9674    <a name="LIST FILE INSTRUMENTS"></a><br /><hr />
9675    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9676    <a name="rfc.section.6.10.2"></a><h3>6.10.2.&nbsp;
9677    Retrieving all instruments of a file</h3>
9678    
9679    <p>The front-end can retrieve a list of all instruments
9680                        within a given instrument file by sending the
9681                        following command:
9682    </p>
9683    <p>
9684                            </p>
9685    <blockquote class="text">
9686    <p>LIST FILE INSTRUMENTS &lt;filename&gt;
9687    </p>
9688    </blockquote><p>
9689                        
9690    </p>
9691    <p>Where &lt;filename&gt; is the name of the instrument
9692                        file (encapsulated into apostrophes, supporting escape
9693                        sequences as described in chapter
9694                        "<a class='info' href='#character_set'>Character Set and Escape
9695                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>").
9696    </p>
9697    <p>The sampler will try to ask all sampler engines,
9698                        whether they support the given file and ask the first
9699                        engine with a positive answer for a list of IDs for the
9700                        instruments in the given file.
9701    </p>
9702    <p>Possible Answers:
9703    </p>
9704    <p>
9705                            </p>
9706    <blockquote class="text">
9707    <p>On success, the sampler will answer by
9708                                   returning a comma separated list of
9709                                   instrument IDs.
9710                                
9711    </p>
9712    <p>"ERR:&lt;error-code&gt;:&lt;error-message&gt;" -
9713                                    </p>
9714    <blockquote class="text">
9715    <p>if the file could not be handled
9716    </p>
9717    </blockquote>
9718                                
9719    
9720    </blockquote><p>
9721                        
9722    </p>
9723    <p>Examples:
9724    </p>
9725    <p>
9726                            </p>
9727    <blockquote class="text">
9728    <p>C: "LIST FILE INSTRUMENTS 'D:/Sounds/Foo.gig'"
9729    </p>
9730    <p>S: "0,1,2,3,4,5,6,7,8,9"
9731    </p>
9732    </blockquote><p>
9733                        
9734    </p>
9735    <a name="GET FILE INSTRUMENT INFO"></a><br /><hr />
9736    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9737    <a name="rfc.section.6.10.3"></a><h3>6.10.3.&nbsp;
9738    Retrieving informations about one instrument in a file</h3>
9739    
9740    <p>The front-end can retrieve detailed informations
9741                        about a specific instrument within a given instrument
9742                        file by sending the following command:
9743    </p>
9744    <p>
9745                            </p>
9746    <blockquote class="text">
9747    <p>GET FILE INSTRUMENT INFO &lt;filename&gt;
9748                                &lt;instr-id&gt;
9749    </p>
9750    </blockquote><p>
9751                        
9752    </p>
9753    <p>Where &lt;filename&gt; is the name of the instrument
9754                        file (encapsulated into apostrophes, supporting escape
9755                        sequences as described in chapter
9756                        "<a class='info' href='#character_set'>Character Set and Escape
9757                            Sequences<span> (</span><span class='info'>Character Set and Escape Sequences</span><span>)</span></a>") and &lt;instr-id&gt; is the numeric
9758                        instrument ID as returned by the
9759                        <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.
9760    </p>
9761    <p>The sampler will try to ask all sampler engines,
9762                        whether they support the given file and ask the first
9763                        engine with a positive answer for informations about the
9764                        specific instrument in the given file.
9765    </p>
9766    <p>Possible Answers:
9767    </p>
9768    <p>
9769                            </p>
9770    <blockquote class="text">
9771    <p>LinuxSampler will answer by sending a &lt;CRLF&gt; separated list.
9772                                Each answer line begins with the settings category name
9773                                followed by a colon and then a space character &lt;SP&gt; and finally
9774                                the info character string to that setting category. At the
9775                                moment the following categories are defined:
9776    </p>
9777    <p>
9778                                    </p>
9779    <blockquote class="text">
9780    <p>NAME -
9781                                            </p>
9782    <blockquote class="text">
9783    <p>name of the instrument as
9784                                                stored in the instrument file
9785    </p>
9786    </blockquote>
9787                                        
9788    
9789    <p>FORMAT_FAMILY -
9790                                            </p>
9791    <blockquote class="text">
9792    <p>name of the sampler format
9793                                                of the given instrument
9794    </p>
9795    </blockquote>
9796                                        
9797    
9798    <p>FORMAT_VERSION -
9799                                            </p>
9800    <blockquote class="text">
9801    <p>version of the sampler format
9802                                                the instrumen is stored as
9803    </p>
9804    </blockquote>
9805                                        
9806    
9807    <p>PRODUCT -
9808                                            </p>
9809    <blockquote class="text">
9810    <p>official product name of the
9811                                                instrument as stored in the file
9812                                                
9813    </p>
9814    </blockquote>
9815                                        
9816    
9817    <p>ARTISTS -
9818                                            </p>
9819    <blockquote class="text">
9820    <p>artists / sample library
9821                                                vendor of the instrument
9822    </p>
9823    </blockquote>
9824                                        
9825    
9826    <p>KEY_BINDINGS -
9827                                            </p>
9828    <blockquote class="text">
9829    <p>comma separated list of integer values representing
9830                                                   the instrument's key mapping in the range between 0 .. 127,
9831                                                   reflecting the analog meaning of the MIDI specification.
9832    </p>
9833    </blockquote>
9834                                        
9835    
9836    <p>KEYSWITCH_BINDINGS -
9837                                            </p>
9838    <blockquote class="text">
9839    <p>comma separated list of integer values representing
9840                                                   the instrument's keyswitch mapping in the range between 0 .. 127,
9841                                                   reflecting the analog meaning of the MIDI specification.
9842    </p>
9843    </blockquote>
9844                                        
9845    
9846    </blockquote>
9847                                
9848    
9849    </blockquote><p>
9850                        
9851    </p>
9852    <p>The mentioned fields above don't have to be in particular order.
9853    </p>
9854    <p>Example:
9855    </p>
9856    <p>
9857                            </p>
9858    <blockquote class="text">
9859    <p>C: "GET FILE INSTRUMENT INFO 'D:/Sounds/Foo.gig' 0"
9860    </p>
9861    <p>S: "NAME: Lunatic Loops"
9862    </p>
9863    <p>&nbsp;&nbsp;&nbsp;"FORMAT_FAMILY: GIG"
9864    </p>
9865    <p>&nbsp;&nbsp;&nbsp;"FORMAT_VERSION: 3"
9866    </p>
9867    <p>&nbsp;&nbsp;&nbsp;"PRODUCT: The Backbone Bongo Beats"
9868    </p>
9869    <p>&nbsp;&nbsp;&nbsp;"ARTISTS: Jimmy the Fish"
9870    </p>
9871    <p>&nbsp;&nbsp;&nbsp;"."
9872    </p>
9873    </blockquote><p>
9874                        
9875    </p>
9876  <a name="command_syntax"></a><br /><hr />  <a name="command_syntax"></a><br /><hr />
9877  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
9878  <a name="rfc.section.7"></a><h3>7.&nbsp;Command Syntax</h3>  <a name="rfc.section.7"></a><h3>7.&nbsp;
9879    Command Syntax</h3>
9880    
9881  <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>
9882              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>)
9883              where applicable.              where applicable.
9884                            
9885  </p>  </p>
# Line 5771  Intellectual Property and Copyright Stat Line 9937  Intellectual Property and Copyright Stat
9937  <p>command =  <p>command =
9938          </p>          </p>
9939  <blockquote class="text">  <blockquote class="text">
9940  <p>ADD SP CHANNEL  <p>ADD SP add_instruction
9941                                    
9942  </p>  </p>
9943  <p>/ MAP SP map_instruction  <p>/ MAP SP map_instruction
# Line 5796  Intellectual Property and Copyright Stat Line 9962  Intellectual Property and Copyright Stat
9962                                    
9963  </p>  </p>
9964  <p>/ REMOVE SP remove_instruction  <p>/ REMOVE SP remove_instruction
   
9965                                    
9966  </p>  </p>
9967  <p>/ SET SP set_instruction  <p>/ SET SP set_instruction
# Line 5808  Intellectual Property and Copyright Stat Line 9973  Intellectual Property and Copyright Stat
9973  <p>/ UNSUBSCRIBE SP unsubscribe_event  <p>/ UNSUBSCRIBE SP unsubscribe_event
9974                                    
9975  </p>  </p>
 <p>/ SELECT SP text  
                   
 </p>  
9976  <p>/ RESET SP reset_instruction  <p>/ RESET SP reset_instruction
9977                                    
9978  </p>  </p>
9979  <p>/ CLEAR SP clear_instruction  <p>/ CLEAR SP clear_instruction
9980                                    
9981  </p>  </p>
9982    <p>/ FIND SP find_instruction
9983                    
9984    </p>
9985    <p>/ MOVE SP move_instruction
9986                    
9987    </p>
9988    <p>/ COPY SP copy_instruction
9989                    
9990    </p>
9991    <p>/ EDIT SP edit_instruction
9992                    
9993    </p>
9994    <p>/ FORMAT SP format_instruction
9995                    
9996    </p>
9997    <p>/ SEND SP send_instruction
9998                    
9999    </p>
10000  <p>/ RESET  <p>/ RESET
10001                                    
10002  </p>  </p>
# Line 5826  Intellectual Property and Copyright Stat Line 10006  Intellectual Property and Copyright Stat
10006  </blockquote><p>  </blockquote><p>
10007    
10008  </p>  </p>
10009    <p>add_instruction =
10010            </p>
10011    <blockquote class="text">
10012    <p>CHANNEL
10013                    
10014    </p>
10015    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10016                    
10017    </p>
10018    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP db_path SP filename
10019                    
10020    </p>
10021    <p>/ DB_INSTRUMENTS SP NON_MODAL SP scan_mode SP FILE_AS_DIR SP db_path SP filename
10022                    
10023    </p>
10024    <p>/ DB_INSTRUMENTS SP scan_mode SP db_path SP filename
10025                    
10026    </p>
10027    <p>/ DB_INSTRUMENTS SP scan_mode SP FILE_AS_DIR SP db_path SP filename
10028                    
10029    </p>
10030    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename
10031                    
10032    </p>
10033    <p>/ DB_INSTRUMENTS SP NON_MODAL SP db_path SP filename SP instrument_index
10034                    
10035    </p>
10036    <p>/ DB_INSTRUMENTS SP db_path SP filename
10037                    
10038    </p>
10039    <p>/ DB_INSTRUMENTS SP db_path SP filename SP instrument_index
10040                    
10041    </p>
10042    <p>/ MIDI_INSTRUMENT_MAP
10043                    
10044    </p>
10045    <p>/ MIDI_INSTRUMENT_MAP SP map_name
10046                    
10047    </p>
10048    </blockquote><p>
10049    
10050    </p>
10051  <p>subscribe_event =  <p>subscribe_event =
10052          </p>          </p>
10053  <blockquote class="text">  <blockquote class="text">
10054  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
10055                    
10056    </p>
10057    <p>/ AUDIO_OUTPUT_DEVICE_INFO
10058                    
10059    </p>
10060    <p>/ MIDI_INPUT_DEVICE_COUNT
10061                    
10062    </p>
10063    <p>/ MIDI_INPUT_DEVICE_INFO
10064                    
10065    </p>
10066    <p>/ CHANNEL_COUNT
10067                    
10068    </p>
10069    <p>/ CHANNEL_MIDI
10070                    
10071    </p>
10072    <p>/ DEVICE_MIDI
10073                                    
10074  </p>  </p>
10075  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5844  Intellectual Property and Copyright Stat Line 10084  Intellectual Property and Copyright Stat
10084  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
10085                                    
10086  </p>  </p>
10087    <p>/ FX_SEND_COUNT
10088                    
10089    </p>
10090    <p>/ FX_SEND_INFO
10091                    
10092    </p>
10093    <p>/ MIDI_INSTRUMENT_MAP_COUNT
10094                    
10095    </p>
10096    <p>/ MIDI_INSTRUMENT_MAP_INFO
10097                    
10098    </p>
10099    <p>/ MIDI_INSTRUMENT_COUNT
10100                    
10101    </p>
10102    <p>/ MIDI_INSTRUMENT_INFO
10103                    
10104    </p>
10105    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
10106                    
10107    </p>
10108    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
10109                    
10110    </p>
10111    <p>/ DB_INSTRUMENT_COUNT
10112                    
10113    </p>
10114    <p>/ DB_INSTRUMENT_INFO
10115                    
10116    </p>
10117    <p>/ DB_INSTRUMENTS_JOB_INFO
10118                    
10119    </p>
10120  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
10121                                    
10122  </p>  </p>
10123    <p>/ TOTAL_STREAM_COUNT
10124                    
10125    </p>
10126  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10127                                    
10128  </p>  </p>
10129    <p>/ GLOBAL_INFO
10130                    
10131    </p>
10132  </blockquote><p>  </blockquote><p>
10133    
10134  </p>  </p>
10135  <p>unsubscribe_event =  <p>unsubscribe_event =
10136          </p>          </p>
10137  <blockquote class="text">  <blockquote class="text">
10138  <p>CHANNEL_COUNT  <p>AUDIO_OUTPUT_DEVICE_COUNT
10139                    
10140    </p>
10141    <p>/ AUDIO_OUTPUT_DEVICE_INFO
10142                    
10143    </p>
10144    <p>/ MIDI_INPUT_DEVICE_COUNT
10145                    
10146    </p>
10147    <p>/ MIDI_INPUT_DEVICE_INFO
10148                    
10149    </p>
10150    <p>/ CHANNEL_COUNT
10151                    
10152    </p>
10153    <p>/ CHANNEL_MIDI
10154                    
10155    </p>
10156    <p>/ DEVICE_MIDI
10157                                    
10158  </p>  </p>
10159  <p>/ VOICE_COUNT  <p>/ VOICE_COUNT
# Line 5871  Intellectual Property and Copyright Stat Line 10168  Intellectual Property and Copyright Stat
10168  <p>/ CHANNEL_INFO  <p>/ CHANNEL_INFO
10169                                    
10170  </p>  </p>
10171    <p>/ FX_SEND_COUNT
10172                    
10173    </p>
10174    <p>/ FX_SEND_INFO
10175                    
10176    </p>
10177    <p>/ MIDI_INSTRUMENT_MAP_COUNT
10178                    
10179    </p>
10180    <p>/ MIDI_INSTRUMENT_MAP_INFO
10181                    
10182    </p>
10183    <p>/ MIDI_INSTRUMENT_COUNT
10184                    
10185    </p>
10186    <p>/ MIDI_INSTRUMENT_INFO
10187                    
10188    </p>
10189    <p>/ DB_INSTRUMENT_DIRECTORY_COUNT
10190                    
10191    </p>
10192    <p>/ DB_INSTRUMENT_DIRECTORY_INFO
10193                    
10194    </p>
10195    <p>/ DB_INSTRUMENT_COUNT
10196                    
10197    </p>
10198    <p>/ DB_INSTRUMENT_INFO
10199                    
10200    </p>
10201    <p>/ DB_INSTRUMENTS_JOB_INFO
10202                    
10203    </p>
10204  <p>/ MISCELLANEOUS  <p>/ MISCELLANEOUS
10205                                    
10206  </p>  </p>
10207    <p>/ TOTAL_STREAM_COUNT
10208                    
10209    </p>
10210  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10211                                    
10212  </p>  </p>
10213    <p>/ GLOBAL_INFO
10214                    
10215    </p>
10216  </blockquote><p>  </blockquote><p>
10217    
10218  </p>  </p>
10219  <p>map_instruction =  <p>map_instruction =
10220          </p>          </p>
10221  <blockquote class="text">  <blockquote class="text">
10222  <p>MIDI_INSTRUMENT SP midi_bank_msb SP midi_bank_lsb SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value  <p>MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value
10223                                    
10224  </p>  </p>
10225  <p>/ MIDI_INSTRUMENT SP midi_bank_msb SP midi_bank_lsb SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode
10226                                    
10227  </p>  </p>
10228  <p>/ MIDI_INSTRUMENT SP midi_bank_msb SP midi_bank_lsb SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP entry_name
10229                                    
10230  </p>  </p>
10231  <p>/ MIDI_INSTRUMENT SP midi_bank_msb SP midi_bank_lsb SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name  <p>/ MIDI_INSTRUMENT SP modal_arg midi_map SP midi_bank SP midi_prog SP engine_name SP filename SP instrument_index SP volume_value SP instr_load_mode SP entry_name
10232                                    
10233  </p>  </p>
10234  </blockquote><p>  </blockquote><p>
# Line 5901  Intellectual Property and Copyright Stat Line 10237  Intellectual Property and Copyright Stat
10237  <p>unmap_instruction =  <p>unmap_instruction =
10238          </p>          </p>
10239  <blockquote class="text">  <blockquote class="text">
10240  <p>MIDI_INSTRUMENT SP midi_bank_msb SP midi_bank_lsb SP midi_prog  <p>MIDI_INSTRUMENT SP midi_map SP midi_bank SP midi_prog
10241                                    
10242  </p>  </p>
10243  </blockquote><p>  </blockquote><p>
# Line 5913  Intellectual Property and Copyright Stat Line 10249  Intellectual Property and Copyright Stat
10249  <p>CHANNEL SP sampler_channel  <p>CHANNEL SP sampler_channel
10250                                    
10251  </p>  </p>
10252    <p>/ MIDI_INSTRUMENT_MAP SP midi_map
10253                    
10254    </p>
10255    <p>/ MIDI_INSTRUMENT_MAP SP ALL
10256                    
10257    </p>
10258    <p>/ DB_INSTRUMENT_DIRECTORY SP FORCE SP db_path
10259                    
10260    </p>
10261    <p>/ DB_INSTRUMENT_DIRECTORY SP db_path
10262                    
10263    </p>
10264    <p>/ DB_INSTRUMENT SP db_path
10265                    
10266    </p>
10267  </blockquote><p>  </blockquote><p>
10268    
10269  </p>  </p>
# Line 5991  Intellectual Property and Copyright Stat Line 10342  Intellectual Property and Copyright Stat
10342  <p>/ SERVER SP INFO  <p>/ SERVER SP INFO
10343                                    
10344  </p>  </p>
10345    <p>/ TOTAL_STREAM_COUNT
10346                    
10347    </p>
10348  <p>/ TOTAL_VOICE_COUNT  <p>/ TOTAL_VOICE_COUNT
10349                                    
10350  </p>  </p>
10351  <p>/ TOTAL_VOICE_COUNT_MAX  <p>/ TOTAL_VOICE_COUNT_MAX
10352                                    
10353  </p>  </p>
10354  <p>/ MIDI_INSTRUMENTS  <p>/ MIDI_INSTRUMENTS SP midi_map
10355                    
10356    </p>
10357    <p>/ MIDI_INSTRUMENTS SP ALL
10358                    
10359    </p>
10360    <p>/ MIDI_INSTRUMENT SP INFO SP midi_map SP midi_bank SP midi_prog
10361                    
10362    </p>
10363    <p>/ MIDI_INSTRUMENT_MAPS
10364                                    
10365  </p>  </p>
10366  <p>/ MIDI_INSTRUMENT SP INFO SP midi_bank_msb SP midi_bank_lsb SP midi_prog  <p>/ MIDI_INSTRUMENT_MAP SP INFO SP midi_map
10367                    
10368    </p>
10369    <p>/ FX_SENDS SP sampler_channel
10370                    
10371    </p>
10372    <p>/ FX_SEND SP INFO SP sampler_channel SP fx_send_id
10373                    
10374    </p>
10375    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10376                    
10377    </p>
10378    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10379                    
10380    </p>
10381    <p>/ DB_INSTRUMENT_DIRECTORY SP INFO SP db_path
10382                    
10383    </p>
10384    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10385                    
10386    </p>
10387    <p>/ DB_INSTRUMENTS SP db_path
10388                    
10389    </p>
10390    <p>/ DB_INSTRUMENT SP INFO SP db_path
10391                    
10392    </p>
10393    <p>/ DB_INSTRUMENTS_JOB SP INFO SP number
10394                    
10395    </p>
10396    <p>/ VOLUME
10397                    
10398    </p>
10399    <p>/ VOICES
10400                    
10401    </p>
10402    <p>/ STREAMS
10403                    
10404    </p>
10405    <p>/ FILE SP INSTRUMENTS SP filename
10406                    
10407    </p>
10408    <p>/ FILE SP INSTRUMENT SP INFO SP filename SP instrument_index
10409                                    
10410  </p>  </p>
10411  </blockquote><p>  </blockquote><p>
# Line 6018  Intellectual Property and Copyright Stat Line 10423  Intellectual Property and Copyright Stat
10423  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list  <p>/ MIDI_INPUT_DEVICE_PARAMETER SP number SP string '=' param_val_list
10424                                    
10425  </p>  </p>
10426    <p>/ MIDI_INPUT_PORT_PARAMETER SP number SP number SP string '=' NONE
10427                    
10428    </p>
10429  <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
10430                                    
10431  </p>  </p>
10432  <p>/ CHANNEL SP set_chan_instruction  <p>/ CHANNEL SP set_chan_instruction
10433                                    
10434  </p>  </p>
10435    <p>/ MIDI_INSTRUMENT_MAP SP NAME SP midi_map SP map_name
10436                    
10437    </p>
10438    <p>/ FX_SEND SP NAME SP sampler_channel SP fx_send_id SP fx_send_name
10439                    
10440    </p>
10441    <p>/ FX_SEND SP AUDIO_OUTPUT_CHANNEL SP sampler_channel SP fx_send_id SP audio_channel_index SP audio_channel_index
10442                    
10443    </p>
10444    <p>/ FX_SEND SP MIDI_CONTROLLER SP sampler_channel SP fx_send_id SP midi_ctrl
10445                    
10446    </p>
10447    <p>/ FX_SEND SP LEVEL SP sampler_channel SP fx_send_id SP volume_value
10448                    
10449    </p>
10450    <p>/ DB_INSTRUMENT_DIRECTORY SP NAME SP db_path SP stringval_escaped
10451                    
10452    </p>
10453    <p>/ DB_INSTRUMENT_DIRECTORY SP DESCRIPTION SP db_path SP stringval_escaped
10454                    
10455    </p>
10456    <p>/ DB_INSTRUMENT SP NAME SP db_path SP stringval_escaped
10457                    
10458    </p>
10459    <p>/ DB_INSTRUMENT SP DESCRIPTION SP db_path SP stringval_escaped
10460                    
10461    </p>
10462    <p>/ DB_INSTRUMENT SP FILE_PATH SP filename SP filename
10463                    
10464    </p>
10465  <p>/ ECHO SP boolean  <p>/ ECHO SP boolean
10466                                    
10467  </p>  </p>
10468    <p>/ VOLUME SP volume_value
10469                    
10470    </p>
10471    <p>/ VOICES SP number
10472                    
10473    </p>
10474    <p>/ STREAMS SP number
10475                    
10476    </p>
10477  </blockquote><p>  </blockquote><p>
10478    
10479  </p>  </p>
# Line 6045  Intellectual Property and Copyright Stat Line 10492  Intellectual Property and Copyright Stat
10492  <p>/ MIDI_INPUT_DEVICE SP string  <p>/ MIDI_INPUT_DEVICE SP string
10493                                    
10494  </p>  </p>
10495    <p>/ FX_SEND SP sampler_channel SP midi_ctrl
10496                    
10497    </p>
10498    <p>/ FX_SEND SP sampler_channel SP midi_ctrl SP fx_send_name
10499                    
10500    </p>
10501  </blockquote><p>  </blockquote><p>
10502    
10503  </p>  </p>
# Line 6060  Intellectual Property and Copyright Stat Line 10513  Intellectual Property and Copyright Stat
10513  <p>clear_instruction =  <p>clear_instruction =
10514          </p>          </p>
10515  <blockquote class="text">  <blockquote class="text">
10516  <p>MIDI_INSTRUMENTS  <p>MIDI_INSTRUMENTS SP midi_map
10517                    
10518    </p>
10519    <p>/ MIDI_INSTRUMENTS SP ALL
10520                    
10521    </p>
10522    </blockquote><p>
10523    
10524    </p>
10525    <p>find_instruction =
10526            </p>
10527    <blockquote class="text">
10528    <p>DB_INSTRUMENTS SP NON_RECURSIVE SP db_path SP query_val_list
10529                    
10530    </p>
10531    <p>/ DB_INSTRUMENTS SP db_path SP query_val_list
10532                    
10533    </p>
10534    <p>/ DB_INSTRUMENT_DIRECTORIES SP NON_RECURSIVE SP db_path SP query_val_list
10535                    
10536    </p>
10537    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path SP query_val_list
10538                    
10539    </p>
10540    <p>/ LOST SP DB_INSTRUMENT_FILES
10541                    
10542    </p>
10543    </blockquote><p>
10544    
10545    </p>
10546    <p>move_instruction =
10547            </p>
10548    <blockquote class="text">
10549    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10550                    
10551    </p>
10552    <p>/ DB_INSTRUMENT SP db_path SP db_path
10553                    
10554    </p>
10555    </blockquote><p>
10556    
10557    </p>
10558    <p>copy_instruction =
10559            </p>
10560    <blockquote class="text">
10561    <p>DB_INSTRUMENT_DIRECTORY SP db_path SP db_path
10562                    
10563    </p>
10564    <p>/ DB_INSTRUMENT SP db_path SP db_path
10565                                    
10566  </p>  </p>
10567  </blockquote><p>  </blockquote><p>
# Line 6075  Intellectual Property and Copyright Stat Line 10576  Intellectual Property and Copyright Stat
10576  <p>/ MIDI_INPUT_DEVICE SP number  <p>/ MIDI_INPUT_DEVICE SP number
10577                                    
10578  </p>  </p>
10579    <p>/ FX_SEND SP sampler_channel SP fx_send_id
10580                    
10581    </p>
10582  </blockquote><p>  </blockquote><p>
10583    
10584  </p>  </p>
# Line 6126  Intellectual Property and Copyright Stat Line 10630  Intellectual Property and Copyright Stat
10630  <p>/ SOLO SP sampler_channel SP boolean  <p>/ SOLO SP sampler_channel SP boolean
10631                                    
10632  </p>  </p>
10633    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP midi_map
10634                    
10635    </p>
10636    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP NONE
10637                    
10638    </p>
10639    <p>/ MIDI_INSTRUMENT_MAP SP sampler_channel SP DEFAULT
10640                    
10641    </p>
10642    </blockquote><p>
10643    
10644    </p>
10645    <p>edit_instruction =
10646            </p>
10647    <blockquote class="text">
10648    <p>CHANNEL SP INSTRUMENT SP sampler_channel
10649                    
10650    </p>
10651    </blockquote><p>
10652    
10653    </p>
10654    <p>format_instruction =
10655            </p>
10656    <blockquote class="text">
10657    <p>INSTRUMENTS_DB
10658                    
10659    </p>
10660    </blockquote><p>
10661    
10662    </p>
10663    <p>modal_arg =
10664            </p>
10665    <blockquote class="text">
10666    <p>/* epsilon (empty argument) */
10667                    
10668    </p>
10669    <p>/ NON_MODAL SP
10670                    
10671    </p>
10672  </blockquote><p>  </blockquote><p>
10673    
10674  </p>  </p>
# Line 6174  Intellectual Property and Copyright Stat Line 10717  Intellectual Property and Copyright Stat
10717  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS  <p>/ AVAILABLE_AUDIO_OUTPUT_DRIVERS
10718                                    
10719  </p>  </p>
10720  <p>/ MIDI_INSTRUMENTS  <p>/ MIDI_INSTRUMENTS SP midi_map
10721                    
10722    </p>
10723    <p>/ MIDI_INSTRUMENTS SP ALL
10724                    
10725    </p>
10726    <p>/ MIDI_INSTRUMENT_MAPS
10727                    
10728    </p>
10729    <p>/ FX_SENDS SP sampler_channel
10730                    
10731    </p>
10732    <p>/ DB_INSTRUMENT_DIRECTORIES SP RECURSIVE SP db_path
10733                    
10734    </p>
10735    <p>/ DB_INSTRUMENT_DIRECTORIES SP db_path
10736                    
10737    </p>
10738    <p>/ DB_INSTRUMENTS SP RECURSIVE SP db_path
10739                    
10740    </p>
10741    <p>/ DB_INSTRUMENTS SP db_path
10742                    
10743    </p>
10744    <p>/ FILE SP INSTRUMENTS SP filename
10745                    
10746    </p>
10747    </blockquote><p>
10748    
10749    </p>
10750    <p>send_instruction =
10751            </p>
10752    <blockquote class="text">
10753    <p>CHANNEL SP MIDI_DATA SP string SP sampler_channel SP number SP number
10754                                    
10755  </p>  </p>
10756  </blockquote><p>  </blockquote><p>
# Line 6273  Intellectual Property and Copyright Stat Line 10849  Intellectual Property and Copyright Stat
10849  </blockquote><p>  </blockquote><p>
10850    
10851  </p>  </p>
10852  <p>midi_bank_msb =  <p>midi_map =
10853          </p>          </p>
10854  <blockquote class="text">  <blockquote class="text">
10855  <p>number  <p>number
# Line 6282  Intellectual Property and Copyright Stat Line 10858  Intellectual Property and Copyright Stat
10858  </blockquote><p>  </blockquote><p>
10859    
10860  </p>  </p>
10861  <p>midi_bank_lsb =  <p>midi_bank =
10862          </p>          </p>
10863  <blockquote class="text">  <blockquote class="text">
10864  <p>number  <p>number
# Line 6300  Intellectual Property and Copyright Stat Line 10876  Intellectual Property and Copyright Stat
10876  </blockquote><p>  </blockquote><p>
10877    
10878  </p>  </p>
10879    <p>midi_ctrl =
10880            </p>
10881    <blockquote class="text">
10882    <p>number
10883                    
10884    </p>
10885    </blockquote><p>
10886    
10887    </p>
10888  <p>volume_value =  <p>volume_value =
10889          </p>          </p>
10890  <blockquote class="text">  <blockquote class="text">
# Line 6330  Intellectual Property and Copyright Stat Line 10915  Intellectual Property and Copyright Stat
10915  </blockquote><p>  </blockquote><p>
10916    
10917  </p>  </p>
10918    <p>fx_send_id =
10919            </p>
10920    <blockquote class="text">
10921    <p>number
10922                    
10923    </p>
10924    </blockquote><p>
10925    
10926    </p>
10927  <p>engine_name =  <p>engine_name =
10928          </p>          </p>
10929  <blockquote class="text">  <blockquote class="text">
# Line 6342  Intellectual Property and Copyright Stat Line 10936  Intellectual Property and Copyright Stat
10936  <p>filename =  <p>filename =
10937          </p>          </p>
10938  <blockquote class="text">  <blockquote class="text">
10939  <p>stringval  <p>path
10940                    
10941    </p>
10942    </blockquote><p>
10943    
10944    </p>
10945    <p>db_path =
10946            </p>
10947    <blockquote class="text">
10948    <p>path
10949                    
10950    </p>
10951    </blockquote><p>
10952    
10953    </p>
10954    <p>map_name =
10955            </p>
10956    <blockquote class="text">
10957    <p>stringval_escaped
10958                                    
10959  </p>  </p>
10960  </blockquote><p>  </blockquote><p>
# Line 6351  Intellectual Property and Copyright Stat Line 10963  Intellectual Property and Copyright Stat
10963  <p>entry_name =  <p>entry_name =
10964          </p>          </p>
10965  <blockquote class="text">  <blockquote class="text">
10966  <p>stringval  <p>stringval_escaped
10967                    
10968    </p>
10969    </blockquote><p>
10970    
10971    </p>
10972    <p>fx_send_name =
10973            </p>
10974    <blockquote class="text">
10975    <p>stringval_escaped
10976                                    
10977  </p>  </p>
10978  </blockquote><p>  </blockquote><p>
# Line 6387  Intellectual Property and Copyright Stat Line 11008  Intellectual Property and Copyright Stat
11008  </blockquote><p>  </blockquote><p>
11009    
11010  </p>  </p>
11011    <p>query_val_list =
11012            </p>
11013    <blockquote class="text">
11014    <p>string '=' query_val
11015                    
11016    </p>
11017    <p>/ query_val_list SP string '=' query_val
11018                    
11019    </p>
11020    </blockquote><p>
11021    
11022    </p>
11023    <p>query_val =
11024            </p>
11025    <blockquote class="text">
11026    <p>text_escaped
11027                    
11028    </p>
11029    <p>/ stringval_escaped
11030                    
11031    </p>
11032    </blockquote><p>
11033    
11034    </p>
11035    <p>scan_mode =
11036            </p>
11037    <blockquote class="text">
11038    <p>RECURSIVE
11039                    
11040    </p>
11041    <p>/ NON_RECURSIVE
11042                    
11043    </p>
11044    <p>/ FLAT
11045                    
11046    </p>
11047    </blockquote><p>
11048    
11049    </p>
11050    <a name="character_set"></a><br /><hr />
11051    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11052    <a name="rfc.section.7.1"></a><h3>7.1.&nbsp;
11053    Character Set and Escape Sequences</h3>
11054    
11055    <p>Older versions of this protocol up to and including v1.1 only
11056                    supported the standard ASCII character set (ASCII code 0 - 127)
11057                    <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
11058                    however support the Extended ASCII character set (ASCII code
11059                    0 - 255). The same group of younger protocols also support
11060                    escape sequences, but only for certain, explicitly declared
11061                    parts of the protocol. The supported escape sequences are
11062                    defined as follows:
11063    </p><table class="full" align="center" border="0" cellpadding="2" cellspacing="2">
11064    <col align="left"><col align="left">
11065    <tr><th align="left">ASCII Character Sequence</th><th align="left">Translated into (Name)</th></tr>
11066    <tr>
11067    <td align="left">\n</td>
11068    <td align="left">new line</td>
11069    </tr>
11070    <tr>
11071    <td align="left">\r</td>
11072    <td align="left">carriage return</td>
11073    </tr>
11074    <tr>
11075    <td align="left">\f</td>
11076    <td align="left">form feed</td>
11077    </tr>
11078    <tr>
11079    <td align="left">\t</td>
11080    <td align="left">horizontal tab</td>
11081    </tr>
11082    <tr>
11083    <td align="left">\v</td>
11084    <td align="left">vertical tab</td>
11085    </tr>
11086    <tr>
11087    <td align="left">\'</td>
11088    <td align="left">apostrophe</td>
11089    </tr>
11090    <tr>
11091    <td align="left">\"</td>
11092    <td align="left">quotation mark</td>
11093    </tr>
11094    <tr>
11095    <td align="left">\\</td>
11096    <td align="left">backslash</td>
11097    </tr>
11098    <tr>
11099    <td align="left">\OOO</td>
11100    <td align="left">three digit octal ASCII code of the character</td>
11101    </tr>
11102    <tr>
11103    <td align="left">\xHH</td>
11104    <td align="left">two digit hex ASCII code of the character</td>
11105    </tr>
11106    </table>
11107    <br clear="all" />
11108    
11109    <p>Notice: due to the transition of certain parts of the
11110                    protocol which now support escape sequences, a slight backward
11111                    incompatibility to protocols version v1.1 and younger has been
11112                    introduced. The only difference is that in parts of the protocol
11113                    where escape characters are now supported, a backslash characters
11114                    MUST be escaped as well (that is as double backslash), whereas
11115                    in the old versions a single backslash was sufficient.
11116    </p>
11117    <p>The following LSCP commands support escape sequences as part
11118                    of their filename / path based arguments and / or may contain
11119                    a filename / path with escape sequences in their response:
11120                    </p>
11121    <blockquote class="text">
11122    <p><a class='info' href='#LOAD INSTRUMENT'>"LOAD INSTRUMENT"<span> (</span><span class='info'>Loading an instrument</span><span>)</span></a>
11123    </p>
11124    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
11125    </p>
11126    <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>
11127    </p>
11128    <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>
11129    </p>
11130    <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>
11131    </p>
11132    <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>
11133    </p>
11134    <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>
11135    </p>
11136    <p><a class='info' href='#REMOVE DB_INSTRUMENT'>"REMOVE DB_INSTRUMENT"<span> (</span><span class='info'>Removing an instrument</span><span>)</span></a>
11137    </p>
11138    <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>
11139    </p>
11140    <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>
11141    </p>
11142    <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>
11143    </p>
11144    <p><a class='info' href='#GET DB_INSTRUMENTS'>"GET DB_INSTRUMENTS"<span> (</span><span class='info'>Getting amount of instruments</span><span>)</span></a>
11145    </p>
11146    <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>
11147    </p>
11148    <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>
11149    </p>
11150    <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>
11151    </p>
11152    <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>
11153    </p>
11154    <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>
11155    </p>
11156    <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>
11157    </p>
11158    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11159    </p>
11160    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11161    </p>
11162    <p><a class='info' href='#MOVE DB_INSTRUMENT'>"MOVE DB_INSTRUMENT"<span> (</span><span class='info'>Moving an instrument</span><span>)</span></a>
11163    </p>
11164    <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>
11165    </p>
11166    <p><a class='info' href='#COPY DB_INSTRUMENT'>"COPY DB_INSTRUMENT"<span> (</span><span class='info'>Copying instruments</span><span>)</span></a>
11167    </p>
11168    <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>
11169    </p>
11170    <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>
11171    </p>
11172    <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>
11173    </p>
11174    <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>
11175    </p>
11176    <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>
11177    </p>
11178    <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>
11179    </p>
11180    </blockquote><p>
11181                    Note that the forward slash character ('/') has a special meaning in
11182                    filename / path based arguments: it acts as separator of the nodes in
11183                    the path, thus if a directory- or filename includes a forward slash
11184                    (not intended as path node separator), you MUST escape that slash
11185                    either with the respective hex escape sequence ("\x2f") or with the
11186                    respective octal escape sequence ("\057").
11187                    
11188    </p>
11189    <p>
11190                    Note for Windows: file path arguments in LSCP are expected
11191                    to use forward slashes as directory node separator similar
11192                    to Unix based operating systems. In contrast to Unix however
11193                    a Windows typical drive character is expected to be
11194                    prefixed to the path. That is an original Windows file path
11195                    like "D:\Sounds\My.gig" would become in LSCP:
11196                    "D:/Sounds/My.gig".
11197                    
11198    </p>
11199    <p>
11200                    The following LSCP commands even support escape sequences as
11201                    part of at least one of their text-based arguments (i.e. entity name,
11202                    description) and / or may contain escape sequences in at least one of
11203                    their text-based fields in their response:
11204                    </p>
11205    <blockquote class="text">
11206    <p><a class='info' href='#GET SERVER INFO'>"GET SERVER INFO"<span> (</span><span class='info'>General sampler informations</span><span>)</span></a>
11207    </p>
11208    <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>
11209    </p>
11210    <p><a class='info' href='#GET CHANNEL INFO'>"GET CHANNEL INFO"<span> (</span><span class='info'>Getting sampler channel information</span><span>)</span></a>
11211    </p>
11212    <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>
11213    </p>
11214    <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>
11215    </p>
11216    <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>
11217    </p>
11218    <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>
11219    </p>
11220    <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>
11221    </p>
11222    <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>
11223    </p>
11224    <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>
11225    </p>
11226    <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>
11227    </p>
11228    <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>
11229    </p>
11230    <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>
11231    </p>
11232    <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>
11233    </p>
11234    <p><a class='info' href='#FIND DB_INSTRUMENT_DIRECTORIES'>"FIND DB_INSTRUMENT_DIRECTORIES"<span> (</span><span class='info'>Finding directories</span><span>)</span></a>
11235    </p>
11236    <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>
11237    </p>
11238    <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>
11239    </p>
11240    <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>
11241    </p>
11242    <p><a class='info' href='#FIND DB_INSTRUMENTS'>"FIND DB_INSTRUMENTS"<span> (</span><span class='info'>Finding instruments</span><span>)</span></a>
11243    </p>
11244    </blockquote><p>
11245                    Please note that these lists are manually maintained. If you
11246                    find a command that also supports escape sequences we forgot to
11247                    mention here, please report it!
11248                    
11249    </p>
11250  <a name="events"></a><br /><hr />  <a name="events"></a><br /><hr />
11251  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11252  <a name="rfc.section.8"></a><h3>8.&nbsp;Events</h3>  <a name="rfc.section.8"></a><h3>8.&nbsp;
11253    Events</h3>
11254    
11255  <p>This chapter will describe all currently defined events supported by LinuxSampler.  <p>This chapter will describe all currently defined events supported by LinuxSampler.
11256  </p>  </p>
11257  <a name="SUBSCRIBE CHANNEL"></a><br /><hr />  <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT"></a><br /><hr />
11258  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11259  <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;
11260    Number of audio output devices changed</h3>
11261    
11262    <p>Client may want to be notified when the total number of audio output devices on the
11263                    back-end changes by issuing the following command:
11264    </p>
11265    <p>
11266                        </p>
11267    <blockquote class="text">
11268    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_COUNT
11269    </p>
11270    </blockquote><p>
11271                    
11272    </p>
11273    <p>Server will start sending the following notification messages:
11274    </p>
11275    <p>
11276                        </p>
11277    <blockquote class="text">
11278    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_COUNT:&lt;devices&gt;"
11279    </p>
11280    </blockquote><p>
11281                    
11282    </p>
11283    <p>where &lt;devices&gt; will be replaced by the new number
11284                    of audio output devices.
11285    </p>
11286    <a name="SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO"></a><br /><hr />
11287    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11288    <a name="rfc.section.8.2"></a><h3>8.2.&nbsp;
11289    Audio output device's settings changed</h3>
11290    
11291    <p>Client may want to be notified when changes were made to audio output devices on the
11292                    back-end by issuing the following command:
11293    </p>
11294    <p>
11295                        </p>
11296    <blockquote class="text">
11297    <p>SUBSCRIBE AUDIO_OUTPUT_DEVICE_INFO
11298    </p>
11299    </blockquote><p>
11300                    
11301    </p>
11302    <p>Server will start sending the following notification messages:
11303    </p>
11304    <p>
11305                        </p>
11306    <blockquote class="text">
11307    <p>"NOTIFY:AUDIO_OUTPUT_DEVICE_INFO:&lt;device-id&gt;"
11308    </p>
11309    </blockquote><p>
11310                    
11311    </p>
11312    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the audio output device,
11313                    which settings has been changed. The front-end will have to send
11314                    the respective command to actually get the audio output device info. Because these messages
11315                    will be triggered by LSCP commands issued by other clients rather than real
11316                    time events happening on the server, it is believed that an empty notification
11317                    message is sufficient here.
11318    </p>
11319    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_COUNT"></a><br /><hr />
11320    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11321    <a name="rfc.section.8.3"></a><h3>8.3.&nbsp;
11322    Number of MIDI input devices changed</h3>
11323    
11324    <p>Client may want to be notified when the total number of MIDI input devices on the
11325                    back-end changes by issuing the following command:
11326    </p>
11327    <p>
11328                        </p>
11329    <blockquote class="text">
11330    <p>SUBSCRIBE MIDI_INPUT_DEVICE_COUNT
11331    </p>
11332    </blockquote><p>
11333                    
11334    </p>
11335    <p>Server will start sending the following notification messages:
11336    </p>
11337    <p>
11338                        </p>
11339    <blockquote class="text">
11340    <p>"NOTIFY:MIDI_INPUT_DEVICE_COUNT:&lt;devices&gt;"
11341    </p>
11342    </blockquote><p>
11343                    
11344    </p>
11345    <p>where &lt;devices&gt; will be replaced by the new number
11346                    of MIDI input devices.
11347    </p>
11348    <a name="SUBSCRIBE MIDI_INPUT_DEVICE_INFO"></a><br /><hr />
11349    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11350    <a name="rfc.section.8.4"></a><h3>8.4.&nbsp;
11351    MIDI input device's settings changed</h3>
11352    
11353    <p>Client may want to be notified when changes were made to MIDI input devices on the
11354                    back-end by issuing the following command:
11355    </p>
11356    <p>
11357                        </p>
11358    <blockquote class="text">
11359    <p>SUBSCRIBE MIDI_INPUT_DEVICE_INFO
11360    </p>
11361    </blockquote><p>
11362                    
11363    </p>
11364    <p>Server will start sending the following notification messages:
11365    </p>
11366    <p>
11367                        </p>
11368    <blockquote class="text">
11369    <p>"NOTIFY:MIDI_INPUT_DEVICE_INFO:&lt;device-id&gt;"
11370    </p>
11371    </blockquote><p>
11372                    
11373    </p>
11374    <p>where &lt;device-id&gt; will be replaced by the numerical ID of the MIDI input device,
11375                    which settings has been changed. The front-end will have to send
11376                    the respective command to actually get the MIDI input device info. Because these messages
11377                    will be triggered by LSCP commands issued by other clients rather than real
11378                    time events happening on the server, it is believed that an empty notification
11379                    message is sufficient here.
11380    </p>
11381    <a name="SUBSCRIBE CHANNEL_COUNT"></a><br /><hr />
11382    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11383    <a name="rfc.section.8.5"></a><h3>8.5.&nbsp;
11384    Number of sampler channels changed</h3>
11385    
11386  <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
11387                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 6421  Intellectual Property and Copyright Stat Line 11407  Intellectual Property and Copyright Stat
11407  <p>where &lt;channels&gt; will be replaced by the new number  <p>where &lt;channels&gt; will be replaced by the new number
11408                  of sampler channels.                  of sampler channels.
11409  </p>  </p>
11410    <a name="SUBSCRIBE CHANNEL_MIDI"></a><br /><hr />
11411    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11412    <a name="rfc.section.8.6"></a><h3>8.6.&nbsp;
11413    MIDI data on a sampler channel arrived</h3>
11414    
11415    <p>Client may want to be notified when MIDI data arrive on sampler channels on
11416                    back-end side, by issuing the following command:
11417    </p>
11418    <p>
11419                        </p>
11420    <blockquote class="text">
11421    <p>SUBSCRIBE CHANNEL_MIDI
11422    </p>
11423    </blockquote><p>
11424                    
11425    </p>
11426    <p>Server will start sending one of the the following notification messages:
11427    </p>
11428    <p>
11429                        </p>
11430    <blockquote class="text">
11431    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_ON  &lt;note&gt; &lt;velocity&gt;"
11432    </p>
11433    <p>"NOTIFY:CHANNEL_MIDI:&lt;channel-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11434    </p>
11435    </blockquote><p>
11436                    
11437    </p>
11438    <p>where &lt;channel-id&gt; will be replaced by the ID of the sampler channel where the MIDI
11439                    data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11440                    0 .. 127, reflecting the analog meaning of the MIDI specification.
11441                    
11442    </p>
11443    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11444                    delivered by this mechanism! With other words: events could be lost at any time!
11445                    This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11446                    thread unaffected by this feature.
11447    </p>
11448    <a name="SUBSCRIBE DEVICE_MIDI"></a><br /><hr />
11449    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11450    <a name="rfc.section.8.7"></a><h3>8.7.&nbsp;
11451    MIDI data on a MIDI input device arrived</h3>
11452    
11453    <p>Client may want to be notified when MIDI data arrive on MIDI input devices by issuing the following command:
11454    </p>
11455    <p>
11456                                </p>
11457    <blockquote class="text">
11458    <p>SUBSCRIBE DEVICE_MIDI
11459    </p>
11460    </blockquote><p>
11461                        
11462    </p>
11463    <p>Server will start sending one of the the following notification messages:
11464    </p>
11465    <p>
11466                                </p>
11467    <blockquote class="text">
11468    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_ON &lt;note&gt; &lt;velocity&gt;"
11469    </p>
11470    <p>"NOTIFY:DEVICE_MIDI:&lt;device-id&gt; &lt;port-id&gt; NOTE_OFF &lt;note&gt; &lt;velocity&gt;"
11471    </p>
11472    </blockquote><p>
11473                        
11474    </p>
11475    <p>where &lt;device-id&gt; &lt;port-id&gt; will be replaced
11476                           by the IDs of the respective MIDI input device and the device's MIDI port where the MIDI
11477                           data arrived. &lt;note&gt; and &lt;velocity&gt; are integer values in the range between
11478                           0 .. 127, reflecting the analog meaning of the MIDI specification.
11479                        
11480    </p>
11481    <p>CAUTION: no guarantee whatsoever will be made that MIDI events are actually all
11482                           delivered by this mechanism! With other words: events could be lost at any time!
11483                           This restriction was made to keep the RT-safeness of the backend's MIDI and audio
11484                           thread unaffected by this feature.
11485    </p>
11486  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE VOICE_COUNT"></a><br /><hr />
11487  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11488  <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;
11489    Number of active voices changed</h3>
11490    
11491  <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
11492                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 6441  Intellectual Property and Copyright Stat Line 11504  Intellectual Property and Copyright Stat
11504  <p>  <p>
11505                      </p>                      </p>
11506  <blockquote class="text">  <blockquote class="text">
11507  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;  <p>"NOTIFY:VOICE_COUNT:&lt;sampler-channel&gt; &lt;voices&gt;"
11508  </p>  </p>
11509  </blockquote><p>  </blockquote><p>
11510                                    
# Line 6451  Intellectual Property and Copyright Stat Line 11514  Intellectual Property and Copyright Stat
11514                  active voices on that channel.                  active voices on that channel.
11515  </p>  </p>
11516  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />  <a name="SUBSCRIBE STREAM_COUNT"></a><br /><hr />
11517  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11518  <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;
11519    Number of active disk streams changed</h3>
11520    
11521  <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
11522                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT                  changes by issuing the following command: SUBSCRIBE STREAM_COUNT
# Line 6480  Intellectual Property and Copyright Stat Line 11544  Intellectual Property and Copyright Stat
11544                  active disk streams on that channel.                  active disk streams on that channel.
11545  </p>  </p>
11546  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />  <a name="SUBSCRIBE BUFFER_FILL"></a><br /><hr />
11547  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11548  <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;
11549    Disk stream buffer fill state changed</h3>
11550    
11551  <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
11552                  on the back-end changes by issuing the following command:                  on the back-end changes by issuing the following command:
# Line 6506  Intellectual Property and Copyright Stat Line 11571  Intellectual Property and Copyright Stat
11571  </p>  </p>
11572  <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
11573                  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
11574                  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>
11575                  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.
11576  </p>  </p>
11577  <a name="SUBSCRIBE INFO"></a><br /><hr />  <a name="SUBSCRIBE CHANNEL_INFO"></a><br /><hr />
11578  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11579  <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;
11580    Channel information changed</h3>
11581    
11582  <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
11583                  back-end by issuing the following command:                  back-end by issuing the following command:
# Line 6541  Intellectual Property and Copyright Stat Line 11607  Intellectual Property and Copyright Stat
11607                  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
11608                  message is sufficient here.                  message is sufficient here.
11609  </p>  </p>
11610    <a name="SUBSCRIBE FX_SEND_COUNT"></a><br /><hr />
11611    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11612    <a name="rfc.section.8.12"></a><h3>8.12.&nbsp;
11613    Number of effect sends changed</h3>
11614    
11615    <p>Client may want to be notified when the number of effect sends on
11616                    a particular sampler channel is changed by issuing the following command:
11617    </p>
11618    <p>
11619                        </p>
11620    <blockquote class="text">
11621    <p>SUBSCRIBE FX_SEND_COUNT
11622    </p>
11623    </blockquote><p>
11624                    
11625    </p>
11626    <p>Server will start sending the following notification messages:
11627    </p>
11628    <p>
11629                        </p>
11630    <blockquote class="text">
11631    <p>"NOTIFY:FX_SEND_COUNT:&lt;channel-id&gt; &lt;fx-sends&gt;"
11632    </p>
11633    </blockquote><p>
11634                    
11635    </p>
11636    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11637                    channel, on which the effect sends number is changed and &lt;fx-sends&gt; will
11638                    be replaced by the new number of effect sends on that channel.
11639    </p>
11640    <a name="SUBSCRIBE FX_SEND_INFO"></a><br /><hr />
11641    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11642    <a name="rfc.section.8.13"></a><h3>8.13.&nbsp;
11643    Effect send information changed</h3>
11644    
11645    <p>Client may want to be notified when changes were made to effect sends on a
11646                    a particular sampler channel by issuing the following command:
11647    </p>
11648    <p>
11649                        </p>
11650    <blockquote class="text">
11651    <p>SUBSCRIBE FX_SEND_INFO
11652    </p>
11653    </blockquote><p>
11654                    
11655    </p>
11656    <p>Server will start sending the following notification messages:
11657    </p>
11658    <p>
11659                        </p>
11660    <blockquote class="text">
11661    <p>"NOTIFY:FX_SEND_INFO:&lt;channel-id&gt; &lt;fx-send-id&gt;"
11662    </p>
11663    </blockquote><p>
11664                    
11665    </p>
11666    <p>where &lt;channel-id&gt; will be replaced by the numerical ID of the sampler
11667                    channel, on which an effect send entity is changed and &lt;fx-send-id&gt; will
11668                    be replaced by the numerical ID of the changed effect send.
11669    </p>
11670  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />  <a name="SUBSCRIBE TOTAL_VOICE_COUNT"></a><br /><hr />
11671  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11672  <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;
11673    Total number of active voices changed</h3>
11674    
11675  <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
11676                  back-end changes by issuing the following command:                  back-end changes by issuing the following command:
# Line 6561  Intellectual Property and Copyright Stat Line 11688  Intellectual Property and Copyright Stat
11688  <p>  <p>
11689                      </p>                      </p>
11690  <blockquote class="text">  <blockquote class="text">
11691  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;  <p>"NOTIFY:TOTAL_VOICE_COUNT:&lt;voices&gt;"
11692  </p>  </p>
11693  </blockquote><p>  </blockquote><p>
11694                                    
# Line 6569  Intellectual Property and Copyright Stat Line 11696  Intellectual Property and Copyright Stat
11696  <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
11697                  all currently active voices.                  all currently active voices.
11698  </p>  </p>
11699    <a name="SUBSCRIBE TOTAL_STREAM_COUNT"></a><br /><hr />
11700    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11701    <a name="rfc.section.8.15"></a><h3>8.15.&nbsp;
11702    Total number of active disk streams changed</h3>
11703    
11704    <p>Client may want to be notified when the total number of disk streams on the
11705                    back-end changes by issuing the following command:
11706    </p>
11707    <p>
11708                        </p>
11709    <blockquote class="text">
11710    <p>SUBSCRIBE TOTAL_STREAM_COUNT
11711    </p>
11712    </blockquote><p>
11713                    
11714    </p>
11715    <p>Server will start sending the following notification messages:
11716    </p>
11717    <p>
11718                        </p>
11719    <blockquote class="text">
11720    <p>"NOTIFY:TOTAL_STREAM_COUNT:&lt;streams&gt;"
11721    </p>
11722    </blockquote><p>
11723                    
11724    </p>
11725    <p>where &lt;streams&gt; will be replaced by the new number of
11726                    all currently active disk streams.
11727    </p>
11728    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT"></a><br /><hr />
11729    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11730    <a name="rfc.section.8.16"></a><h3>8.16.&nbsp;
11731    Number of MIDI instrument maps changed</h3>
11732    
11733    <p>Client may want to be notified when the number of MIDI instrument maps on the
11734                    back-end changes by issuing the following command:
11735    </p>
11736    <p>
11737                        </p>
11738    <blockquote class="text">
11739    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_COUNT
11740    </p>
11741    </blockquote><p>
11742                    
11743    </p>
11744    <p>Server will start sending the following notification messages:
11745    </p>
11746    <p>
11747                        </p>
11748    <blockquote class="text">
11749    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_COUNT:&lt;maps&gt;"
11750    </p>
11751    </blockquote><p>
11752                    
11753    </p>
11754    <p>where &lt;maps&gt; will be replaced by the new number
11755                    of MIDI instrument maps.
11756    </p>
11757    <a name="SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO"></a><br /><hr />
11758    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11759    <a name="rfc.section.8.17"></a><h3>8.17.&nbsp;
11760    MIDI instrument map information changed</h3>
11761    
11762    <p>Client may want to be notified when changes were made to MIDI instrument maps on the
11763                    back-end by issuing the following command:
11764    </p>
11765    <p>
11766                        </p>
11767    <blockquote class="text">
11768    <p>SUBSCRIBE MIDI_INSTRUMENT_MAP_INFO
11769    </p>
11770    </blockquote><p>
11771                    
11772    </p>
11773    <p>Server will start sending the following notification messages:
11774    </p>
11775    <p>
11776                        </p>
11777    <blockquote class="text">
11778    <p>"NOTIFY:MIDI_INSTRUMENT_MAP_INFO:&lt;map-id&gt;"
11779    </p>
11780    </blockquote><p>
11781                    
11782    </p>
11783    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11784                    for which information changes occurred. The front-end will have to send
11785                    the respective command to actually get the MIDI instrument map info. Because these messages
11786                    will be triggered by LSCP commands issued by other clients rather than real
11787                    time events happening on the server, it is believed that an empty notification
11788                    message is sufficient here.
11789    </p>
11790    <a name="SUBSCRIBE MIDI_INSTRUMENT_COUNT"></a><br /><hr />
11791    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11792    <a name="rfc.section.8.18"></a><h3>8.18.&nbsp;
11793    Number of MIDI instruments changed</h3>
11794    
11795    <p>Client may want to be notified when the number of MIDI instrument maps on the
11796                    back-end changes by issuing the following command:
11797    </p>
11798    <p>
11799                        </p>
11800    <blockquote class="text">
11801    <p>SUBSCRIBE MIDI_INSTRUMENT_COUNT
11802    </p>
11803    </blockquote><p>
11804                    
11805    </p>
11806    <p>Server will start sending the following notification messages:
11807    </p>
11808    <p>
11809                        </p>
11810    <blockquote class="text">
11811    <p>"NOTIFY:MIDI_INSTRUMENT_COUNT:&lt;map-id&gt; &lt;instruments&gt;"
11812    </p>
11813    </blockquote><p>
11814                    
11815    </p>
11816    <p>where &lt;map-id&gt; is the numerical ID of the MIDI instrument map, in which
11817                    the nuber of instruments has changed and &lt;instruments&gt; will be replaced by
11818                    the new number of MIDI instruments in the specified map.
11819    </p>
11820    <a name="SUBSCRIBE MIDI_INSTRUMENT_INFO"></a><br /><hr />
11821    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11822    <a name="rfc.section.8.19"></a><h3>8.19.&nbsp;
11823    MIDI instrument information changed</h3>
11824    
11825    <p>Client may want to be notified when changes were made to MIDI instruments on the
11826                    back-end by issuing the following command:
11827    </p>
11828    <p>
11829                        </p>
11830    <blockquote class="text">
11831    <p>SUBSCRIBE MIDI_INSTRUMENT_INFO
11832    </p>
11833    </blockquote><p>
11834                    
11835    </p>
11836    <p>Server will start sending the following notification messages:
11837    </p>
11838    <p>
11839                        </p>
11840    <blockquote class="text">
11841    <p>"NOTIFY:MIDI_INSTRUMENT_INFO:&lt;map-id&gt; &lt;bank&gt; &lt;program&gt;"
11842    </p>
11843    </blockquote><p>
11844                    
11845    </p>
11846    <p>where &lt;map-id&gt; will be replaced by the numerical ID of the MIDI instrument map,
11847                    in which a MIDI instrument is changed. &lt;bank&gt; and &lt;program&gt; specifies
11848                    the location of the changed MIDI instrument in the map. The front-end will have to send
11849                    the respective command to actually get the MIDI instrument info. Because these messages
11850                    will be triggered by LSCP commands issued by other clients rather than real
11851                    time events happening on the server, it is believed that an empty notification
11852                    message is sufficient here.
11853    </p>
11854    <a name="SUBSCRIBE GLOBAL_INFO"></a><br /><hr />
11855    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11856    <a name="rfc.section.8.20"></a><h3>8.20.&nbsp;
11857    Global settings changed</h3>
11858    
11859    <p>Client may want to be notified when changes to the global settings
11860                    of the sampler were made by issuing the following command:
11861    </p>
11862    <p>
11863                        </p>
11864    <blockquote class="text">
11865    <p>SUBSCRIBE GLOBAL_INFO
11866    </p>
11867    </blockquote><p>
11868                    
11869    </p>
11870    <p>Server will start sending the following types of notification messages:
11871    </p>
11872    <p>
11873                        </p>
11874    <blockquote class="text">
11875    <p>"NOTIFY:GLOBAL_INFO:VOLUME &lt;volume&gt;" - Notifies that the
11876                            golbal volume of the sampler is changed, where &lt;volume&gt; will be
11877                            replaced by the optional dotted floating point value, reflecting the
11878                            new global volume parameter.
11879    </p>
11880    </blockquote><p>
11881                        </p>
11882    <blockquote class="text">
11883    <p>"NOTIFY:GLOBAL_INFO:VOICES &lt;max-voices&gt;" - Notifies that the
11884                            golbal limit of the sampler for maximum voices is changed, where
11885                            &lt;max-voices&gt; will be an integer value, reflecting the
11886                            new global voice limit parameter.
11887    </p>
11888    </blockquote><p>
11889                        </p>
11890    <blockquote class="text">
11891    <p>"NOTIFY:GLOBAL_INFO:STREAMS &lt;max-streams&gt;" - Notifies that the
11892                            golbal limit of the sampler for maximum disk streams is changed, where
11893                            &lt;max-streams&gt; will be an integer value, reflecting the
11894                            new global disk streams limit parameter.
11895    </p>
11896    </blockquote><p>
11897                    
11898    </p>
11899    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT"></a><br /><hr />
11900    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11901    <a name="rfc.section.8.21"></a><h3>8.21.&nbsp;
11902    Number of database instrument directories changed</h3>
11903    
11904    <p>Client may want to be notified when the number of instrument
11905                    directories in a particular directory in the instruments database
11906                    is changed by issuing the following command:
11907    </p>
11908    <p>
11909                        </p>
11910    <blockquote class="text">
11911    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_COUNT
11912    </p>
11913    </blockquote><p>
11914                    
11915    </p>
11916    <p>Server will start sending the following notification messages:
11917    </p>
11918    <p>
11919                        </p>
11920    <blockquote class="text">
11921    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_COUNT:&lt;dir-path&gt;"
11922    </p>
11923    </blockquote><p>
11924                    
11925    </p>
11926    <p>where &lt;dir-path&gt; will be replaced by the absolute path
11927                    name of the directory in the instruments database,
11928                    in which the number of directories is changed.
11929    </p>
11930    <p>Note that when a non-empty directory is removed, this event
11931                    is not sent for the subdirectories in that directory.
11932    </p>
11933    <a name="SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO"></a><br /><hr />
11934    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11935    <a name="rfc.section.8.22"></a><h3>8.22.&nbsp;
11936    Database instrument directory information changed</h3>
11937    
11938    <p>Client may want to be notified when changes were made to directories
11939                    in the instruments database by issuing the following command:
11940    </p>
11941    <p>
11942                        </p>
11943    <blockquote class="text">
11944    <p>SUBSCRIBE DB_INSTRUMENT_DIRECTORY_INFO
11945    </p>
11946    </blockquote><p>
11947                    
11948    </p>
11949    <p>Server will start sending the following notification messages:
11950    </p>
11951    <p>
11952                        </p>
11953    <blockquote class="text">
11954    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:&lt;dir-path&gt;"
11955    </p>
11956    </blockquote><p>
11957                    
11958    </p>
11959    <p>where &lt;dir-path&gt; will be replaced by the absolute path name
11960                    of the directory, for which information changes occurred. The front-end will have to send
11961                    the respective command to actually get the updated directory info. Because these messages
11962                    will be triggered by LSCP commands issued by other clients rather than real
11963                    time events happening on the server, it is believed that an empty notification
11964                    message is sufficient here.
11965    </p>
11966    <p>
11967                        </p>
11968    <blockquote class="text">
11969    <p>"NOTIFY:DB_INSTRUMENT_DIRECTORY_INFO:NAME &lt;old-dir-path&gt; &lt;new-name&gt;"
11970    </p>
11971    </blockquote><p>
11972                    
11973    </p>
11974    <p>where &lt;old-dir-path&gt; is the old absolute path name of the directory
11975                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
11976                    the new name of the directory, encapsulated into apostrophes.
11977    </p>
11978    <a name="SUBSCRIBE DB_INSTRUMENT_COUNT"></a><br /><hr />
11979    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
11980    <a name="rfc.section.8.23"></a><h3>8.23.&nbsp;
11981    Number of database instruments changed</h3>
11982    
11983    <p>Client may want to be notified when the number of instruments
11984                    in a particular directory in the instruments database
11985                    is changed by issuing the following command:
11986    </p>
11987    <p>
11988                        </p>
11989    <blockquote class="text">
11990    <p>SUBSCRIBE DB_INSTRUMENT_COUNT
11991    </p>
11992    </blockquote><p>
11993                    
11994    </p>
11995    <p>Server will start sending the following notification messages:
11996    </p>
11997    <p>
11998                        </p>
11999    <blockquote class="text">
12000    <p>"NOTIFY:DB_INSTRUMENT_COUNT:&lt;dir-path&gt;"
12001    </p>
12002    </blockquote><p>
12003                    
12004    </p>
12005    <p>where &lt;dir-path&gt; will be replaced by the absolute path
12006                    name of the directory in the instruments database,
12007                    in which the number of instruments is changed.
12008    </p>
12009    <p>Note that when a non-empty directory is removed, this event
12010                    is not sent for the instruments in that directory.
12011    </p>
12012    <a name="SUBSCRIBE DB_INSTRUMENT_INFO"></a><br /><hr />
12013    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12014    <a name="rfc.section.8.24"></a><h3>8.24.&nbsp;
12015    Database instrument information changed</h3>
12016    
12017    <p>Client may want to be notified when changes were made to instruments
12018                    in the instruments database by issuing the following command:
12019    </p>
12020    <p>
12021                        </p>
12022    <blockquote class="text">
12023    <p>SUBSCRIBE DB_INSTRUMENT_INFO
12024    </p>
12025    </blockquote><p>
12026                    
12027    </p>
12028    <p>Server will start sending the following notification messages:
12029    </p>
12030    <p>
12031                        </p>
12032    <blockquote class="text">
12033    <p>"NOTIFY:DB_INSTRUMENT_INFO:&lt;instr-path&gt;"
12034    </p>
12035    </blockquote><p>
12036                    
12037    </p>
12038    <p>where &lt;instr-path&gt; will be replaced by the absolute path name
12039                    of the instrument, which settings are changed. The front-end will have to send
12040                    the respective command to actually get the updated directory info. Because these messages
12041                    will be triggered by LSCP commands issued by other clients rather than real
12042                    time events happening on the server, it is believed that an empty notification
12043                    message is sufficient here.
12044    </p>
12045    <p>
12046                        </p>
12047    <blockquote class="text">
12048    <p>"NOTIFY:DB_INSTRUMENT_INFO:NAME &lt;old-instr-path&gt; &lt;new-name&gt;"
12049    </p>
12050    </blockquote><p>
12051                    
12052    </p>
12053    <p>where &lt;old-instr-path&gt; is the old absolute path name of the instrument
12054                    (encapsulated into apostrophes), which name is changes and &lt;new-name&gt; is
12055                    the new name of the instrument, encapsulated into apostrophes.
12056    </p>
12057    <a name="SUBSCRIBE DB_INSTRUMENTS_JOB_INFO"></a><br /><hr />
12058    <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12059    <a name="rfc.section.8.25"></a><h3>8.25.&nbsp;
12060    Database job status information changed</h3>
12061    
12062    <p>Client may want to be notified when the status of particular database
12063                    instruments job is changed by issuing the following command:
12064    </p>
12065    <p>
12066                        </p>
12067    <blockquote class="text">
12068    <p>SUBSCRIBE DB_INSTRUMENTS_JOB_INFO
12069    </p>
12070    </blockquote><p>
12071                    
12072    </p>
12073    <p>Server will start sending the following notification messages:
12074    </p>
12075    <p>
12076                        </p>
12077    <blockquote class="text">
12078    <p>"NOTIFY:DB_INSTRUMENTS_JOB_INFO:&lt;job-id&gt;"
12079    </p>
12080    </blockquote><p>
12081                    
12082    </p>
12083    <p>where &lt;job-id&gt; will be replaced by the numerical ID of the job,
12084                    which status is changed. The front-end will have to send the respective
12085                    command to actually get the status info. Because these messages
12086                    will be triggered by LSCP commands issued by other clients rather than real
12087                    time events happening on the server, it is believed that an empty notification
12088                    message is sufficient here.
12089    </p>
12090  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />  <a name="SUBSCRIBE MISCELLANEOUS"></a><br /><hr />
12091  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12092  <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;
12093    Miscellaneous and debugging events</h3>
12094    
12095  <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
12096                  the server by issuing the following command:                  the server by issuing the following command:
# Line 6598  Intellectual Property and Copyright Stat Line 12117  Intellectual Property and Copyright Stat
12117                  wants to send to the client. Client MAY display this data to the                  wants to send to the client. Client MAY display this data to the
12118                  user AS IS to facilitate debugging.                  user AS IS to facilitate debugging.
12119  </p>  </p>
12120  <a name="anchor15"></a><br /><hr />  <a name="anchor14"></a><br /><hr />
12121  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12122  <a name="rfc.section.9"></a><h3>9.&nbsp;Security Considerations</h3>  <a name="rfc.section.9"></a><h3>9.&nbsp;
12123    Security Considerations</h3>
12124    
12125  <p>As there is so far no method of authentication and authorization  <p>As there is so far no method of authentication and authorization
12126              defined and so not required for a client applications to succeed to              defined and so not required for a client applications to succeed to
12127              connect, running LinuxSampler might be a security risk for the host              connect, running LinuxSampler might be a security risk for the host
12128              system the LinuxSampler instance is running on.              system the LinuxSampler instance is running on.
12129  </p>  </p>
12130  <a name="anchor16"></a><br /><hr />  <a name="anchor15"></a><br /><hr />
12131  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12132  <a name="rfc.section.10"></a><h3>10.&nbsp;Acknowledgments</h3>  <a name="rfc.section.10"></a><h3>10.&nbsp;
12133    Acknowledgments</h3>
12134    
12135  <p>This document has benefited greatly from the comments of the  <p>This document has benefited greatly from the comments of the
12136              following people, discussed on the LinuxSampler developer's mailing              following people, discussed on the LinuxSampler developer's mailing
# Line 6630  Intellectual Property and Copyright Stat Line 12151  Intellectual Property and Copyright Stat
12151                            
12152  </p>  </p>
12153  <a name="rfc.references1"></a><br /><hr />  <a name="rfc.references1"></a><br /><hr />
12154  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12155  <h3>11.&nbsp;References</h3>  <h3>11.&nbsp;References</h3>
12156  <table width="99%" border="0">  <table width="99%" border="0">
12157    <tr><td class="author-text" valign="top"><a name="RFC20">[RFC20]</a></td>
12158    <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>
12159  <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>
12160  <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>
12161  <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>
12162  <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>
12163  <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>
12164  <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>
12165  </table>  </table>
12166    
12167  <a name="rfc.authors"></a><br /><hr />  <a name="rfc.authors"></a><br /><hr />
12168  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table summary="layout" cellpadding="0" cellspacing="2" class="TOCbug" align="right"><tr><td class="TOCbug"><a href="#toc">&nbsp;TOC&nbsp;</a></td></tr></table>
12169  <h3>Author's Address</h3>  <h3>Author's Address</h3>
12170  <table width="99%" border="0" cellpadding="0" cellspacing="0">  <table width="99%" border="0" cellpadding="0" cellspacing="0">
12171  <tr><td class="author-text">&nbsp;</td>  <tr><td class="author-text">&nbsp;</td>
# Line 6660  Schoenebeck</td></tr> Line 12183  Schoenebeck</td></tr>
12183  <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>
12184  </table>  </table>
12185  <a name="rfc.copyright"></a><br /><hr />  <a name="rfc.copyright"></a><br /><hr />
12186  <table summary="layout" cellpadding="0" cellspacing="2" class="bug" align="right"><tr><td class="bug"><a href="#toc" class="link2">&nbsp;TOC&nbsp;</a></td></tr></table>  <table 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>  
12187  <h3>Full Copyright Statement</h3>  <h3>Full Copyright Statement</h3>
12188  <p class='copyright'>  <p class='copyright'>
12189  Copyright &copy; The Internet Society (2006). All Rights Reserved.</p>  Copyright &copy; The IETF Trust (2008).</p>
12190  <p class='copyright'>  <p class='copyright'>
12191  This document and translations of it may be copied and furnished to  This document is subject to the rights,
12192  others, and derivative works that comment on or otherwise explain it  licenses and restrictions contained in BCP&nbsp;78,
12193  or assist in its implementation may be prepared, copied, published and  and except as set forth therein,
12194  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>  
12195  <p class='copyright'>  <p class='copyright'>
12196  The limited permissions granted above are perpetual and will not be  This document and the information contained herein are provided
12197  revoked by the Internet Society or its successors or assignees.</p>  on an &ldquo;AS IS&rdquo; basis and THE CONTRIBUTOR,
12198    THE ORGANIZATION HE/SHE REPRESENTS
12199    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST
12200    AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
12201    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
12202    THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
12203    IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
12204    PURPOSE.</p>
12205    <h3>Intellectual Property</h3>
12206  <p class='copyright'>  <p class='copyright'>
12207  This document and the information contained herein is provided on an  The IETF takes no position regarding the validity or scope of any
12208  &ldquo;AS IS&rdquo; basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING  Intellectual Property Rights or other rights that might be claimed
12209  TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING  to pertain to the implementation or use of the technology
12210  BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION  described in this document or the extent to which any license
12211  HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF  under such rights might or might not be available; nor does it
12212  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.</p>  represent that it has made any independent effort to identify any
12213  <h3>Acknowledgment</h3>  such rights.
12214    Information on the procedures with respect to
12215    rights in RFC documents can be found in BCP&nbsp;78 and BCP&nbsp;79.</p>
12216    <p class='copyright'>
12217    Copies of IPR disclosures made to the IETF Secretariat and any
12218    assurances of licenses to be made available,
12219    or the result of an attempt made to obtain a general license or
12220    permission for the use of such proprietary rights by implementers or
12221    users of this specification can be obtained from the IETF on-line IPR
12222    repository at <a href='http://www.ietf.org/ipr'>http://www.ietf.org/ipr</a>.</p>
12223  <p class='copyright'>  <p class='copyright'>
12224  Funding for the RFC Editor function is currently provided by the  The IETF invites any interested party to bring to its attention
12225  Internet Society.</p>  any copyrights,
12226    patents or patent applications,
12227    or other
12228    proprietary rights that may cover technology that may be required
12229    to implement this standard.
12230    Please address the information to the IETF at <a href='mailto:ietf-ipr@ietf.org'>ietf-ipr@ietf.org</a>.</p>
12231  </body></html>  </body></html>
12232    

Legend:
Removed from v.945  
changed lines
  Added in v.1801

  ViewVC Help
Powered by ViewVC